]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
[grub2.git] / ChangeLog
1 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
4 falls on Q syndrom.
5
6 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
9 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
10
11 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
14 Allocate at lest 8192 for temporary buffer as required for lzo.
15
16 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
19 to cluster_bits, since it's already added in.
20 (grub_fat_read_data): Likewise.
21
22 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
25 as long as cluster size is multiple of 512 bytes.
26
27 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * util/grub-mkrescue.in: Fix locale directory.
30
31 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * grub-core/kern/emu/hostdisk.c (map): Make static.
34
35 2012-04-23 Bean <bean123ch@gmail.com>
36
37 * util/grub-fstest.c (fstest): Add missing break.
38
39 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
40
41 Fix hurd build.
42
43 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
44 not define nr variable.
45 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
46 find_root_devices_from_poolname, find_root_devices_from_libzfs,
47 grub_find_device): Do not define.
48
49 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
50
51 Fix kfreebsd compile and behaviour.
52
53 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
54 format-security.
55 * util/getroot.c: Fix wait.h include.
56 (grub_guess_root_devices): Error if grub_find_device fails.
57 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
58 (grub_util_get_dev_abstraction): Likewise.
59 (grub_util_pull_device): Likewise.
60 (grub_util_get_grub_dev): Likewise.
61 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
62
63 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
64
65 Fix and unify wholedisk detection.
66
67 * util/getroot.c (convert_system_partition_to_system_disk): New argument
68 is_part. All users updated.
69 (device_is_wholedisk): Removed.
70 (grub_util_biosdisk_get_grub_dev): Use is_part.
71
72 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
75 mode.
76
77 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * configure.ac: Bump to beta4.
80
81 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
84 --fs-uuid --set UUID syntax.
85
86 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
89 disunification.
90
91 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
94
95 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
96
97 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
98
99 2012-04-18 Mike Gilbert <floppym@gentoo.org>
100
101 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
102
103 2012-04-18 Bean <bean123ch@gmail.com>
104
105 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
106 place.
107
108 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
111 users updated.
112 (grub_util_biosdisk_read): Handle Linux partitions not exactly
113 corresponding to GRUB partitions.
114 (grub_util_biosdisk_write): Likewise.
115
116 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
117
118 Scan mdraid before LVM.
119
120 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
121 (grub_diskfilter_register_front): ... this.
122 (grub_diskfilter_register_back): New function.
123 All users of grub_diskfilter_register updated.
124
125 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * util/grub-install.in: Fix an automatic target detection bug.
128
129 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * util/grub-install.in: New option --efi-directory.
132
133 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
136 boot services if we have no other choice.
137
138 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * util/grub-mknetdir.in: Rename --override-directory to --directory and
141 document it.
142 * tests/util/grub-shell.in: Update to --directory.
143
144 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
147
148 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
151 (grub_minix_read_file): Likewise.
152 (grub_minix_read_inode): Likewise.
153 (grub_minix_find_file): Likewise.
154 (grub_minix_dir): Likewise.
155
156 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * util/grub-setup.c (setup): Fix partition handling and blocklist
159 check.
160
161 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
164 redundant buggy overlap check.
165
166 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
169 and grub-mknetdir.
170
171 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
174 kh.loadflags on pre-2.00 kernels.
175
176 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
177
178 Terminate UNDI and PXE before launching the payload to avoid problems
179 with DMA.
180
181 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
182 (grub_loader_flags): ... this. All users updated.
183 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
184 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
185 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
186 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
187 function.
188 (grub_pxe_restore): Likewise.
189 (fini_hnd): New var.
190 (GRUB_MOD_INIT): Register shutdown hook.
191 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
192 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
193 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
194 (grub_loader_set): Rename second argument to flags.
195
196 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
199 written bytes.
200 (grub_get_num_of_utf8_bytes): New function.
201 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
202 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
203 executing it.
204 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
205 (grub_ucs4_to_utf8): Change return type.
206
207 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
210 warning.
211 * grub-core/fs/bfs.c (hop_level): Likewise.
212 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
213
214 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * grub-core/lib/adler32.c: Recode due to license unclearness.
217
218 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
221 (test_header): Likewise.
222
223 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
224
225 Fix --help formatting.
226
227 * util/grub-mkconfig_lib.in (print_option_help): New function.
228 (grub_fmt): Likewise.
229 * util/grub-install.in: Use print_option_help and grub_fmt.
230 * util/grub-kbdcomp.in: Likewise.
231 * util/grub-mkconfig.in: Likewise.
232 * util/grub-mknetdir.in: Likewise.
233 * util/grub-mkrescue.in: Likewise.
234 * util/grub-mkstandalone.in: Likewise.
235 * util/grub-reboot.in: Likewise.
236 * util/grub-set-default.in: Likewise.
237 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
238
239 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * linguas.sh: Remove autogenerated *.po.
242
243 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * po/README: Move language fetcing to ...
246 * linguas.sh: ... here.
247 * po/README: Point to linguas.sh.
248
249 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * po/README: Exclude ko.po due to disclaimer problems.
252
253 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
256 len = 0.
257 (grub_gettext_translate_real): Handle 0th string.
258 (grub_gettext_translate): Ensure that "" isn't translated.
259
260 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
263 TRANSLATORS comment.
264 (grub_diskfilter_print_partmap): Propagate changing of error into
265 warning.
266
267 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
270 to uint64_t to prevent overflow.
271 (grub_diskfilter_lv): Increase start_extent and extent_count
272 to uint64_t to prevent overflow.
273
274 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * configure.ac: Increase version.
277
278 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
279
280 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
281
282 * po/Rules-translit: New file.
283 * po/arabic.sed: Likewise.
284 * po/cyrillic.sed: Likewise.
285 * po/greek.sed: Likewise.
286 * po/hebrew.sed: Likewise.
287 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
288 * po/Makefile.in.in: Add extra_dist4.
289
290 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
291
292 Handle big-endian minixfs (fixes minixfs tests on bigendian).
293
294 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
295 modify names. Introduce MODE_BIGENDIAN.
296 * grub-core/fs/minix_be.c: New file.
297 * grub-core/fs/minix2_be.c: Likewise
298 * grub-core/fs/minix3_be.c: Likewise.
299 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
300 minix3_be.
301 * grub-core/Makefile.core.def (minix_be): New module.
302 (minix2_be): Likewise.
303 (minix3_be): Likewise.
304
305 2012-04-01 Felix <email@hamburg.de>
306
307 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
308 (devs): Add MBP 2011.
309
310 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
313
314 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * grub-core/normal/cmdline.c (print_completion): New field
317 prompt_len.
318 (grub_cmdline_get): Handle width properly.
319
320 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/commands/lsacpi.c (options): Add missing terminator.
323
324 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
327 after 29th of February.
328
329 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
330
331 Fix exfat endianness handling.
332
333 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
334 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
335 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
336 Byte-swap utf16 when necessary.
337 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
338
339 2012-03-31 Anton Blanchard <anton@samba.org>
340 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
341
342 Fix btrfs endianness handling.
343
344 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
345 (lower_bound): Make root uint64_t. Use root in le.
346 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
347 (find_path): Fix template key init.
348 (grub_btrfs_dir): Fix mtime byteswap.
349 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
350
351 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
354 recursion_depth. Break infinite resursions. All users updated.
355
356 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
359 after free.
360 Reported by: Peter Jones.
361
362 2012-03-31 Anton Blanchard <anton@samba.org>
363
364 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
365 8 bit values.
366
367 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * util/grub-install.in: Fix nvram call for PreP.
370
371 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
374 the error when some elements are missing into a warning.
375
376 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
379
380 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
381
382 * docs/grub.texi (Invoking grub-probe): New section.
383 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
384
385 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
386
387 Fix tab and wide character handling in editor and menu.
388
389 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
390 agglomerate control characters with combining marks.
391 (bidi_line_wrap): Allow break on tab.
392 (grub_unicode_get_comb_start): New function.
393 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
394 and tab correctly.
395 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
396 with a space.
397 * grub-core/normal/term.c (print_ucs4_terminal): New argument
398 fixed_tab_size. All users updated.
399 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
400 (grub_term_getcharwidth): Handle \t.
401 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
402 and copy.
403
404 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
405
406 Handle big-endian mdraid.
407
408 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
409 * grub-core/Makefile.core.def (mdraid09_be): New module.
410 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
411 rather than grub_le_to_cpu* and grub_cpu_to_le*.
412 * grub-core/disk/mdraid_linux_be.c: New file.
413
414 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
417
418 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
421 missing quotes which caused confusion among translators.
422
423 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * util/grub-mkconfig_lib.in: Fix typo.
426
427 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
430 spaces.
431 * tests/grub_script_leading_whitespace.in: New file.
432 * Makefile.util.def (grub_script_leading_whitespace): New test.
433
434 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
437 to work.
438
439 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
442 starts with control character.
443
444 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
447 overflow.
448 (grub_gdb_outbuf): Likewise.
449
450 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
453 zero terminator. Fixes a crash.
454
455 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
458 beyond 4 GiB.
459 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
460 images independently of preffered adderss field.
461
462 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
465 * grub-core/commands/regexp.c: Likewise.
466 * grub-core/loader/i386/linux.c: Likewise.
467 * grub-core/partmap/msdos.c: Likewise.
468 * grub-core/script/execute.c: Likewise.
469 * grub-core/term/gfxterm.c: Likewise.
470
471 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
472
473 Add variable parsing in $"..." and fix several mismatches with bash.
474
475 * Makefile.util.def (grub_script_gettext): New test.
476 * grub-core/script/execute.c (parse_string): New function.
477 (gettext_append): Likewise.
478 (grub_script_arglist_to_argv): Use gettext_append.
479 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
480 * tests/grub_script_gettext.in: New file.
481
482 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
483
484 Fix handling of leading spaces in scripts.
485
486 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
487 spaces.
488 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
489 other than skipping \r. All users updated.
490 * tests/grub_script_echo1.in: Add space-related tests.
491 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
492
493 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
496
497 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * configure.ac: Bump up the version to beta2.
500
501 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
502
503 Fix gettext reload bugs (e.g. inability to disable gettext
504 once enabled).
505
506 * grub-core/gettext/gettext.c: Encapsulate all static variables in
507 main_context and secondary_context. All functions updated.
508 (grub_gettext_translate): Rename to ...
509 (grub_gettext_translate_real): ... this. Return NULL on failed
510 translate.
511 (grub_gettext_translate): Handle secondary context.
512 (grub_gettext_delete_list): Close file and zero-out the context.
513 (grub_mofile_open): Don't call grub_gettext_delete_list.
514 Don't close file.
515 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
516 if locale="" to avoid pointless error message.
517 (grub_gettext_env_write_lang): Update lang even if load fails.
518 Handle secondary context.
519 (grub_gettext_reread_prefix): New function.
520 (read_main): Likewise.
521 (read_secondary): Likewise.
522 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
523 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
524 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
525 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
526
527 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * configure.ac: Decrease warning level to avoid spurious warnings and
530 to be able to compile with GCC 4.2.
531 * Makefile.util.def: Remove -Wno-error=logical-op.
532
533 2012-03-10 William Bittner <william.bittner@gmail.com>
534
535 * util/import_unicode.py: Add missing brackets around string for
536 python 3 support.
537
538 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
539
540 Fix efi chainloader on network root.
541
542 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
543 network devices.
544 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
545 New function.
546
547 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
550 unused show_text member.
551 * docs/grub.texi: Document "text" property.
552
553 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
556 in dprintf.
557
558 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
559
560 Fix IMSM handling on Fedora.
561
562 * util/getroot.c (grub_util_is_imsm): New function.
563 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
564
565 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * Makefile.am: Strip gold section.
568 * conf/Makefile.common: Likewise.
569 * gentpl.py: Likewise.
570 * grub-core/Makefile.core.def: Likewise.
571 * grub-core/genmod.sh.in: Likewise.
572
573 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
576 * util/grub.d/20_linux_xen.in: Likewise.
577 Based on Debian patch.
578
579 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * util/grub.d/10_linux.in: Fix syntax error resulting in
582 Richard Laager's patch.
583 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
584
585 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
588 dependencies.
589
590 2012-03-10 Richard Laager <rlaager@wiktel.com>
591
592 * util/grub.d/10_linux.in: Fix ZFS root passing.
593
594 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
597 * grub-core/commands/xnu_uuid.c: Likewise.
598 * grub-core/loader/efi/appleloader.c: Likewise.
599 * grub-core/script/execute.c: Likewise.
600 * grub-core/script/main.c: Likewise.
601 * util/grub-mkfont.c: Likewise.
602
603 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * util/grub-mkfont.c (options): Use more appropriate "select" that
606 "set" for face index.
607
608 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * util/grub-editenv.c (options): Gettextize command summaries.
611
612 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
615 "out of memory" error messagge.
616
617 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
620 of diskfilter for diskfilter on diskfilter support.
621
622 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
625
626 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * util/grub-install.in: Check for themes/starfield/theme.txt and not
629 themes/starfield.
630
631 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
634
635 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
638
639 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
642 of error message.
643
644 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
647
648 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
651 message.
652 * util/grub-install.in: Fix and gettextize error message.
653
654 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
657 Gettextize.
658 * util/grub-mount.c (options): Likewise.
659
660 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
663 gettextize.
664 * grub-core/commands/search_wrap.c (options): Likewise.
665
666 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
667
668 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
669
670 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
673 size calculation.
674 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
675 none is known.
676
677 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
680 "temporary" since it's used in identifier and is limited in space.
681
682 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * po/POTFILES.in: Regenerate. Include *.h since they contain
685 translatable strings as well.
686
687 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
690 byte-swap on big-endian.
691 Reported by: Lennart Sorensen
692
693 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
696 (allocate_pages): Improve dprintf.
697 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
698 code32_start. Fill code32_start and kernel_alignment in params.
699 (grub_cmd_initrd): Use prot_init_space.
700
701 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
704
705 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * util/grub-install.in: Add missing dot at the end of sentence.
708
709 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
712 * grub-core/commands/videotest.c: Likewise.
713 * grub-core/loader/i386/linux.c: Likewise.
714
715 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
718 sentence.
719 Reported by: Milo Casagrande.
720
721 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
724 * grub-core/commands/gptsync.c: Likewise.
725 * grub-core/commands/hashsum.c: Likewise.
726 * grub-core/commands/i386/pc/sendkey.c: Likewise.
727 * grub-core/commands/legacycfg.c: Likewise.
728 * grub-core/io/gzio.c: Likewise.
729 * grub-core/net/net.c: Likewise.
730 * grub-core/term/gfxterm.c: Likewise.
731 * grub-core/term/terminfo.c: Likewise.
732 * grub-core/tests/test_blockarg.c: Likewise.
733 * grub-core/video/video.c: Likewise.
734 * util/grub-install.in: Likewise.
735 * util/grub-mkfont.c: Likewise.
736
737 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
740
741 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * grub-core/commands/search_wrap.c (options): Fix a typo.
744 Reported by: David Prévot.
745
746 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
749 description.
750
751 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * util/grub-script-check.c (main): Fix a syntax error message which was
754 unclear.
755
756 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
759
760 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
763 messages.
764
765 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
768 without argument.
769 * util/grub-mount.c (options): Likewise.
770
771 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
774
775 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * grub-core/net/http.c: Add TRANSLATORS comments.
778 * grub-core/normal/cmdline.c: Likewise.
779 * grub-core/normal/misc.c: Likewise.
780 * grub-core/partmap/msdos.c: Likewise.
781 * grub-core/parttool/msdospart.c: Likewise.
782 * grub-core/script/execute.c: Likewise.
783 * grub-core/script/main.c: Likewise.
784 * grub-core/term/terminfo.c: Likewise.
785 * grub-core/video/bitmap.c: Likewise.
786 * util/grub-install.in: Likewise.
787 * util/grub-mkimage.c: Likewise.
788 * util/grub-mklayout.c: Likewise.
789 * util/grub-setup.c: Likewise.
790
791 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
794 with similar messages in grub-fstest.
795
796 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * util/grub-install.in: Unify "option requires an argument" message
799 with similar messages in other files.
800 * util/grub-mkconfig.in: Likewise.
801
802 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * util/grub-set-default.in: Replace printf with gettext_printf (the
805 string in in question is already translated from grub-reboot)
806
807 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * configure.ac: Bump up the version to beta1.
810
811 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
814 case when min_align = 0.
815
816 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
819 and fix a case when line_start overflows.
820
821 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * util/grub-reboot.in (usage): Mention id posibility.
824 * util/grub-set-default.in (usage): Likewise.
825
826 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
829 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
830 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
831 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
832 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
833 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
834 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
835
836 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * grub-core/commands/menuentry.c (options): Remove
839 GRUB_ARG_OPTION_REPEATABLE.
840 Reported by: Andreas Vogel
841
842 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
843
844 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
845
846 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
847
848 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
849 error.
850
851 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
852
853 Use sort -V by the idea of Georgi Georgiev.
854
855 * util/grub-mkconfig_lib.in (version_sort): New function.
856 (version_test_numeric): Use version_sort.
857
858 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
859
860 Use submenus in grub-mkconfig.
861
862 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
863 * util/grub-mkconfig_lib.in (grub_quote): New function.
864 (gettext_printf): Use gettext and not gettext_quoted to fix several
865 messages.
866 * util/grub.d/10_hurd.in: Use submenus.
867 * util/grub.d/10_kfreebsd.in: Likewise.
868 * util/grub.d/10_linux.in: Likewise.
869 * util/grub.d/10_netbsd.in: Likewise.
870 * util/grub.d/20_linux_xen.in: Likewise.
871 * util/grub.d/30_os-prober.in: Likewise.
872 * util/grub.d/10_illumos.in: Add missing quoting.
873 * util/grub.d/10_windows.in: Likewise.
874
875 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
876
877 Fix menu title instability bug.
878
879 * grub-core/commands/menuentry.c (options): New option --id.
880 (grub_normal_add_menu_entry): New argument id. All users updated.
881 (grub_cmd_menuentry): Handle --id.
882 (grub_menu_init): Accept unknown arguments.
883 * grub-core/normal/main.c (features): Add feature_menuentry_id and
884 feature_menuentry_options.
885 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
886 saved_entry.
887 (get_entry_number): Match with id as well.
888 * include/grub/menu.h (grub_menu_entry): New member id.
889 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
890 * util/grub.d/00_header.in: Define menuentry_id_option.
891 * util/grub.d/10_hurd.in: Define id.
892 * util/grub.d/10_illumos.in: Likewise.
893 * util/grub.d/10_kfreebsd.in: Likewise.
894 * util/grub.d/10_linux.in: Likewise.
895 * util/grub.d/10_netbsd.in: Likewise.
896 * util/grub.d/10_windows.in: Likewise.
897 * util/grub.d/20_linux_xen.in: Likewise.
898 * util/grub.d/30_os-prober.in: Likewise.
899
900 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
903 "scope" with "body".
904
905 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
908 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
909 prot_size and prot_file_size.
910
911 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
914 All users updated. If easily=1 require raid-5/-6 to be full.
915 (is_node_readable): Likewise.
916 (scan_devices): Scan incomplete but readable LVs at the end.
917 (grub_diskfilter_memberlist): Pull missing devices.
918 (insert_array): Skip scanning until device is complete or scan is
919 done otherwise.
920 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
921 check.
922 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
923 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
924
925 2012-03-03 Matthew Garrett <mjg@redhat.com>
926 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
927
928 Avoid EFI boot services when loading Linux.
929
930 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
931 avoid_efi_bootservices. All users updated.
932 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
933 argument avoid_efi_bootservices. All users updated.
934 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
935 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
936 align, min_align, relocatable, prefered_address. All users updated.
937 Allocate avoiding boot services if kernel is relocatable.
938 (grub_cmd_linux): Check if kernel is relocatable.
939 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
940 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
941 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
942 avoid_efi_boot_services.
943 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
944 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
945 (linux_kernel_params): Likewise.
946
947 2012-03-03 Matthew Garrett <mjg@redhat.com>
948 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
949
950 Use EDID on EFI.
951
952 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
953 datasize_out.
954 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
955 modes. Set gop_handle.
956 (grub_video_gop_get_edid): New function.
957 (grub_gop_get_preferred_mode): Likewise.
958 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
959 (grub_video_efi_gop_adapter): Set .get_edid.
960 * include/grub/efi/edid.h: New file.
961 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
962
963 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * util/grub-install.in: Load efivars unconditionally.
966
967 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * po/Rules-piglatin: Change suffix from .po-update-en to
970 .po-update-en-piglatin.
971
972 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
973
974 Add a pig farm.
975
976 * po/piglatin.sed: New file.
977 * po/en@piglatin.header: Likewise.
978 * po/Rules-piglatin: Likewise.
979 * po/README: Add en@piglatin to autogenerated languages.
980
981 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
984 "Command for ...".
985 * grub-core/commands/hdparm.c (options): Use "Display" rather than
986 "Check" since we don't check anything.
987 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
988 is 64-bit one.
989 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
990 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
991 (grub_md_sha512_real): Likewise.
992
993 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/commands/gptsync.c: Fix typographic quoting.
996 * grub-core/commands/ieee1275/suspend.c: Likewise.
997 * grub-core/commands/parttool.c: Likewise.
998 * grub-core/commands/search_wrap.c: Likewise.
999 * grub-core/commands/videoinfo.c: Likewise.
1000 * grub-core/gfxmenu/gui_label.c: Likewise.
1001 * grub-core/hello/hello.c: Likewise.
1002 * grub-core/kern/emu/main.c: Likewise.
1003 * grub-core/net/net.c: Likewise.
1004 * grub-core/normal/menu.c: Likewise.
1005 * grub-core/normal/menu_text.c: Likewise.
1006 * grub-core/normal/misc.c: Likewise.
1007 * util/grub-editenv.c: Likewise.
1008 * util/grub-install.in: Likewise.
1009 * util/grub-kbdcomp.in: Likewise.
1010 * util/grub-mkconfig.in: Likewise.
1011 * util/grub-mknetdir.in: Likewise.
1012 * util/grub-mkrescue.in: Likewise.
1013 * util/grub-mkstandalone.in: Likewise.
1014 * util/grub-reboot.in: Likewise.
1015 * util/grub-set-default.in: Likewise.
1016 * util/grub-setup.c: Likewise.
1017 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1018
1019 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
1022 * grub-core/commands/keystatus.c: Likewise.
1023 * grub-core/commands/loadenv.c: Likewise.
1024 * grub-core/commands/probe.c: Likewise.
1025 * grub-core/commands/regexp.c: Likewise.
1026 * grub-core/commands/true.c: Likewise.
1027 * grub-core/commands/videoinfo.c: Likewise.
1028 * grub-core/disk/cryptodisk.c: Likewise.
1029 * grub-core/disk/ldm.c: Likewise.
1030 * grub-core/disk/loopback.c: Likewise.
1031 * grub-core/disk/luks.c: Likewise.
1032 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1033 * grub-core/kern/disk.c: Likewise.
1034 * grub-core/kern/emu/hostdisk.c: Likewise.
1035
1036 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
1039 * util/grub-install.in: Add missing quote in the comment.
1040
1041 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
1044 * grub-core/commands/lsmmap.c: Likewise.
1045 * grub-core/commands/minicmd.c: Likewise.
1046 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1047 * grub-core/commands/regexp.c: Likewise.
1048 * grub-core/gdb/gdb.c: Likewise.
1049 * grub-core/term/gfxterm.c: Likewise.
1050 * util/grub-mkconfig.in: Likewise.
1051 * util/grub-mkfont.c: Likewise.
1052 * util/grub-mklayout.c: Likewise.
1053 * util/grub-mknetdir.in: Likewise.
1054 * util/grub-mkrescue.in: Likewise.
1055 * util/grub.d/30_os-prober.in: Likewise.
1056
1057 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
1060 with "Direct color" and "Packed" with "Packed pixel".
1061 (grub_cmd_videoinfo): Simplify legend.
1062
1063 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1066 absolutely unclear error message.
1067
1068 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * util/grub-mkstandalone.in: Remove confusing leftover print.
1071
1072 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
1075 comments.
1076 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
1077 (GRUB_MOD_INIT): Likewise.
1078 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
1079 VGA mode.
1080 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
1081 comments.
1082 * util/grub-install.in (usage): Likewise.
1083 Spell ID in whole letters.
1084 Add missing ending dot.
1085 Quote variables.
1086 * util/grub-reboot.in: Fix capitalisation.
1087 * util/grub-set-default.in: Likewise.
1088
1089 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
1092 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
1093 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
1094 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
1095 Disable -Werror for -Wdeprecated-declarations.
1096 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
1097 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
1098 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
1099 (grub_util_get_grub_dev): Make luks handling dependent on
1100 HAVE_DEVICE_MAPPER and not __linux__.
1101 (get_win32_path): Fix format security.
1102 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
1103 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
1104 Don't try grub_find_zpool_from_dir.
1105 (grub_make_system_path_relative_to_its_root) [!__linux__]:
1106 #ifdef-out paresdir.
1107
1108 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * util/grub-pe2elf.c (usage): Add missing noreturn.
1111 (write_section_data): Rename name to shname to avoid shadowing.
1112 (write_symbol_table): Rename name to symname to avoid shadowing.
1113 Fix write_reloc_section call.
1114
1115 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
1118 to ensure that it's after the last byte of .text.
1119
1120 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * util/ieee1275/ofpath.c (my_isdigit): New function.
1123 (trailing_digits): Use my_isdigit.
1124 (strip_trailing_digits): Likewise.
1125
1126 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
1129 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
1130
1131 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * grub-core/kern/i386/pc/startup.S: Define __start.
1134
1135 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
1138 strip already transforms he format.
1139
1140 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
1143
1144 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * util/grub-install.in: Add missing gettext init.
1147 * util/grub-kbdcomp.in: Likewise.
1148 * util/grub-mkconfig.in: Likewise.
1149 * util/grub-mknetdir.in: Likewise.
1150 * util/grub-mkrescue.in: Likewise.
1151 * util/grub-mkstandalone.in: Likewise.
1152 * util/grub-reboot.in: Likewise.
1153 * util/grub-set-default.in: Likewise.
1154 * util/grub.d/00_header.in: Likewise.
1155 * util/grub.d/10_hurd.in: Likewise.
1156 * util/grub.d/10_windows.in: Likewise.
1157 * util/grub.d/30_os-prober.in: Likewise.
1158 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1159
1160 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * po/Rules-swiss: Fix header comment.
1163
1164 2012-02-29 Andreas Vogel <anvoit>
1165
1166 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
1167 resulted in leak of arguments.
1168
1169 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * grub-core/boot/i386/pc/startup_raw.S: Use separate
1172 reed_solomon_size const definition instead of computing it since
1173 Apple assembler doesn't support the later.
1174
1175 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * gentpl.py (kernel): Rewrite Apple part.
1178
1179 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * include/grub/kernel.h (FOR_MODULES): Check module magic.
1182
1183 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * util/grub-mkimagexx.c (locate_sections): Support non-standard
1186 ELF section gap.
1187 (load_image): Likewise.
1188
1189 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * configure.ac: Fix a typo in previous commit.
1192
1193 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 Don't add -Wl,-N on Apple platform.
1196
1197 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
1198 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
1199
1200 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * grub-core/Makefile.core.def (lzma_decompress): Use
1203 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
1204
1205 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * grub-core/genmod.sh.in: Rewrite the Apple part.
1208
1209 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
1212 comparison.
1213
1214 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * acinclude.m4 (grub_CHECK_PIC): New test.
1217 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
1218
1219 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
1222 to avoid the warning.
1223
1224 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
1227 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
1228 after. All users updated.
1229
1230 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 Use the common size routine in hostfs so we can read disks as well.
1233
1234 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
1235 (grub_util_get_fd_size): ... this. Return size in bytes.
1236 All users updated.
1237 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
1238 grub_util_get_fd_size.
1239
1240 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
1243 Add blocksize retrieval.
1244
1245 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * configure.ac: Restore CFLAGS after efiemu check.
1248
1249 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
1252 Apple bug.
1253
1254 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
1257
1258 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
1261 (grub_cmd_halt): Likewise.
1262
1263 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
1266 for local arithmetics.
1267 Break %sp init into 2 instructions.
1268 Add 0 byte at the end.
1269
1270 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/disk/diskfilter.c (read_segment): Initialise err
1273 before loops.
1274
1275 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
1278 for context.
1279
1280 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * grub-core/disk/ldm.c (make_vg): Init part.name.
1283 (grub_ldm_detect): Silence spurious warning.
1284 (grub_util_is_ldm): Likewise.
1285
1286 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
1289 sane value to avoid a spurious warning.
1290
1291 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
1294 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
1295
1296 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
1299 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
1300
1301 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
1304 hardcoding the relevant info.
1305
1306 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
1309 missing const qualifiers.
1310 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
1311
1312 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * util/getroot.c [__APPLE__]: Add missing includes.
1315 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
1316
1317 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * util/grub-mkimage.c (generate_image): Silence spurious warning.
1320
1321 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
1324 avoid conflicts.
1325
1326 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
1329
1330 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
1333 and grub_file_close call.
1334
1335 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 Add LZSS Mach-O support (needed for new xnu kernelcache).
1338
1339 * grub-core/Makefile.core.def (xnu): Add file lzss.c
1340 * grub-core/loader/lzss.c: New file.
1341 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
1342 on Mach-O open failure.
1343 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
1344 Don't free cmdsXX in uncompressedXX is set.
1345 (grub_macho_file): Init new fields.
1346 New argument is_64bit. All users updated.
1347 Handle compressed. Error out if no suitable architecture is found.
1348 Don't close file.
1349 (grub_macho_open): New argument is_64bit. All users updated.
1350 * grub-core/loader/macho32.c: Add defines for new fields.
1351 * grub-core/loader/macho64.c: Likewise.
1352 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
1353 (grub_macho_parse): Handle compressed.
1354 Defer actual processing if compressed.
1355 (grub_macho_cmds_iterate): Decompress if compressed. New argument
1356 "filename". All users updated.
1357 (grub_macho_size): New argument "filename". All users updated.
1358 (grub_macho_get_entry_point): Likewise.
1359 (grub_macho_load): Handle compressed.
1360 * include/grub/macho.h (grub_macho_lzss_header): New struct.
1361 (GRUB_MACHO_LZSS_OFFSET): New define.
1362 (grub_decompress_lzss): New proto.
1363 * include/grub/machoload.h (grub_macho_file): New fields to handle
1364 compressed.
1365 (grub_macho_contains_macho64): Remove proto.
1366 (grub_macho_contains_macho32): Likewise.
1367 * util/grub.d/30_os-prober.in: Use kernel cache if available.
1368
1369 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
1372
1373 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 Fix make dist.
1376
1377 * Makefile.am (starfield_theme_files): New var.
1378 (starfield_DATA): Use starfield_theme_files.
1379 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
1380 Add bootcheck-related files.
1381 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
1382 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
1383 and font_char_metrics.txt.
1384 * grub-core/Makefile.core.def (kernel): Update extra_dist.
1385 (setjmp): Add lib/ia64/longjmp.S.
1386 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
1387 * po/POTFILES.in: Regenerate.
1388 * po/Rules-swiss: use DISTFILES.common.extra2 and not
1389 DISTFILES.common.extra1.
1390 * util/devicemap.c: Removed.
1391 * grub-core/lib/i386/relocator_backward.S: Likewise.
1392 * util/import_gcry.py: Remove unused files. Add extra_dist for
1393 ChangeLog.
1394
1395 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * grub-core/gettext/gettext.c (grub_mofile_open): Call
1398 grub_gettext_delete_list before changing grub_gettext_max to avoid
1399 running out of array bounds.
1400
1401 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
1404 grub_vga_text_init/grub_vga_text_fini.
1405
1406 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
1409
1410 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * configure.ac: Bump to 2.00~beta0.
1413
1414 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
1417 missing initialisation.
1418
1419 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
1422
1423 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 Support v2 xnu boot arguments.
1426
1427 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
1428 New argument fsbfreq_out.
1429 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
1430 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
1431 be used.
1432 * grub-core/loader/machoXX.c (grub_macho_load): New argument
1433 darwin_version.
1434 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
1435 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
1436 (grub_xnu_boot_params): Rename to ...
1437 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
1438 (grub_xnu_boot_params_v2): New struct.
1439
1440 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
1443 zeroing of CRC field before computing CRC.
1444
1445 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
1448 Change order of allocations to decrease fragmentation.
1449
1450 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
1453
1454 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
1455
1456 Use write-combining MTRR to speed up video with buggy BIOSes.
1457
1458 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
1459 (cpuid): New define.
1460 (rdmsr): Likewise.
1461 (wrmsr): Likewise.
1462 (mtrr_base): Likewise.
1463 (mtrr_mask): Likewise.
1464 (grub_vbe_enable_mtrr_entry): New function.
1465 (grub_vbe_enable_mtrr): Likewise.
1466 (grub_vbe_disable_mtrr): Likewise.
1467 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
1468 control off to BIOS.
1469 (grub_video_vbe_init): Fill mtrr.
1470 (grub_video_vbe_fini): Disable mtrr.
1471 (grub_video_vbe_get_info_and_fini): Likewise.
1472 (grub_video_vbe_setup): Enable mtrr.
1473
1474 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
1475
1476 * include/grub/partition.h (grub_partition_map): Change prototype of
1477 embed to take a maximum value for nsectors.
1478 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
1479 * include/grub/fs.h (grub_fs): Likewise.
1480 * grub-core/partmap/msdos.c (embed_signatures): New array.
1481 (pc_partition_map_embed): Check for and avoid sectors matching any
1482 of the signatures in embed_signatures, up to max_nsectors.
1483 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
1484 returned sector map to max_nsectors.
1485 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
1486 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
1487 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
1488 * util/grub-setup.c (setup): Allow for the embedding area being
1489 split into multiple blocklists. Tell dest_partmap->embed the
1490 maximum number of sectors we care about.
1491
1492 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
1495 Specify blocklist_install and reserver_first_sector for all fs.
1496 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1497 blocklists.
1498
1499 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * util/grub-install.in: Clarify strings.
1502 Fix source dir check.
1503
1504 2012-02-27 Richard Laager <rlaager@wiktel.com>
1505
1506 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1507 "zfs" and "fuse.zfs" as synonyms.
1508
1509 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * configure.ac: Put platform and target_cpu substitutions back since
1512 they are used for directories.
1513
1514 2012-02-27 Richard Laager <rlaager@wiktel.com>
1515 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1518 * util/grub.d/20_linux_xen.in: Likewise.
1519
1520 2012-02-27 Richard Laager <rlaager@wiktel.com>
1521
1522 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1523 with full paths.
1524
1525 2012-02-27 Richard Laager <rlaager@wiktel.com>
1526
1527 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1528 unescape.
1529
1530 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 Don't use insecure popen in getroot.
1533
1534 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1535 (exec_pipe): ... here.
1536 (find_root_devices_from_poolname): Use exec_pipe.
1537
1538 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 Remove platform and target_cpu replacement.
1541
1542 * configure.ac: Remove platform and target_cpu substitutions.
1543 * tests/util/grub-shell.in: Use modinfo.
1544 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1545 explicitly.
1546
1547 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 Autodetect platform in grub-install but allow override.
1550
1551 * util/grub-install.in: Autodetect platform. Support --target and
1552 --directory. Read platform from modinfo.sh.
1553
1554 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 Support btrfs multi-volume probe.
1557
1558 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1559 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1560 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1561 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1562 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1563 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1564 grub_find_root_devices_from_btrfs if on btrfs.
1565
1566 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 Remove any awareness of *.c util files about target.
1569
1570 * Makefile.util.def (grub-setup): Split to ...
1571 (grub-bios-setup): ... and this.
1572 (grub-sparc64-setup): ... and this.
1573 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1574 * docs/man/grub-setup.h2m: Split into ...
1575 * docs/man/grub-sparc64-setup.h2m: ... this.
1576 * docs/man/grub-bios-setup.h2m: ... and this.
1577 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1578 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1579 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1580 (grub_target_addr_t): Remove.
1581 (grub_target_size_t): Remove.
1582 (grub_target_ssize_t): Remove.
1583 * util/grub-install.in: Use new grub-*-setup.
1584 * util/grub-mkimagexx.c (Elf_Word): New define.
1585 (Elf_Half): Likewise.
1586 (Elf_Section): Likewise.
1587 (ELF_ST_TYPE): Likewise.
1588 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1589 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1590
1591 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 Replace grub_target_addr with more appropriate types.
1594
1595 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1596 grub_target_addr with grub_addr.
1597 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1598 grub_target_addr with grub_port.
1599 (grub_cmd_write): Likewise.
1600 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1601 grub_target_addr with grub_addr.
1602 (grub_cmd_write): Likewise.
1603 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1604
1605 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1608 const qualifier for vendor_guid.
1609
1610 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1613 const qualifier.
1614 (efiemu_memequal): Likewise.
1615 (find_variable): Likewise.
1616
1617 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 Fix missing console prototype on qemu-mips.
1620
1621 * include/grub/mips/qemu_mips/console.h: New file.
1622
1623 2012-02-27 Matthew Garrett <mjg@redhat.com>
1624 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1627 * include/grub/efi/efi.h: Likewise.
1628 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1629 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1630 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1631 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1632 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1633 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1634
1635 2012-02-27 Matthew Garrett <mjg@redhat.com>
1636
1637 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1638
1639 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1642 error.
1643
1644 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * configure.ac: Remove inappropriate use of program_transform_name
1647 on grubdir and bootdir but allow explicit specification of those
1648 variables.
1649
1650 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * util/grub-mknetdir.in (grub_prefix): Removed.
1653 (subdir): Use @bootdirname@ and @grubdirname@.
1654
1655 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1658
1659 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 * po/POTFILES.in: Regenerated.
1662
1663 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 Remove improper use of program_transform_name on pkglibrootdir.
1666
1667 * configure.ac (pkglibrootdir): Removed.
1668 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
1669 * util/grub-mkimage.c: Likewise.
1670
1671 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
1674 warning.
1675
1676 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * util/grub-install.in: Use file identifier if no UUID is available
1679 or user explicitly prompted for it.
1680
1681 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
1682
1683 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
1684 (freebsd_get_zfs): New function.
1685 (grub_freebsd_boot): Pass zfs UUID.
1686 (grub_cmd_freebsd): Set zfs UUID.
1687
1688 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * conf/Makefile.common (platformdir): Base on pkglibdir and not
1691 pkglibrootdir.
1692
1693 2012-02-27 Mike Gilbert <floppym@gentoo.org>
1694
1695 Add configure flag to control libzfs integration.
1696
1697 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
1698
1699 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
1702 device.
1703 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
1704 small devices.
1705
1706 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 Remove grub_{modname}_init and grub_{modname}_fini. They should never
1709 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
1710 be used on non-modules.
1711
1712 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
1713 Rename to grub_boot_init.
1714 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
1715 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
1716 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
1717 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
1718 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
1719 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
1720 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
1721 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
1722 includes.
1723 (grub_machine_init): Remove empty inits.
1724 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
1725 includes.
1726 (grub_machine_init): Remove empty inits.
1727 * grub-core/term/arc/console.c: Remove explicit proto.
1728 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
1729 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
1730 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1731 grub_at_keyboard_fini.
1732 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
1733 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
1734 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1735 grub_gfxterm_fini.
1736 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
1737 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
1738 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1739 grub_vgatext_fini.
1740 * grub-core/term/ieee1275/console.c: Remove explicit proto.
1741 * grub-core/term/serial.c (GRUB_MOD_INIT)
1742 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
1743 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1744 grub_serial_fini.
1745 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
1746 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
1747 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1748 grub_terminfo_fini.
1749 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1750 (GRUB_MOD_FINI): Likewise.
1751 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1752 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1753 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1754 grub_video_radeon_fuloong2e_fini.
1755 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1756 [LOONGSON]: Rename to grub_video_sis315pro_init.
1757 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1758 grub_video_sis315pro_fini.
1759 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1760 [LOONGSON]: Rename to grub_video_sm712_init.
1761 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1762 grub_video_sm712_fini.
1763 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1764 (grub_at_keyboard_fini): Likewise.
1765 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1766 Don't declare grub_{modname}_init.
1767 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1768 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1769 New proto.
1770 (grub_keylayouts_fini) [!EMU]: Likewise.
1771 * include/grub/serial.h (grub_serial_init) [!EMU]:
1772 New proto.
1773 (grub_serial_fini) [!EMU]: Likewise.
1774 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1775 New proto.
1776 (grub_terminfo_fini) [!EMU]: Likewise.
1777 * include/grub/video.h (grub_font_init) [!EMU]:
1778 New proto.
1779 (grub_font_fini) [!EMU]: Likewise.
1780 (grub_gfxterm_init) [!EMU]: Likewise.
1781 (grub_gfxterm_fini) [!EMU]: Likewise.
1782 (grub_video_sm712_init) [!EMU]: Likewise.
1783 (grub_video_sm712_fini) [!EMU]: Likewise.
1784 (grub_video_sis315pro_init) [!EMU]: Likewise.
1785 (grub_video_sis315pro_fini) [!EMU]: Likewise.
1786 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
1787 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
1788
1789 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 Make nand a prefix for nand devices.
1792
1793 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
1794
1795 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
1798 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
1799
1800 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * include/grub/env.h (grub_env_find): Remove prototype.
1803 * grub-core/kern/env.c (grub_env_find): Make static.
1804 (grub_env_set): Remove useless set.
1805
1806 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * grub-core/kern/i386/realmode.S: Remove useless align.
1809
1810 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * include/grub/dl.h (grub_dl_load_file): Don't export.
1813
1814 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
1817 grub_dprintf.
1818
1819 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
1822 grub_errors.
1823 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
1824 not reloading whole superblock but only the part which is really needed.
1825 Remove useless grub_errors.
1826 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
1827 grub_errors.
1828
1829 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 Don't export grub_get_rtc.
1832
1833 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
1834 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
1835
1836 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
1839
1840 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
1843 argument since it can be deduced from diskfilter. All users updated.
1844
1845 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 Remove prio_list.
1848
1849 * include/grub/list.h (grub_prio_list): Removed.
1850 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
1851 GRUB_COMMAND_PRIO_MASK.
1852 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
1853 GRUB_COMMAND_FLAG_ACTIVE.
1854 (grub_prio_list_insert): Removed.
1855 (grub_prio_list_remove): Likewise.
1856 (GRUB_AS_PRIO_LIST): Likewise.
1857 (GRUB_AS_PRIO_LIST_P): Likewise.
1858 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
1859 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
1860 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
1861 * grub-core/kern/command.c (grub_register_command_prio): Inline
1862 the prio_list code.
1863 (grub_unregister_command): Likewise.
1864
1865 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 Fix interrupt mixup from previous commit.
1868
1869 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
1870 (grub_realidt): New var.
1871 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
1872 Load idt.
1873 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
1874 New declaration.
1875 (grub_relocator16_boot): Set grub_relocator16_idt.
1876 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
1877 (LOCAL(realidt)): ... this.
1878 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
1879 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
1880 (grub_realidt): New variable.
1881
1882 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
1885 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
1886 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
1887 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
1888 Gettextize.
1889 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
1890 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
1891 * po/POTFILES.in: Regenerate.
1892
1893 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
1896 errors.
1897
1898 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
1901 \0.
1902 (add_length): Likewise.
1903
1904 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1905 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
1906
1907 GDB serial and backtrace support.
1908
1909 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
1910 (prot_to_real): Likewise.
1911 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
1912 * grub-core/Makefile.core.def (backtrace): New module.
1913 (gdb): Likewise.
1914 * grub-core/gdb/cstub.c: New file.
1915 * grub-core/gdb/gdb.c: Likewise.
1916 * grub-core/gdb/i386/idt.c: Likewise.
1917 * grub-core/gdb/i386/machdep.S: Likewise.
1918 * grub-core/gdb/i386/signal.c: Likewise.
1919 * grub-core/lib/i386/backtrace.c: Likewise.
1920 * grub-core/lib/backtrace.c: Likewise.
1921 * include/grub/backtrace.h: Likewise.
1922 * include/grub/gdb.h: Likewise.
1923 * include/grub/i386/gdb.h: Likewise.
1924
1925 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
1928 New function.
1929 (add_length): Likewise.
1930 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
1931 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
1932 proto.
1933 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
1934 __argp_get_display_len.
1935
1936 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 $"..." support in scripts.
1939
1940 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
1941 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
1942 * grub-core/script/yylex.l: Likewise.
1943 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
1944 value.
1945
1946 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 * gentpl.py: Remove obsolete pkglib_DATA handling.
1949
1950 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 Don't transform PACKAGE_TARNAME following a discussion on autoconf
1953 mailing list.
1954
1955 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
1956 * util/grub-kbdcomp.in: Likewise.
1957 * util/grub-mkconfig.in: Likewise.
1958 * util/grub-mkconfig_lib.in: Likewise.
1959 * util/grub-mknetdir.in: Likewise.
1960 * util/grub-mkrescue.in: Likewise.
1961 * util/grub-mkstandalone.in: Likewise.
1962 * util/grub-reboot.in: Likewise.
1963 * util/grub-set-default.in: Likewise.
1964 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1965
1966 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 Remove GRUB_PREFIX.
1969
1970 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
1971 * util/grub.d/00_header.in: Compute prefix in the only place it's still
1972 used for backward compatibility.
1973
1974 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 Add new all_video module.
1977
1978 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
1979 * grub-core/Makefile.core.def (all_video): New module.
1980 * grub-core/genmoddep.awk: Generate dependency of all_video from
1981 video.lst.
1982 * grub-core/lib/fake_module.c: New file.
1983 * grub-core/normal/main.c (features): Add feature_all_video_module.
1984 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
1985 don't do explicit search again.
1986 insmod all_video in load_video if available.
1987
1988 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 Another round of string clarification and adding TRANSLATORS comments.
1991
1992 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
1995
1996 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
1999 to grub_ssize_t.
2000 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
2001 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
2002
2003 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
2006 trailing newline implicitly. All users updated.
2007
2008 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 Implement serial on IEEE1275 and EFI.
2011
2012 * docs/grub.texi (Platform-specific limitations): Fix the columen video
2013 on emu. Mention arc and emu as the only platforms without serial
2014 support.
2015 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
2016 ieee1275 platforms.
2017 * grub-core/term/efi/serial.c: New file.
2018 * grub-core/term/ieee1275/serial.c: Likewise.
2019 * grub-core/term/serial.c (grub_serial_find): Disable direct port
2020 specification if no ns8250 driver is available.
2021 (grub_cmd_serial): Likewise.
2022 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
2023 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
2024 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
2025 (grub_efi_parity_type_t): New type.
2026 (grub_efi_stop_bits_t): Likewise.
2027 (grub_efi_serial_io_interface): New struct.
2028 * include/grub/serial.h (grub_serial_port): Make 'broken' field
2029 available for all interfaces.
2030 Add EFI and IEEE1275 fields.
2031 (grub_ofserial_init): New proto.
2032 (grub_efiserial_init): Likeiwse.
2033 * util/grub.d/00_header.in: Don't check for the presence of serial
2034 module.
2035
2036 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
2039 name as if it was an alias.
2040
2041 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * grub-core/commands/lsacpi.c (options): Fix typo.
2044
2045 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 Convert grub-emu to argp.
2048
2049 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
2050 emu.
2051 * util/argp_common.c: Rename to ...
2052 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
2053 Add missing includes.
2054 * grub-core/kern/emu/main.c: Convert to argp.
2055 * po/POTFILES.in: Regenerate.
2056 * util/grub-install.in (usage): Make first letter lowcase in messages
2057 for uniformity.
2058 * util/grub-setup.c (options): Likewise.
2059
2060 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
2063 Put back accidently commented-out code.
2064
2065 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
2068 loop check using Brent algorithm.
2069 (grub_hfsplus_btree_search): Likewise.
2070
2071 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * util/grub-install.in: Fix usage of wrong device for PreP install.
2074
2075 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * conf/Makefile.common (CFLAGS_GNULIB): Add
2078 -Wno-unsafe-loop-optimizations.
2079 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
2080 on tools.
2081 * grub-core/commands/legacycfg.c: Add pragma to skip
2082 -Wunsafe-loop-optimizations.
2083 (check_password_md5_real): Fix loop counter type.
2084 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
2085 reading.
2086 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
2087 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
2088 loop condition.
2089 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
2090 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
2091 * grub-core/net/net.c (grub_net_route_address): Add safety loop
2092 condition.
2093 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
2094 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
2095 avoid possible infinite loops.
2096 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
2097 and -Wunsafe-loop-optimizations.
2098 * grub-core/script/yylex.l: Likewise.
2099 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
2100 (print_glyphs): Avoid infinite loops.
2101 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
2102
2103 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
2104
2105 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
2106 to avoid infinite loop.
2107 (disp_acpi_rsdt_table): Likewise.
2108
2109 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * grub-core/font/font.c (grub_font_load): Add support for default
2112 path for fonts ($prefix/fonts).
2113 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
2114 for checking if string is a path.
2115 * grub-core/normal/main.c (features): Add feature_default_font_path.
2116 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
2117 * util/grub.d/00_header.in: Use default directory if possible.
2118 * util/grub-install.in: Install unicode.pf2.
2119
2120 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
2123 * po/Rules-swiss: New file.
2124 * po/swiss.sed: Likewise.
2125
2126 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 * grub-core/fs/btrfs.c (find_device): Fix typos.
2129 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
2130 * util/grub-mkrelpath.c (argp_parser): Likewise.
2131 Reported by: Yuri Chornoivan.
2132
2133 2012-02-23 Dalet Omega <daletomega@gmail.com>
2134
2135 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
2136 for usual informative messages.
2137
2138 2012-02-23 Dalet Omega <daletomega@gmail.com>
2139
2140 Starfield theme.
2141
2142 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
2143 * conf/Makefile.common: Define starfielddir.
2144 * configure.ac: Configure starfield.
2145 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
2146 * themes/starfield/README: Likewise.
2147 * themes/starfield/blob_w.png: Likewise.
2148 * themes/starfield/boot_menu_c.png: Likewise.
2149 * themes/starfield/boot_menu_e.png: Likewise.
2150 * themes/starfield/boot_menu_n.png: Likewise.
2151 * themes/starfield/boot_menu_ne.png: Likewise.
2152 * themes/starfield/boot_menu_nw.png: Likewise.
2153 * themes/starfield/boot_menu_s.png: Likewise.
2154 * themes/starfield/boot_menu_se.png: Likewise.
2155 * themes/starfield/boot_menu_sw.png: Likewise.
2156 * themes/starfield/boot_menu_w.png: Likewise.
2157 * themes/starfield/slider_c.png: Likewise.
2158 * themes/starfield/slider_n.png: Likewise.
2159 * themes/starfield/slider_s.png: Likewise.
2160 * themes/starfield/src/blob_nw.xcf: Likewise.
2161 * themes/starfield/src/bootmenu/: Likewise.
2162 * themes/starfield/src/bootmenu/center.xcf: Likewise.
2163 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
2164 * themes/starfield/src/bootmenu/side.xcf: Likewise.
2165 * themes/starfield/src/slider_c.xcf: Likewise.
2166 * themes/starfield/src/slider_n.xcf: Likewise.
2167 * themes/starfield/src/slider_s.xcf: Likewise.
2168 * themes/starfield/src/terminalbox/: Likewise.
2169 * themes/starfield/src/terminalbox/center.xcf: Likewise.
2170 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
2171 * themes/starfield/src/terminalbox/side.xcf: Likewise.
2172 * themes/starfield/starfield.png: Likewise.
2173 * themes/starfield/terminal_box_c.png: Likewise.
2174 * themes/starfield/terminal_box_e.png: Likewise.
2175 * themes/starfield/terminal_box_n.png: Likewise.
2176 * themes/starfield/terminal_box_ne.png: Likewise.
2177 * themes/starfield/terminal_box_nw.png: Likewise.
2178 * themes/starfield/terminal_box_s.png: Likewise.
2179 * themes/starfield/terminal_box_se.png: Likewise.
2180 * themes/starfield/terminal_box_sw.png: Likewise.
2181 * themes/starfield/terminal_box_w.png: Likewise.
2182 * themes/starfield/theme.txt: Likewise.
2183
2184 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * util/grub.d/00_header.in: Add missing export theme.
2187
2188 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
2191 already included.
2192 Reported by: Eren D.
2193
2194 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * conf/Makefile.common (grubdatadir): Removed.
2197 (Makefile.am): Move eveything grubdata to pkgdata.
2198
2199 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * grub-core/commands/acpihalt.c (get_sleep_type):
2202 Remove unused variable.
2203
2204 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
2207 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
2208 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
2209 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
2210 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
2211 i18n with gettext no-op.
2212 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
2213 GRUB_ACPI_OPCODE_STRING_CONST.
2214 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
2215 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
2216
2217 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * po/POTFILES.in: Regenerate.
2220
2221 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
2224 -Wno-error=missing-noreturn.
2225
2226 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
2229 condition to avoid possibly infinite loops.
2230 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
2231 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
2232
2233 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
2236 condition to avoid possibly infinite loops.
2237
2238 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
2241 on show_error.
2242
2243 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
2246
2247 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
2250
2251 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * util/bin2h.c (usage): Add missing attribute noreturn.
2254
2255 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
2258 if the size isn't divisible by 512.
2259
2260 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 Make list_push and list_remove functions rather than inline functions
2263 to decrease size and avoid aliasing violations.
2264
2265 * include/grub/list.h (grub_list_push): Move to ...
2266 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
2267 * include/grub/list.h (grub_list_remove): Move to ...
2268 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
2269
2270 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
2273 and -Wunused-result.
2274
2275 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
2278 Reported by: Seth Goldberg
2279
2280 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
2283
2284 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
2285
2286 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
2287 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
2288 command line.
2289 * docs/grub.texi (Simple configuration): Document
2290 GRUB_CMDLINE_GNUMACH.
2291
2292 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * conf/Makefile.common (platform_SCRIPTS): New variable.
2295 (platform_PROGRAMS): Likewise.
2296 * gentpl.py: Mark *,module and *.image for install.
2297 * grub-core/gdb_grub.in: Add a notice of expected environment.
2298 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
2299 (gmodule.pl): Likewise.
2300
2301 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 Replace grub_checkkey with grub_getkey_noblock.
2304
2305 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
2306 (grub_getkey_noblock): ... this. All users updated.
2307
2308 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * grub-core/kern/emu/console.c: Move to ...
2311 * grub-core/term/emu/console.c: ...here.
2312 (grub_ncurses_getkey): Fix return value if no key is detected.
2313
2314 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
2317 (grub_unit_test_fini): Likewise.
2318 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
2319
2320 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * include/grub/test.h (GRUB_UNIT_TEST)
2323
2324 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 * grub-core/script/execute.c (grub_script_break): Clarify logic.
2327 Better error handling.
2328 (grub_script_return): Likewise.
2329 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2330
2331 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
2334 rimplicit redifinition.
2335
2336 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
2339 GRUB.
2340
2341 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
2344 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
2345 prompt here.
2346
2347 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
2350 as GRUB_ERR_BUG. Don't malloc if no device is available.
2351
2352 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
2355 Mark calling with invalid term as GRUB_ERR_BUG.
2356
2357 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
2360 packets rather than raising an error.
2361
2362 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
2365 in if.
2366
2367 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
2370 diagnostic to dprintf.
2371 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2372
2373 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
2376 device name.
2377
2378 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
2381 (grub_ntfs_iterate_dir): Likewise.
2382
2383 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 Efiemu stylistic fixes and gettext.
2386
2387 * grub-core/efiemu/i386/loadcore32.c
2388 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
2389 * grub-core/efiemu/i386/loadcore64.c
2390 (grub_arch_efiemu_relocate_symbols64): Likewise.
2391 * grub-core/efiemu/i386/pc/cfgtables.c
2392 (grub_machine_efiemu_init_tables): Likewise.
2393 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
2394 (grub_efiemu_loadcore_initXX): Add a filename argument.
2395 All users updated.
2396 Improved error message.
2397 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
2398 Add a filename argument.
2399 All users updated.
2400 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
2401 Reclassify double relocation as GRUB_ERR_BUG.
2402
2403 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
2406 handling.
2407
2408 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
2411 on partition.
2412
2413 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
2416
2417 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 Improve string. Gettextize.
2420
2421 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
2424 utils.
2425 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
2426
2427 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
2430 [GRUB_UTIL]: New function.
2431 (insert_array) [GRUB_UTIL]: Store partmaps.
2432 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
2433 partmaps.
2434 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
2435 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
2436 (probe_abstraction): Print diskfilter and not raid.
2437 Reported by: Lennart Sorensen
2438
2439 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
2442 * util/grub-mkimagexx.c (MASK3): New define.
2443 (add_value_to_slot_20b): Use MASK3.
2444 (add_value_to_slot_21): Likewise.
2445 (relocate_addresses): Fix format specification.
2446 (load_image): Explicitly init symtab_section.
2447
2448 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
2451 (grub_util_biosdisk_get_grub_dev): Fix format specification.
2452
2453 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
2456 on powerpc.
2457 Reported by: Lennart Sorensen
2458
2459 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 * gentpl.py: Add missing license header.
2462 * docs/grub.texi: Update copyright year.
2463
2464 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2465
2466 Source grub-mkconfig_lib from the build directory at build time.
2467 Suggested by: Vladimir Serbinenko.
2468
2469 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
2470 * util/grub-install.in: Define pkgdatadir if not already set, and source
2471 grub-mkconfig_lib from there.
2472 * util/grub-kbdcomp.in: Likewise.
2473 * util/grub-mkconfig.in: Likewise.
2474 * util/grub-mknetdir.in: Likewise.
2475 * util/grub-mkrescue.in: Likewise.
2476 * util/grub-mkstandalone.in: Likewise.
2477 * util/grub-reboot.in: Likewise.
2478 * util/grub-set-default.in: Likewise.
2479 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2480
2481 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 Increase warning level.
2484
2485 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
2486 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
2487 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
2488 (TARGET_CFLAGS): Likewise.
2489 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
2490 * grub-core/Makefile.core.def (decompressor_xz): Add
2491 -Wno-unreachable-code.
2492 (normal): Add -Wno-redundant-decls.
2493 (xzio): Add -Wno-unreachable-code.
2494 (lzopio): Add -Wno-redundant-decls -Wno-error.
2495 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2496 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2497 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2498 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2499 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2500 * grub-core/kern/i386/coreboot/init.c: Add exception to
2501 -Wsuggest-attribute=noreturn.
2502 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2503 * grub-core/kern/ia64/dl_helper.c: Likewise.
2504 * grub-core/kern/mips/dl.c: Likewise.
2505 * grub-core/kern/sparc64/dl.c: Likewise.
2506 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2507 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2508 (memcmp): Likewise.
2509 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2510 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2511 * grub-core/loader/mips/linux.c: Likewise.
2512 * grub-core/loader/multiboot_elfxx.c: Likewise.
2513 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2514 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2515 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2516 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2517 fixme.
2518 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2519 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2520 Fix prototype.
2521
2522 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2525 address.
2526
2527 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2530 Avoid improper use of strings.
2531 (grub_cmd_legacy_initrdnounzip): Likewise.
2532
2533 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2536 attribute.
2537 (grub_util_info): Likewise.
2538 (grub_util_error): Likewise.
2539
2540 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2543 * util/grub-fstest.c (fstest): Likewise.
2544
2545 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2548 (grub_md_sha512_real): Likewise.
2549 (grub_util_get_geli_uuid): Likewise.
2550 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2551 (grub_util_biosdisk_open): Fix format specification.
2552 Respect format security.
2553 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2554 (xrealloc): Likewise.
2555 (xasprintf): Likewise.
2556
2557 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * util/import_gcry.py: Include grub/crypto.h in init.c.
2560
2561 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2564 (generate_image): Make prefix a const char *.
2565 Fix format specifications. Respect format security.
2566 Avoid void * arithmetics.
2567 Avoid shadowing.
2568 (argp_parser): Remove unused variable. Respect format security.
2569 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2570 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2571 (count_funcs): Remove unused variable.
2572 (relocate_addresses): Fix format specification.
2573 Disable x86-64 with elf32. Remove unused variables.
2574 (add_fixup_entry): Avoid shadowing.
2575 (make_reloc_section): Fix format specification.
2576 Use assert.
2577 (locate_sections): Fix format specifications.
2578 (load_image): Avoid shadowing.
2579
2580 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2583 Fix format specifications. Respect format security.
2584 Don't translate already translated grub_errmsg.
2585 (argp_parser): Remove unused variable
2586
2587 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2590
2591 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2594 (main): Likewise. Use xmalloc. Respect format security.
2595
2596 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2599 a const char *.
2600 (argp_parser): Remove unused variable.
2601
2602 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2605 (add_pixel): Make static.
2606 (add_font): Likewise.
2607 (write_string_section): Make name and str a const char *.
2608 (write_be16_section): Make name a const char *.
2609 (print_glyphs): Make static.
2610 (write_font_ascii_bitmap): Likewise.
2611 (write_font_width_spec): Likewise.
2612 (write_font_pf2): Likewise.
2613 (argp_parser): Remove unused variable.
2614 Respect format security.
2615 (main): Avoid shadowing. Respect format security.
2616
2617 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * util/grub-editenv.c (argp_parser): Make static.
2620 (create_envblk_file): Use xmalloc.
2621 (open_envblk_file): Likewise.
2622 Resepect format security.
2623 (set_variables): Respect format security.
2624
2625 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * util/getroot.c (grub_find_device): Respect format security.
2628 (get_mdadm_uuid): Remove unused variable.
2629 (grub_util_pull_device): Dont call gettext on already translated
2630 grub_errmsg.
2631 (find_system_device): Remove unused variable.
2632 (grub_util_get_grub_dev): Likewise.
2633 (grub_make_system_path_relative_to_its_root): Respect format security.
2634
2635 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * util/grub-fstest.c (execute_command): Make first argument
2638 a const char *.
2639 (read_file): Avoid shadowing.
2640 Reuse underlying error message if device open fails.
2641 (cmd_cmp): Respect format security.
2642 (root): Make const char *.
2643 (fstest): Remove args argument and use global copy.
2644 Respect format security.
2645 (argp_parser): Make static.
2646 (main): Make default_root const char *.
2647
2648 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * util/grub-mount.c (root): Make const char *.
2651 (execute_command): Make first argument a const char *.
2652 (fuse_init): Respect format security.
2653 (argp_parser): Make static. Remove unused variable.
2654 (main): Make default_root a const char *.
2655 Respect format security.
2656
2657 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * util/grub-probe.c (probe): Don't call gettext on already translated
2660 grub_errmsg.
2661 Remove unused variables.
2662 (argp_parser): Remove unused variable.
2663
2664 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * util/grub-script-check.c (argp_parser): Remove unused variable.
2667 (main): Rename read to curread to avoid shadowing.
2668
2669 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * util/misc.c (grub_util_write_image_at): Fix format specification.
2672 (grub_util_write_image): Likewise.
2673 (grub_script_execute_argument_to_string): Removed (unused).
2674 (grub_script_execute_menuentry): Likewise.
2675 (grub_putchar): Likewise.
2676
2677 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
2680 (FUNCTION) [GRUB_UTIL]: Likewise.
2681 (VARIABLE) [GRUB_UTIL]: Likewise.
2682
2683 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
2686 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
2687
2688 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
2691 buffer.
2692
2693 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
2696 (LzmaEnc_SaveState): Removed (unused).
2697 (LzmaEnc_RestoreState): Likewise.
2698 (LzmaEnc_InitPriceTables): Made static.
2699 (LzmaEnc_Construct): Likewise.
2700 (LzmaEnc_FreeLits): Likewise.
2701 (LzmaEnc_Destruct): Likewise.
2702 (LzmaEnc_Init): Likewise.
2703 (LzmaEnc_InitPrices): Likewise.
2704 (LzmaEnc_Finish): Likewise.
2705 (LzmaEnc_PrepareForLzma2): Removed (unused).
2706 (LzmaEnc_MemPrepare): Likewise.
2707 (LzmaEnc_GetNumAvailableBytes): Likewise.
2708 (LzmaEnc_GetCurBuf): Likewise.
2709 (LzmaEnc_CodeOneMemBlock): Likewise.
2710
2711 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
2714 (grub_util_ldm_embed): Likewise.
2715
2716 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * util/grub-editenv.c (print_var): Rename name to varname to
2719 avoid shadowing.
2720 (main): Rename index to curindex to avoid shadowing.
2721 Make filename a const char *.
2722
2723 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2726 to arg_getline to avoid shadowing.
2727
2728 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
2731 disk_ to avoid shadowing.
2732
2733 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
2736 curindex to avoid shadowing.
2737 Make static.
2738 (MatchFinder_GetNumAvailableBytes): Make static.
2739
2740 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
2743 avoid shadowing.
2744
2745 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
2748 argument from encrypt to do_encrypt to avoid shadowing.
2749
2750 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2753 incorrect nesting of #if's.
2754
2755 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2758 checks which are always false on some platforms.
2759 (grub_cmd_lsacpi): Likewise.
2760 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2761 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2762 Likewise.
2763
2764 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2767 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2768
2769 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2772 re_dfa_t to avoid breaking alignment invariants.
2773 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2774 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2775
2776 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
2779 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
2780
2781 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
2784 Fix declaration.
2785
2786 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
2789 conserve alignment invariants.
2790 (grub_ehci_ehcc_read16): Likewise.
2791 (grub_ehci_oper_read32): Likewise.
2792 (grub_ehci_oper_write32): Likewise.
2793 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2794 Conserve alignment invariants.
2795
2796 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
2799 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
2800 declarations.
2801
2802 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
2805 Remove unused variable.
2806
2807 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
2810 Remove set in if.
2811
2812 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * include/grub/net.h: Remove double declarations.
2815
2816 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 Remove "payload" command in ia64 Linux loader since I couldn't
2819 find any evidence of it being used for anything.
2820 Replace "relocate" command with an environment variable
2821
2822 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
2823 fields.
2824 (ia64_boot_payload): Removed.
2825 (last_payload): Likewise.
2826 (RELOCATE_OFF): Likewise.
2827 (RELOCATE_ON): Likewise.
2828 (RELOCATE_FORCE): Likewise.
2829 (relocate): Likewise.
2830 (free_pages): Don't free payloads.
2831 (grub_load_elf64): Use common error messages.
2832 Use "linux_relocate" variable.
2833 Increase the space after boot_params.
2834 (grub_cmd_payload): Removed.
2835 (grub_cmd_relocate): Likewise.
2836 (grub_cmd_fpswa): Improve messages.
2837 (cmd_payload): Removed.
2838 (cmd_relocate): Likewise.
2839 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
2840 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
2841
2842 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 Convert UHCI to DMA framework.
2845
2846 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
2847 (grub_uhci_pci_iter): Fill new members
2848 (grub_alloc_td): Use P2V and V2P functions.
2849 (grub_free_queue): Likewise.
2850 (grub_alloc_qh): Likewise.
2851 (grub_uhci_setup_transfer): Likewise.
2852 (grub_uhci_check_transfer): Likewise.
2853
2854 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
2857 Remove assignment in if while on it.
2858
2859 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * util/grub-mkstandalone.in: Fix modules directory.
2862
2863 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
2866 on i386-pc target.
2867 (argp_parser): Accept "auto" as compression specification.
2868
2869 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 Fix `help' with unloaded modules.
2872
2873 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
2874 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
2875 (grub_dyncmd_dispatcher): Small stylistic fix.
2876 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
2877 explicit help is requested.
2878
2879 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
2882 Explicitly init restart while on it.
2883
2884 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
2887 uninited variable.
2888
2889 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 * util/grub-mknetdir.in: Use . rather than source for POSIX
2892 compatibility.
2893
2894 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
2897
2898 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
2901 variable.
2902
2903 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
2906 without quotes.
2907
2908 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
2911
2912 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
2915 iteration of partitions.
2916
2917 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 Improve gettext support. Stylistic fixes and error handling fixes while
2920 on it.
2921
2922 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
2925 part. Instead setup the correct stack in RM.
2926 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
2927 for stack.
2928 * include/grub/i386/relocator_private.h: New file.
2929
2930 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
2933 argument.
2934 * util/grub-fstest.c (options): Add missing DEVICE part.
2935
2936 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 Clarify and unify messages.
2939
2940 * grub-core/commands/hashsum.c (options): Unify messages.
2941 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
2942 literal-only message as translatable.
2943 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
2944 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
2945 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
2946 commands.
2947 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
2948 key, not the key used to unlock. Clarify what it's used for.
2949 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
2950 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
2951 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
2952 * util/grub-editenv.c (options): Unify "verbose" message.
2953 * util/grub-fstest.c (read_file): Unify error message.
2954 (fstest): Add quotes around commands.
2955 (options): Unify "verbose" message.
2956 * util/grub-install.in: Add quotes around variable name.
2957 * util/grub-kbdcomp.in: Unify error message.
2958 * util/grub-mkfont.c (main): Likewise.
2959 * util/grub-mkrescue.in: Likewise.
2960 * util/grub-mklayout.c (options): Unify "verbose" message.
2961 * util/grub-mkstandalone.in: Unify help and verbose messages.
2962 * util/grub-mount.c (options): Unify "verbose" message.
2963 * util/grub-probe.c (options): Likewise.
2964 * util/grub-script-check.c (options): Likewise.
2965 * util/grub-setup.c (setup): Unify no-terminator message.
2966 (options): Use DEVICE and not DEV.
2967 Unify "verbose" message.
2968 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
2969
2970 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 Improve and unify messages.
2973
2974 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
2975 name. All users updated.
2976 Print filename in error.
2977 (read_device_map): Print filename in error.
2978 * util/getroot.c (grub_guess_root_devices): Print filename in error.
2979 (grub_util_get_os_disk): Likewise.
2980 (grub_util_biosdisk_get_grub_dev): Likewise.
2981 (grub_util_check_block_device): Likewise.
2982 (grub_util_check_char_device): Likewise.
2983 (grub_make_system_path_relative_to_its_root): Likewise.
2984 * util/grub-editenv.c (create_envblk_file): Likewise.
2985 (open_envblk_file): Likewise.
2986 (write_envblk): Likewise.
2987 * util/grub-fstest.c (cmd_cp): Likewise.
2988 (cmd_cat): Likewise.
2989 (cmd_cmp): Likewise.
2990 * util/grub-menulst2cfg.c (main): Likewise.
2991 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
2992 (write_font_width_spec): Likewise.
2993 (write_font_pf2): Likewise.
2994 * util/grub-mkimage.c (generate_image): New argument outname.
2995 All users updated.
2996 Remove unreacheable message.
2997 (options): Unify messages.
2998 (help_filter): Likewise.
2999 * util/grub-mklayout.c (usage): Removed (unused).
3000 (main): Print filename in error.
3001 * util/grub-mkrescue.in: Fix wrong quoting.
3002 * util/grub-setup.c (setup): Print filename in error.
3003 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
3004 (check_sas): Likewise.
3005 * util/misc.c (grub_util_get_fp_size): Removed.
3006 (grub_util_get_image_size): Print filename in error.
3007 (grub_util_read_at): Removed.
3008 (grub_util_read_image): Print filename in error.
3009 (grub_util_load_image): Likewise.
3010 (grub_util_write_image_at): New argument filename. All users updated.
3011 Print filename in error.
3012 (grub_util_write_image): New argument filename. All users updated.
3013 Print filename in error.
3014 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
3015 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
3016
3017 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * grub-core/Makefile.core.def (pxechain): New module.
3020 * grub-core/loader/i386/pc/pxechainloader.c: New file.
3021 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
3022 function.
3023 (grub_pc_net_config_real): Use grub_pxe_get_cached.
3024 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
3025
3026 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
3029 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
3030 * include/grub/err.h (grub_error_saved): New struct.
3031 (grub_errmsg): Make array size explicit.
3032 * include/grub/misc.h (grub_error_save): New function.
3033 (grub_error_load): Likewise.
3034 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
3035 (grub_error_push): Update `errno' member name.
3036 (grub_error_pop): Likewise
3037 * grub-core/net/tftp.c (tftp_data): New member save_err.
3038 (tftp_receive): Save error.
3039 (tftp_open): Restore error.
3040
3041 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
3044 to real mode down to execute A20-related code in protected mode as
3045 intended.
3046
3047 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3048
3049 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
3050 NULL when the argument `level' has an unexpected value.
3051
3052 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 Move platform-dependent files from $prefix to $prefix/$platform.
3055
3056 * config.h.in (GRUB_TARGET_CPU): New definition.
3057 (GRUB_PLATFORM): Likewise.
3058 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
3059 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
3060 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3061 * grub-core/kern/dl.c (grub_dl_load): Likewise.
3062 * grub-core/normal/autofs.c (read_fs_list): Likewise.
3063 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
3064 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
3065 * grub-core/normal/term.c (read_terminal_list): Likewise.
3066 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
3067 $prefix/locale.
3068 (grub_gettext_init_ext): Likewise.
3069 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
3070 grub_platform.
3071 * util/grub-install.in: Update directories.
3072 * util/grub-mknetdir.in: Likewise.
3073 * util/grub-mkrescue.in: Likewise.
3074
3075 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
3078 grub_error framework. All users updated.
3079
3080 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
3083 lists (by always binsearching), improve caching (cache strings
3084 used for binsearch, not only results), improve
3085 maintainability (by using more structured binary search) and correct
3086 error handling.
3087
3088 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * grub-core/script/execute.c (grub_script_return): Fix warning.
3091
3092 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/script/execute.c (grub_script_return): Fix potential
3095 NULL-dereference.
3096 Reported by: Jim Meyering.
3097
3098 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * po/POTFILES.in: Regenerate.
3101 * util/grub-install.in: Gettextize the strings missed in first pass.
3102
3103 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * Makefile.util.def (grub-mkdevicemap): Removed.
3106 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
3107 * include/grub/util/deviceiter.h: Removed.
3108 * util/deviceiter.c: Likewise.
3109 * util/getroot.c (grub_util_get_os_disk): New function.
3110 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
3111 replacement for EFI.
3112 * util/grub-mkdevicemap.c: Removed.
3113 * util/grub-probe.c (probe): Handle PRINT_DISK.
3114 (argp_parser): Handle -t disk.
3115
3116 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * util/grub-mkfont.c: Migrate to argp.
3119 * util/grub-mklayout.c: Likewise.
3120 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3121 * util/grub-mkrelpath.c: Likewise.
3122 * util/grub-probe.c: Likewise.
3123 * util/grub-script-check.c: Likewise.
3124
3125 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * util/grub-reboot.in: Add missing datarootdir.
3128 Add missing newline.
3129 * util/grub-set-default.in: Add missing datarootdir.
3130 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
3131 * util/grub-mkrescue.in: Likewise.
3132
3133 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
3136
3137 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * util/grub-kbdcomp.in: Add decent help and gettextize.
3140 * docs/man/grub-kbdcomp.h2m: New file.
3141
3142 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 Migrate grub-mkimage.c to argp.
3145
3146 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
3147 (grub-setup): Likewise.
3148 * util/grub-setup.c (print_version): Move to ...
3149 * util/argp_common.c (print_version): ... here.
3150 * util/grub-setup.c (argp_program_version_hook): Move to ...
3151 * util/argp_common.c (argp_program_version_hook): ... here.
3152 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
3153 safety.
3154 * util/grub-mkimage.c (main): Migrate to argp.
3155
3156 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * util/grub-mkrescue.in: Use same message as
3159 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
3160 for better translations.
3161
3162 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
3165 options with generic grub-mkrescue.in with the goal of future
3166 merge.
3167
3168 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * grub-core/kern/mm.c: Add missing include of i18n.h
3171 * grub-core/lib/relocator.c: Likewise.
3172
3173 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
3176 error.
3177 (allocate_pages): Check return value.
3178 Replace fatal with error.
3179 (grub_linux_boot): Replace printf with dprintf.
3180 Check find_mmap_size return value.
3181 Replace fatal with error.
3182 Don't call grub_machine_fini.
3183 (grub_load_elf64): Replace printf with dprintf.
3184 (grub_cmd_linux): Likewise.
3185 (grub_cmd_initrd): Likewise.
3186 (grub_cmd_payload): Likewise.
3187
3188 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
3191 message.
3192 * grub-core/video/radeon_fuloong2e.c
3193 (grub_video_radeon_fuloong2e_setup): Likewise.
3194 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
3195 * grub-core/video/video.c (grub_video_set_mode): Don't override
3196 standard out of memory message.
3197
3198 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3199
3200 NetBSD disk wedge support.
3201
3202 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
3203 [__NetBSD__]: Handle NetBSD disk wedges.
3204 * util/getroot.c (convert_system_partition_to_system_disk)
3205 [__NetBSD__]: Likewise.
3206
3207 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
3208
3209 * util/grub-mkconfig.in: Use umask rather than chmod to create
3210 grub.cfg.new to avoid insecure grub.cfg.
3211
3212 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * grub-core/commands/ls.c: Gettextize.
3215 * grub-core/commands/setpci.c: Likewise.
3216 * grub-core/commands/videotest.c: Likewise.
3217 * grub-core/disk/geli.c: Likewise.
3218 * grub-core/kern/mm.c: Likewise.
3219 * grub-core/lib/relocator.c: Likewise.
3220 * grub-core/loader/efi/appleloader.c: Likewise.
3221 * grub-core/loader/i386/xnu.c: Likewise.
3222 * grub-core/loader/ia64/efi/linux.c: Likewise.
3223 * grub-core/loader/xnu.c: Likewise.
3224 * grub-core/net/dns.c: Likewise.
3225 * grub-core/net/net.c: Likewise.
3226 * grub-core/script/lexer.c: Likewise.
3227 * grub-core/script/parser.y: Likewise.
3228 * grub-core/script/yylex.l: Likewise.
3229 * util/getroot.c: Likewise.
3230 * util/grub-setup.c: Likewise.
3231
3232 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
3235 number.
3236
3237 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
3240
3241 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
3244 macro.
3245 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
3246 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
3247
3248 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
3251 * util/grub-install.in: Gettextize.
3252 * util/grub-mkconfig.in: Likewise.
3253 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
3254 if not available.
3255 (grub_warn): Gettextize.
3256 * util/grub-mknetdir.in: Gettextize.
3257 * util/grub-mkrescue.in: Likewise.
3258 * util/grub-mkstandalone.in: Likewise.
3259 * util/grub-reboot.in: Likewise.
3260 * util/grub-set-default.in: Likewise.
3261 * util/grub.d/00_header.in: Likewise.
3262 * util/grub.d/10_hurd.in: Likewise.
3263 * util/grub.d/10_kfreebsd.in: Likewise.
3264 * util/grub.d/10_linux.in: Likewise.
3265 * util/grub.d/10_netbsd.in: Likewise.
3266 * util/grub.d/10_windows.in: Likewise.
3267 * util/grub.d/20_linux_xen.in: Likewise.
3268 * util/grub.d/30_os-prober.in: Likewise.
3269 * po/POTFILES-shell.in: Regenerate.
3270
3271 2012-02-03 Richard Laager <rlaager@wiktel.com>
3272
3273 * util/grub-mkimage.c (main): Fix format-security warning.
3274 * util/grub-mkrelpath.c (main): Likewise.
3275 * util/grub-probe.c (main): Likewise.
3276
3277 2012-02-03 Richard Laager <rlaager@wiktel.com>
3278
3279 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
3280 failure.
3281 Put back lost PRINT_DRIVE.
3282
3283 2012-02-03 Richard Laager <rlaager@wiktel.com>
3284
3285 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
3286 (grub_guess_root_devices): Replace strlen with sizeof.
3287 Avoid crash.
3288 (find_root_devices_from_poolname): Remove unused variable.
3289 Handle raidzN.
3290
3291 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 Support install on multi-device filesystems.
3294
3295 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
3296 (grub_guess_root_devices): ...this. Return char **. All users updated.
3297 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
3298 Removed.
3299 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
3300 (find_root_devices_from_poolname): ... here.
3301 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
3302 Support zfs-fuse.
3303 (grub_guess_root_device): Rename to ...
3304 (grub_guess_root_devices): ... this. Return char **. All users updated.
3305 * util/grub-install.in: Handle multi-device filesystems.
3306 * util/grub-probe.c (probe). Make device_names a char **. Add delim
3307 argument. All users updated.
3308 Handle multi-device filesystems.
3309 Use 'delim' as separator.
3310 Remove device check to allow filesystems on file.
3311 (main): Support -0 argument. Handle multi-device.
3312 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
3313 Fix a cross-device check while on it.
3314 (arguments): Remove root_dev.
3315 (argp_parser): Remove -r.
3316 (main): Remove root_dev.
3317
3318 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
3321
3322 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
3325 symbol.
3326 Reported by: NODA, Kai <nodakai>.
3327
3328 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 Fix ehci on amd64.
3331
3332 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
3333 pointers.
3334 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
3335 (grub_ehci_setup_qh): Likewise.
3336 (grub_ehci_find_qh): Likewise.
3337 (grub_ehci_transaction): Likewise.
3338 (grub_ehci_setup_transfer): Likewise.
3339 (grub_ehci_check_transfer): Likewise.
3340 (grub_ehci_portstatus): Likewise.
3341 (grub_ehci_detect_dev): Likewise.
3342 (grub_ehci_transfer_controller_data): New field td_last_phys.
3343 (grub_ehci_setup_transfer): Fill td_last_phys.
3344 (grub_ehci_check_transfer): Use td_last_phys.
3345
3346 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
3347
3348 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
3349 if no submenu is present.
3350
3351 2012-02-01 Aleš Nesrsta <starous@volny.cz>
3352
3353 CBI support.
3354
3355 * include/grub/usb.h (grub_usbms_protocol_t): New values
3356 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
3357 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
3358 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
3359 (grub_usbms_dev): Add subclass, protocol and intrpt.
3360 Remove in_maxsz and out_maxsz.
3361 (grub_usbms_reset): Rename to ...
3362 (grub_usbms_bo_reset): .. this.
3363 (grub_usbms_cbi_cmd): New function.
3364 (grub_usbms_cbi_reset): Likewise.
3365 (grub_usbms_reset): Likewise.
3366 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
3367 (grub_usbms_transfer): Rename to ...
3368 (grub_usbms_transfer_bo): ... this.
3369 (grub_usbms_transfer_cbi): Likewise.
3370 (grub_usbms_transfer): Likewise.
3371
3372 2012-02-01 Aleš Nesrsta <starous@volny.cz>
3373 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
3376 the support for the CS5536 modification thereos and few bugfixes.
3377
3378 * grub-core/Makefile.core.def (ehci): New module.
3379 * grub-core/bus/usb/ehci.c: New file.
3380 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
3381 port and hubaddr. All users updated.
3382 Save port and hubaddr into dev structure.
3383 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
3384 define.
3385 * include/grub/pci.h (grub_dma_phys2virt): New function.
3386 (grub_dma_virt2phys): Likewise.
3387 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
3388
3389 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
3392 check as some mkfs implementations omit it.
3393
3394 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * docs/grub.texi (Unicode): Mention identifier and space limitations.
3397
3398 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
3401 Add new member volname2.
3402 (grub_jfs_label): Use volname2 if available.
3403
3404 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
3407 over last_mounted as seen in image generated by mkfs.nilfs2.
3408 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
3409
3410 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
3413 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
3414 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
3415
3416 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
3419 over the sector.
3420
3421 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
3424 subvolume name (by removing a bogus and useless check).
3425
3426 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
3429 sizeof while on it.
3430
3431 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
3434 (grub_scsi_read_capacity10): ... this.
3435 (grub_scsi_read_capacity16): New function.
3436 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
3437 0xffffffff.
3438 Fix off-by-one error.
3439 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
3440 64-bit unsigned.
3441 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
3442 (grub_scsi_read_capacity10): ... this.
3443 (grub_scsi_read_capacity_data): Rename to ...
3444 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
3445 (grub_scsi_read_capacity16): New struct.
3446 (grub_scsi_read_capacity16_data): Likewise.
3447 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
3448 grub_scsi_cmd_read_capacity10.
3449 New command grub_scsi_cmd_read_capacity16.
3450
3451 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 SCSI >2TiB support.
3454
3455 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
3456 (grub_scsi_write16): Likewise.
3457 (grub_scsi_read): Use read16 when necessary.
3458 (grub_scsi_write): Likewise.
3459 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
3460 (grub_scsi_write16): Likewise.
3461 (grub_scsi_cmd_t): Add READ16 and WRITE16.
3462
3463 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 SCSI write support (for usbms mainly).
3466
3467 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
3468 a const pointer.
3469 (grub_scsi_write): Implement.
3470 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
3471
3472 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
3475 variable.
3476
3477 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 * grub-core/lib/posix_wrap/string.h (memchr): New function.
3480
3481 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * po/POTFILES.in: Regenerate.
3484
3485 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
3488 with grub_printf to avoid unnecessary fatal failure.
3489
3490 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
3493 (INT_MAX): Likewise.
3494 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
3495 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3496 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3497 (strcpy): Likewise.
3498 (strstr): Likewise.
3499 (strchr): Likewise.
3500 (strncpy): Likewise.
3501 (strcat): Likewise.
3502 (strncat): Likewise.
3503 (strcoll): Likewise.
3504 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3505 (GRUB_INT_MAX): Likewise.
3506
3507 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3510 unexpected error.
3511 (optimize_utf8): Likewise.
3512 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3513
3514 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * grub-core/boot/i386/pc/lnxboot.S: Use
3517 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3518 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3519 location.
3520 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3521 definition.
3522 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3523
3524 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3527 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3528 now to avoid double free.
3529 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3530 hostdisk.
3531 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3532 * util/grub-probe.c (escape_of_path): Always return a new copy.
3533 (print_full_name): Escape path.
3534 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3535 Fix hints on abstractions.
3536
3537 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3540 Don't add "root" line if no compatibility hont is available.
3541 Suggested by: Seth Goldberg.
3542
3543 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3546 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3547 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3548 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3549
3550 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3553
3554 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * util/grub-pe2elf.c (ehdr): Make static.
3557 (shdr): Likewise.
3558 (num_sections): Likewise.
3559 (offset): Likewise.
3560
3561 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 Eliminate ofpath limits and possible overflows.
3564
3565 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3566 (OF_PATH_MAX): Removed.
3567 (MAX_DISK_CAT): New const.
3568 (find_obppath): Use allocated rather than preallocated buffer.
3569 Return result. Argument of_path removed. All users updated.
3570 Add missing fdstat.
3571 (xrealpath): New function.
3572 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3573 Allocate rather than use preallocated buffer. All users updated.
3574 (__of_path_common): Use allocated rather than preallocatecd buffer.
3575 Return result. Argument of_path removed. All users updated.
3576 (vendor_is_ATA): Read only needed part form the file.
3577 (check_sas): Allocate depending on contents rather than fixed.
3578 (main) [STANDALONE]: Handle NULL result.
3579
3580 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3583
3584 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 Cryptodisk write support.
3587
3588 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3589 (grub_cryptodisk_decrypt): Moved logic to ...
3590 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3591 (grub_cryptodisk_write): Implement.
3592 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3593 (grub_util_fd_write): ... this. Make global.
3594 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3595
3596 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * include/grub/list.h (grub_list_remove): Don't crash if element is
3599 removed twice.
3600
3601 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 Rename ofconsole to console.
3604
3605 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3606 as sysnonym to console.
3607 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3608 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3609 Rename grub_ofconsole_ to grub_console_. All users updated
3610 (grub_console_term_output): Rename "ofconsole" to "console".
3611 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3612 as "console".
3613
3614 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3617 handling.
3618 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3619 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3620 GRUB_DISK_DEVICE_FILE_ID.
3621
3622 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3625 and improve performance.
3626
3627 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3630 missing ieee1275/ prefix on whole disk.
3631
3632 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3635 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3636
3637 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3640
3641 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 Merge common RAID and LVM logic to an abstract diskfilter.
3644 Add LDM support using the same framework.
3645
3646 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3647 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3648 (libgrubmods): Remove grub-core/disk/raid.c and
3649 grub-core/partmap/gpt.c.
3650 * grub-core/Makefile.core.def (ldm): New module.
3651 (raid): Renamed to diskfilter. All users updated.
3652 * grub-core/disk/raid.c: Moved to ...
3653 * grub-core/disk/diskfilter.c: ... here.
3654 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3655 (lv_num): New var.
3656 (find_array): Renamed to ...
3657 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3658 (grub_is_array_readable): Renamed to ...
3659 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3660 (insert_array): New argument id.
3661 (is_node_readable): New function.
3662 (scan_device): Rename to ...
3663 (scan_disk): .. this. Restrict to one disk.
3664 (scan_devices): New function.
3665 (grub_diskfilter_iterate): Support multi-LV.
3666 Skip invisible and nameless LVs.
3667 (grub_diskfilter_memberlist): Support multi-LV.
3668 (grub_diskfilter_read_node): New function.
3669 (grub_raid_read): Most of logic moved to ...
3670 (read_segment): ... here
3671 (read_lv): New function.
3672 (grub_diskfilter_get_vg_by_uuid): New function.
3673 (grub_diskfilter_make_raid): Likewise.
3674 * grub-core/disk/ldm.c: New file.
3675 * grub-core/disk/lvm.c (vg_list): Removed.
3676 (lv_count): Likewise.
3677 (scan_depth): Likewise.
3678 (is_lv_readable): Likewise.
3679 (grub_lvm_getvalue): Advance pointer past the number.
3680 (find_lv): Removed.
3681 (do_lvm_scan): Refactored into ...
3682 (grub_lvm_detect): ... this. Support raid.
3683 (grub_lvm_iterate): Removed.
3684 (grub_lvm_memberlist): Likewise.
3685 (grub_lvm_open): Likewise.
3686 (grub_lvm_close): Likewise.
3687 (read_lv): Likewise.
3688 (read_node): Likewise.
3689 (is_node_readable): Likewise.
3690 (is_lv_readable): Likewise.
3691 (grub_lvm_read): Likewise.
3692 (grub_lvm_write): Likewise.
3693 (grub_lvm_dev): Use diskfilter
3694 (GRUB_MOD_INIT): Likewise.
3695 (GRUB_MOD_FINI): Likewise.
3696 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
3697 new interface.
3698 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
3699 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3700 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
3701 grub_diskfilter_read_node.
3702 Fix a bug with xor.
3703 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
3704 grub_diskfilter_read_node.
3705 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
3706 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
3707 (grub_disk_dev_iterate): Move from here...
3708 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
3709 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3710 Make global.
3711 (grub_hostdisk_find_partition_start): Likewise.
3712 (grub_hostdisk_os_dev_to_grub_drive): New function.
3713 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
3714 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
3715 * util/getroot.c (make_device_name): ... here.
3716 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3717 Move to ...
3718 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
3719 * grub-core/kern/emu/hostdisk.c
3720 (convert_system_partition_to_system_disk): Move to ...
3721 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
3722 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
3723 * util/getroot.c (device_is_wholedisk): ... here.
3724 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
3725 * util/getroot.c (find_system_device): ... here.
3726 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
3727 Move to ...
3728 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
3729 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3730 Move to ...
3731 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
3732 Handle LDM.
3733 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3734 Move to ...
3735 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
3736 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
3737 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
3738 DISKFILTER.
3739 * include/grub/raid.h: Renamed to ...
3740 * include/grub/diskfilter.h: ... this.
3741 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
3742 (GRUB_RAID_LAYOUT_*): Make into array.
3743 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
3744 (grub_diskfilter_vg): New struct.
3745 (grub_diskfilter_pv_id): Likewise.
3746 (grub_raid_member): Removed.
3747 (grub_raid_array): Likewise.
3748 (grub_diskfilter_pv): New struct.
3749 (grub_diskfilter_lv): Likewise.
3750 (grub_diskfilter_segment): Likewise.
3751 (grub_diskfilter_node): Likewise.
3752 (grub_diskfilter_get_vg_by_uuid): New proto.
3753 (grub_raid_register): Inline.
3754 (grub_diskfilter_unregister): Likewise.
3755 (grub_diskfilter_make_raid): New proto.
3756 (grub_diskfilter_vg_register): Likewise.
3757 (grub_diskfilter_read_node): Likewise.
3758 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3759 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3760 (grub_util_is_ldm): Likewise.
3761 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3762 (grub_hostdisk_find_partition_start): Likewise.
3763 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3764 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3765 New definition.
3766 (grub_gpt_partition_map_iterate): New proto.
3767 * include/grub/lvm.h (grub_lvm_vg): Removed.
3768 (grub_lvm_pv): Likewise.
3769 (grub_lvm_lv): Likewise.
3770 (grub_lvm_segment): Likewise.
3771 (grub_lvm_node): Likewise.
3772 * util/getroot.c [...]
3773 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3774 (probe_abstraction): Likewise.
3775 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
3776 (main): Remove dead logic.
3777
3778 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 Simplify root device discover and don't fail when trying to open
3781 incorrect devices.
3782
3783 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
3784 function.
3785 (get_diskname_from_path): Likewise.
3786 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
3787 of iterating.
3788
3789 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
3792
3793 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
3796 pastthe end.
3797
3798 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * util/grub-install.in: Add missing \.
3801 Reported by: gentoofan
3802
3803 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
3806 (direct_read): Use correct compressed size.
3807 (grub_squash_read_data): Likewise.
3808
3809 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * docs/grub.texi (Platform limitations): New section.
3812 (Platform-specific operations): Likewise.
3813 * docs/grub-dev.texi (Porting): Likewise.
3814
3815 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 IEEE1275 disk write support.
3818
3819 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
3820 const void *.
3821 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
3822 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
3823 and seek loginc to ...
3824 (grub_ofdisk_prepare): ... here.
3825 (grub_ofdisk_write): Implement.
3826
3827 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 ARC disk write support.
3830
3831 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
3832 (reopen): New argument writable. All users updated.
3833 Handle required access mode.
3834 (grub_arcdisk_write): Implement.
3835 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
3836 (grub_arc_firmware_vector): Make buffer to write a const buffer.
3837
3838 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
3841 (read_sblock): Don't attempt to read superblocks outside the disk size.
3842
3843 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
3846 first superblock to find the second one when possible.
3847
3848 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * util/grub-install.in: Fix an ARC bug.
3851 Print a warning if no platform-specific setup is available.
3852
3853 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 Use static allocation rather than scratch pointer in reed_solomon.
3856 It decreases its size significantly and avoids a variable in .text.
3857
3858 * grub-core/lib/reed_solomon.c (scratch): Removed.
3859 (chosenstat): New const or static array.
3860 (sigma): Likewise.
3861 (errpot): Likewise.
3862 (errpos): Likewise.
3863 (sy): Likewise.
3864 (mstat): Likewise.
3865 (errvals): Likewise.
3866 (eqstat): Likewise.
3867 (pol_evaluate): Replace x with log_x argument. All users updated.
3868 (syndroms): Removed.
3869 (gauss_solve): Use statically allocated arrays.
3870 (rs_recover): Likewise.
3871 Calculate syndroms directly.
3872 (decode_block): Use statically allocated arrays.
3873 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
3874 (main) [TEST]: Allow -DTEST -DSTANDALONE.
3875
3876 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 Eliminate fixed limit on reed solomon decoder length.
3879
3880 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
3881 rather than hardcoding the address.
3882 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
3883 no_reed_solomon_length.
3884 Move gate_a20 to no-reed-solomon part.
3885 Don't force a particular size of no reed-solomon part.
3886 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3887 Removed.
3888 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
3889 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
3890
3891 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/commands/wildcard.c (match_files): Handle filenames
3894 without explicit device.
3895 (wildcard_expand): Don't add explicit device if not already present.
3896 * tests/grub_script_echo1.in: Add a new expansion test.
3897
3898 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 Replace single-linked with double-linked lists. It results in more
3901 compact and more efficient code.
3902
3903 * grub-core/kern/list.c (grub_list_push): Moved from here ...
3904 * include/grub/list.h (grub_list_push): ... to here. Set prev.
3905 (grub_list_remove): Moved from here ...
3906 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
3907 (grub_prio_list_insert): Set prev.
3908 * include/grub/list.h (grub_list): Add prev. All users updated.
3909
3910 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 Handle newer autotools. Add some missing quotes while on it.
3913
3914 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
3915 (pkglib_DATA): Move grub-mkconfig_lib from here ...
3916 (pkgdata_DATA): ... here.
3917 * Makefile.util.def (update-grub_lib): Removed.
3918 * conf/Makefile.common (pkglib_DATA): Removed.
3919 (pkglib_SCRIPTS): Likewise.
3920 (pkgdata_DATA): New variable.
3921 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
3922 needed.
3923 Add missing quotes.
3924 Remove unused variable while on it.
3925 * tests/util/grub-shell.in: Likewise.
3926 * util/grub-install.in: Likewise.
3927 * util/grub-mkconfig.in: Likewise.
3928 * util/grub-mknetdir.in: Likewise.
3929 * util/grub-mkrescue.in: Likewise.
3930 * util/grub-mkstandalone.in: Likewise.
3931 * util/grub.d/00_header.in: Likewise.
3932 * util/grub.d/10_hurd.in: Likewise.
3933 * util/grub.d/10_illumos.in: Likewise.
3934 * util/grub.d/10_kfreebsd.in: Likewise.
3935 * util/grub.d/10_linux.in: Likewise.
3936 * util/grub.d/10_netbsd.in: Likewise.
3937 * util/grub.d/10_windows.in: Likewise.
3938 * util/grub.d/20_linux_xen.in: Likewise.
3939 * util/grub.d/30_os-prober.in: Likewise.
3940 * util/update-grub_lib.in: Removed.
3941
3942 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
3943
3944 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
3945 a workaround for intel problem.
3946
3947 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
3948 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3949 2012-01-23 pfsmorigo
3950
3951 * util/grub-install.in: Support dd'in into PreP partition.
3952 * util/grub-probe.c (probe): Support discovering partition type.
3953 (main): Support -t msdos_parttype.
3954
3955 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
3958 infinite recursion using counter.
3959 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
3960 init to skip it if the magic check fails.
3961 (dec_stream_header): Init s->crc32.
3962
3963 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3964 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
3965 2012-01-22 Richard Laager <rlaager@wiktel.com>
3966
3967 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
3968 All users updated.
3969 (find_bestub): Determine correct size.
3970 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
3971 (scan_disk): Align the size down.
3972 Call check pool before find_bestub to have ashift.
3973
3974 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
3977 dprintf in no-malloc zone.
3978
3979 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
3980
3981 * configure.ac: Add back in test for limits.h.
3982
3983 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 Support 4K-sector NTFS.
3986
3987 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
3988 (grub_ntfs_data): Remove blocksize.
3989 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
3990 Remove data argument. All users updated.
3991
3992 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
3995 being in .text to avoid dprel references.
3996 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
3997 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
3998 (grub_arch_highmemsize): Likewise.
3999 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
4000 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
4001 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
4002
4003 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
4006
4007 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
4008 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
4009
4010 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
4013 GRUB_UTIL.
4014 (grub_set_datetime_cmos): Likewise.
4015
4016 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 Make XZ compression parameters dependent on target and not host CPU.
4019
4020 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
4021 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
4022
4023 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
4026 set but not used variable.
4027
4028 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
4031 created when no uuid support is compiled into mkfs.reiser.
4032
4033 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
4036 (utf8_to_macroman): Do the opposite.
4037 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
4038
4039 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * configure.ac: Refise build qemu_mips w/o unifont.
4042
4043 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 Eliminate grub_min/grub_max prone to overflow usage.
4046
4047 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
4048 (poll_nonroot_hub): Likewise.
4049 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
4050 (grub_affs_label): Likewise.
4051 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
4052 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
4053 (grub_hfs_label): Likewise.
4054 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
4055 * grub-core/fs/zfs/zfs.c (MIN): Remove.
4056 (zap_leaf_array_equal): Use grub_size. Remove MIN.
4057 (zap_leaf_array_get): Likewise.
4058 (dnode_get_path): Likewise.
4059 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
4060 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
4061 * grub-core/script/execute.c (grub_script_break): Likewise.
4062 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
4063 grub_max.
4064 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
4065 * include/grub/misc.h (grub_min): Removed.
4066 (grub_max): Likewise.
4067
4068 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4069
4070 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
4071 direct.inode = 0.
4072
4073 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4074
4075 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
4076
4077 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
4080
4081 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
4084 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
4085
4086 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
4089 rather than a hack for grub_strncasemap.
4090
4091 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 Support multiple initrds
4094 Note: part of this was accidently committed in r3739.
4095
4096 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
4097 initrd.
4098 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4099 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4100 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4101 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4102 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4103
4104 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
4107 disks with unknown size.
4108 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
4109
4110 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 Remove defines pertaining to arbitrary limits not affecting GRUB
4113 anymore.
4114
4115 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
4116 (EXT2_MAX_SYMLINKCNT): Likewise.
4117 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
4118 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
4119 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
4120 (GRUB_PXE_MAX_BLKSIZE): Likewise.
4121 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
4122 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
4123 (DN_MAX_OBJECT_SHIFT): Likewise.
4124 (DN_MAX_OFFSET_SHIFT): Likewise.
4125 (DN_MAX_OBJECT): Likewise.
4126 (DNODES_PER_LEVEL_SHIFT): Likewise.
4127 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
4128 (SPA_MAXBLOCKSIZE): Likewise.
4129 (SPA_BLOCKSIZES): Likewise.
4130 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
4131 (MZAP_MAX_BLKSZ): Likewise.
4132
4133 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
4136 handle NULL appropriately.
4137 Remove MIN.
4138
4139 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 Fix efiemu.
4142
4143 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
4144 cpu/types.h.
4145 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
4146 * configure.ac: Fix efiemu check.
4147
4148 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
4151 grub_probe.
4152 Reported by: adamwill
4153
4154 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
4155
4156 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
4157
4158 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 Fix handling of wide characters in gfxterm.
4161
4162 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
4163 (clear_char): Likewise.
4164 (paint_char): Skip code == NULL chars.
4165 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
4166
4167 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * grub-core/normal/charset.c: Move comment to right place.
4170
4171 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
4174 (GRUB_AFFS_FLAG_FFS): Put back where it was.
4175 (grub_affs_mount): Revert the correct version checking.
4176
4177 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 * docs/grub.texi (Unicode): Mention several other unsupported features.
4180
4181 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
4184 case statements as compile-time one.
4185 (direct_read): Prevent spurious warnings.
4186 (grub_squash_read_data): Likewise.
4187
4188 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 Various squash4 fixes and LZO and XZ support.
4191
4192 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
4193 Add xzembed source files.
4194 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
4195 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
4196 (grub_squash_inode): New subtype long_dir.
4197 (SQUASH_TYPE_LONG_DIR): New inode type.
4198 (COMPRESSION): New enum.
4199 (XZBUFSIZ): New const.
4200 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
4201 (read_chunk): Use data->decompress.
4202 (zlib_decompress): New function.
4203 (lzo_decompress): Likewise.
4204 (xz_decompress): Likewise.
4205 (squash_mount): Set new data fields.
4206 (grub_squash_iterate_dir): Handle long dir.
4207 (squash_unmount): Free xzdec and xzbuf.
4208 (grub_squash_open): Check ino type.
4209 (direct_read): Stylistic fixes. Use data->decompress.
4210 (grub_squash_read_data): Likewise.
4211 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
4212 (get_byte): Likewise.
4213 (grub_zlib_disk_read): Removed.
4214 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
4215 (GRUB_POSIX_BOOL_DEFINED): New define.
4216 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
4217 * grub-core/lib/xzembed/xz.h: Addmissing includes.
4218 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
4219 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
4220
4221 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 Don't override more informative errors.
4224
4225 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
4226 * grub-core/font/font.c (open_section): Likewise.
4227 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
4228 filename. Don't override errors.
4229 (grub_cmd_openbsd_ramdisk): Don't override errors.
4230 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
4231 (grub_cmd_initrd): Likewise.
4232 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4233 (grub_cmd_initrd): Likewise.
4234 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
4235 (grub_cmd_linux): Likewise.
4236 (grub_cmd_initrd): Likewise.
4237 (grub_cmd_payload): Likewise.
4238 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4239 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
4240 (grub_cmd_module): Likewise.
4241 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4242 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4243 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
4244 (grub_cmd_xnu_mkext): Likewise.
4245 (grub_cmd_xnu_ramdisk): Likewise.
4246 (grub_xnu_check_os_bundle_required): Likewise.
4247 (grub_xnu_load_kext_from_dir): Likewise.
4248 (grub_cmd_xnu_kextdir): Likewise.
4249 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
4250
4251 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
4254 as 1024 in block size field. Found on one of my test images.
4255 Small optimisation while on it.
4256
4257 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
4260 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
4261 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
4262 performance fixes while on it.
4263 (grub_sfs_close): Fix memory leak while on it.
4264 (grub_sfs_label): Convert Latin1 to UTF-8.
4265
4266 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
4269 space to avoid overflows.
4270 (grub_hfs_label): Convert from macroman to UTF-8.
4271
4272 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
4275
4276 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
4279
4280 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * unicode: Import Unicode 6.0 data.
4283
4284 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
4287 outside of range.
4288
4289 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 Avoid cutting in the middle of UTF-8 character.
4292
4293 * include/grub/charset.h (grub_getend): New function.
4294 * grub-core/script/function.c (grub_script_function_find): Use
4295 grub_getend.
4296 * grub-core/normal/completion.c (add_completion): Likewise.
4297
4298 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
4301 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
4302 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
4303 (GRUB_UNICODE_TAG_END): Likewise.
4304 (GRUB_UNICODE_LAST_VALID): Likewise.
4305
4306 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
4309 len and make it smaller. All users updated.
4310 * util/import_unicode.py: Put length and not end character.
4311 Check length.
4312
4313 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 Make better Unicode-compliant and unify some UTF-8 code pathes.
4316
4317 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
4318 valid character.
4319 (grub_is_valid_utf8): Use grub_utf8_process.
4320 Check resulting code range.
4321 (grub_utf8_to_ucs4): Use grub_utf8_process.
4322 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
4323 valid character.
4324
4325 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
4328
4329 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * docs/grub.texi (Filesystems): Mention AFS.
4332
4333 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 * docs/grub.texi (Filesystems): Clarify restrictions.
4336 (Regexp): Mention non-Unicode regexp behaviour.
4337 (Other): Mention non-Unicode matching behaviour.
4338
4339 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4340
4341 Make HFS implementation use MacRoman.
4342
4343 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
4344 (macroman): New const array.
4345 (macroman_to_utf8): New function.
4346 (utf8_to_macroman): Likewise.
4347 (grub_hfs_find_dir): Use utf8_to_macroman.
4348 (grub_hfs_dir): Use macroman_to_utf8.
4349 Set case_insensitive.
4350
4351 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
4354
4355 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 Integrate hints into autogeneration scripts.
4358
4359 * docs/grub.texi (Filesystems): Add a hostdisk example.
4360 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
4361 (grub-probe): Add ofpath.
4362 * gentpl.py: Remove group nosparc64.
4363 * grub-core/commands/search.c (cache_entry): New struct.
4364 (cache): New var.
4365 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
4366 * grub-core/commands/search_wrap.c (options): Add platform-specific
4367 hint options.
4368 (grub_cmd_search): Handle platform-specific hints.
4369 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
4370 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
4371 (grub_util_biosdisk_data): Likewise.
4372 (grub_util_biosdisk_open): Set device_map.
4373 (read_device_map): Handle "" as indication of no map.
4374 Set device_map.
4375 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
4376 (grub_util_biosdisk_get_compatibility_hint): New function.
4377 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
4378 * include/grub/emu/hostdisk.h
4379 (grub_util_biosdisk_get_compatibility_hint): New proto.
4380 * util/grub-install.in: Don't call grub-mkdevicemap.
4381 Add platform-specific hint to load.cfg.
4382 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
4383 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4384 hints. Set root preliminary to compatibility hint, not to OS name.
4385 * util/grub-probe.c (PRINT_*): Add hints.
4386 (print): Make static.
4387 (escape_of_path): New function.
4388 (guess_bios_drive): Likewise.
4389 (guess_efi_drive): Likewise.
4390 (guess_baremetal_drive): Likewise.
4391 (print_full_name): Likewise.
4392 (probe): Handle hints.
4393 (main): Likewise.
4394 * util/ieee1275/devicemap.c: Removed.
4395 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
4396 updated.
4397 (grub_util_devname_to_ofpath): Return NULL on failure.
4398
4399 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
4400 resource leak.
4401 * util/getroot.c (grub_util_pull_device): Fix memory leak.
4402
4403 * po/POTFILES.in: Regenerated.
4404
4405 Allow purely long options
4406
4407 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
4408 (SHORT_ARG_USAGE): Likewise.
4409 (grub_arg_show_help): Compare opt with help_options.
4410 (parse_option): Receive opt as argument. If makes big simplificatons.
4411 All users updated
4412
4413 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
4416 Restructure to avoid warning.
4417
4418 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * util/grub-install.in: Account for possible escaped comma in device
4421 name.
4422
4423 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
4426 channel.
4427
4428 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
4431 allocation and zero-setting.
4432 (grub_ieee1275_get_devname): Check that alias is complete.
4433
4434 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
4437 unaligned segments.
4438
4439 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
4442 prefix.
4443 (grub_ofdisk_open): Check and discard ieee1275 prefix.
4444 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4445 Add ieee1275 prefix.
4446
4447 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 * docs/grub.texi (Filesystems): Update.
4450
4451 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 Support odc, newc and bigendian cpio formats.
4454
4455 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
4456 * grub-core/Makefile.core.def (newc): New module.
4457 (odc): Likewise.
4458 (cpio_be): Likewise.
4459 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
4460 (MAGIC): Likewise.
4461 (MAGIC2): Likewise.
4462 (head) [MODE_ODC]: Adapt for the format.
4463 (head) [MODE_NEWC]: Likewise.
4464 (head) [!MODE_*]: Write fields of interest as arrays.
4465 (MAGIC_USTAR): Removed.
4466 (read_number) [MODE_NEWC]: Change to hex.
4467 (read_number) [!MODE_*]: Parse binary arrays.
4468 (grub_cpio_find_file): Factor out the code for better structure and
4469 always use read_number.
4470 (grub_cpio_mount): Use MAGIC and MAGIC2.
4471 (grub_cpio_dir): Exit on first hook non-0 return.
4472 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
4473 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
4474 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
4475 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
4476 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
4477 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
4478 * grub-core/fs/newc.c: New file.
4479 * grub-core/fs/odc.c: Likewise.
4480 * grub-core/fs/cpio_be.c: Likewise.
4481
4482 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 Fix handling of tar numbers occupying the whole field.
4485
4486 * grub-core/fs/cpio.c (read_number): New function.
4487 (grub_cpio_find_file): Use read_number instead of strtoull.
4488
4489 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
4492 occupying the whole field size.
4493
4494 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
4495
4496 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4497
4498 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4501
4502 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4503
4504 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4505 TARGET_IMG_LDFLAGS.
4506
4507 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4510 (mountinfo_entry): Increase the field size to take escaping into
4511 account.
4512 (find_root_device_from_libzfs): Add one byte to size of strings for
4513 security.
4514
4515 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4518 an assert.
4519 * util/grub-setup.c (setup): Likewise.
4520
4521 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4524 _LzmaDecodeA.
4525
4526 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * docs/grub.texi (Internationalisation): New section.
4529
4530 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * docs/grub.texi (Loopback booting): New section.
4533
4534 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
4535
4536 * util/grub-mkstandalone.in: Fix minor typo errors.
4537
4538 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4541
4542 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4543 net/icmp.c and net/icmp6.c.
4544 (http): New module.
4545 (priority_queue): Likewise.
4546 * grub-core/io/bufio.c: Rewritten.
4547 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4548 TYPE_WITH_CONFIGFILE_OPTION.
4549 (legacy_commands): Add bootp and dhcp.
4550 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4551 (grub_legacy_parse): Likewise.
4552 * grub-core/lib/priority_queue.c: New file.
4553 * grub-core/net/arp.c: Add missing license header.
4554 (arp_find_entry): Removed.
4555 (arp_find_entry): Likewise.
4556 (grub_net_arp_resolve): Rename to ...
4557 (grub_net_arp_send_request): ...this.
4558 (grub_net_arp_receive): New card argument.
4559 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4560 Set router and DNS server.
4561 (grub_net_configure_by_dhcp_ack): Handle routing information.
4562 (grub_cmd_bootp): Set checksum.
4563 (grub_bootp_init): Remove net_dhcp.
4564 * grub-core/net/dns.c: New file.
4565 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4566 completion.
4567 (get_card_packet): Handle allocation.
4568 (grub_efinet_findcards): Set mtu.
4569 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4570 (get_card_packet): Handle allocation.
4571 (emucard): Set mtu.
4572 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4573 (GRUB_MOD_INIT): Set mtu.
4574 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4575 mtu.
4576 (get_card_packet): Handle allocation.
4577 (grub_ofnet_findcards): Set mtu.
4578 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4579 assert.
4580 (grub_net_recv_ethernet_packet): Handle IPv6.
4581 * grub-core/net/http.c: New file.
4582 * grub-core/net/icmp.c: Likewise.
4583 * grub-core/net/icmp6.c: Likewise.
4584 * grub-core/net/ip.c (ip6addr): New type.
4585 (ip6hdr): Likewise.
4586 (reassemble): Likewise.
4587 (cmp): New function.
4588 (reassembles): New variable.
4589 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4590 (id): New variable.
4591 (send_fragmented): New function.
4592 (grub_net_send_ip_packet): Rename to ...
4593 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4594 Handle non-UDP.
4595 (grub_net_recv_ip_packets): Rename to ...
4596 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4597 (free_rsm): New function.
4598 (free_old_fragments): Likewise.
4599 (grub_net_recv_ip4_packets): New function.
4600 (grub_net_send_ip6_packet): Likewise.
4601 (grub_net_send_ip_packet): Likewise.
4602 (grub_net_recv_ip6_packets): Likewise.
4603 (grub_net_recv_ip_packets): Likewise.
4604 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4605 (LINK_LAYER_CACHE_SIZE): New const.
4606 (link_layer_find_entry): New function.
4607 (grub_net_link_layer_add_address): Likewise.
4608 (grub_net_link_layer_resolve_check): Likewise.
4609 (grub_net_link_layer_resolve): Likewise.
4610 (grub_net_ipv6_get_slaac): Likewise.
4611 (grub_net_ipv6_get_link_local): Likewise.
4612 (grub_cmd_ipv6_autoconf): Likewise.
4613 (parse_ip): Handle one number representation.
4614 (parse_ip6): New functoion.
4615 (match_net): Handle IPv6.
4616 (grub_net_resolve_address): Handle IPv6 and DNS.
4617 (grub_net_resolve_net_address): Handle IPv6.
4618 (route_cmp): New function.
4619 (grub_net_route_address): Find best route.
4620 (grub_net_addr_to_str): Handle IPv6.
4621 (grub_net_addr_cmp): New function.
4622 (grub_net_add_addr): Register local route.
4623 (print_net_address): Handle net address.
4624 (grub_net_poll_cards): Retransmit TCP.
4625 (grub_net_poll_cards_idle_real): Likewise.
4626 (have_ahead): New function.
4627 (grub_net_seek_real): Use underlying seek.
4628 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4629 * grub-core/net/tcp.c: New file.
4630 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4631 (cmp): New function.
4632 (ack): Likewise.
4633 (tftp_receive): Handle unordered input.
4634 (destroy_pq): New function.
4635 (tftp_close): Close pq.
4636 * grub-core/net/udp.c: Put missing license header.
4637 (grub_net_udp_socket): New function.
4638 (udp_socket_register): Likewise.
4639 (grub_net_udp_close): Likewise.
4640 (grub_net_recv_udp_packet): Check checksum.
4641 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4642 * include/grub/misc.h (grub_memchr): New function.
4643 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4644 (grub_net_card_driver): Return buf in recv.
4645 (grub_net_slaac_mac_list): New struct.
4646 (grub_network_level_protocol_id): Add ipv6.
4647 (grub_net_network_level_addr): Likewise.
4648 (grub_net_network_level_net_addr): Likewise.
4649 (grub_net_app_protocol): Add seek.
4650 (grub_net_socket): Removed.
4651 (grub_net_sockets): Likewise.
4652 (grub_net_socket_register): Likewise.
4653 (grub_net_socket_unregister): Likewise.
4654 (FOR_NET_SOCKETS): Likewise.
4655 (grub_net_add_addr): Add const.
4656 (GRUB_NET_BOOTP_*): New enum.
4657 (grub_net_addr_cmp): New proto.
4658 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4659 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4660 (grub_net_hwaddr_to_str): NEw proto.
4661 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4662 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4663 (grub_dns_init): New proto.
4664 (grub_dns_fini): Likewise.
4665 (grub_net_tcp_retransmit): Likewise.
4666 (grub_net_link_layer_add_address): Likewise.
4667 (grub_net_link_layer_resolve_check): Likewise.
4668 (grub_net_link_layer_resolve): Likewise.
4669 (grub_net_dns_lookup): Likewise.
4670 (grub_net_add_dns_server): Likewise.
4671 (grub_net_remove_dns_server): Likewise.
4672 (GRUB_NET_TRIES): New const.
4673 (GRUB_NET_INTERVAL): Likewise.
4674 * include/grub/net/arp.h: Mostly rewritten.
4675 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
4676 * include/grub/net/ip.h: Mostly rewritten.
4677 * include/grub/net/netbuff.h: Indent.
4678 * include/grub/net/tcp.h: New file.
4679 * include/grub/net/udp.h: Mostly rewritten.
4680 * include/grub/priority_queue.h: New file.
4681 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
4682 (grub_swap_bytes64_compile_time): Likewise.
4683 (grub_cpu_to_be16_compile_time): Likewise.
4684 (grub_cpu_to_be32_compile_time): Likewise.
4685 (grub_cpu_to_be64_compile_time): Likewise.
4686 (grub_be_to_cpu64_compile_time): Likewise.
4687
4688 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
4691 UINT_TO_PTR with cast.
4692
4693 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4696 don't use them.
4697
4698 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
4701 already there.
4702
4703 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
4706 confusing ipxe.
4707
4708 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
4711 Add missing const attribute.
4712 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
4713 Likewise.
4714 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
4715 Likewise.
4716
4717 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
4720 misaligned access.
4721 (serpent_setkey): Likewise.
4722 (serpent_encrypt_internal): Likewise.
4723 (serpent_decrypt_internal): Likewise.
4724 (serpent_encrypt): Don't put an alignment-increasing cast.
4725 (serpent_decrypt): Likewise.
4726 (serpent_test): Likewise.
4727
4728 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
4731
4732 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
4735
4736 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
4737 grub_addr_t casts.
4738 (PTR_TO_UINT64): Likewise.
4739 (PTR_TO_UINT32): Likewise.
4740
4741 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 * util/grub-mkimage.c (generate_image): Decrease the higher limit
4744 because of stack.
4745 * util/grub-setup.c (setup): Don't add redundancy past the higher load
4746 limit.
4747
4748 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4751 text_width > available width a bit more gracefully.
4752
4753 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4756 current address calculation.
4757
4758 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4761 stack.
4762 (encode_block): Likewise.
4763
4764 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4767 certainety.
4768
4769 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4772 non-RS part to avoid RS messing with GDT.
4773 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4774 Increase to suit in realmode routines.
4775
4776 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/kern/i386/realmode.S: Increase alignment.
4779 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
4780
4781 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
4784 be deterministic.
4785 (syndroms): Compute 0 syndrom.
4786 (rs_recover): Use 0 syndrom.
4787
4788 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
4791
4792 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
4795 brackets.
4796
4797 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
4800 account.
4801 (get_top_pad): Likewise.
4802 (get_right_pad): Likewise.
4803 (get_bottom_pad): Likewise.
4804
4805 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
4808
4809 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
4812 attribute as the structure isn't guaranteed to be properly aligned.
4813 (grub_efi_pci_device_path): Likewise.
4814 (grub_efi_pccard_device_path): Likewise.
4815 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
4816 specify the size of `memory_type'.
4817 (grub_efi_vendor_device_path): Likewise.
4818 (grub_efi_controller_device_path): Likewise.
4819 (grub_efi_acpi_device_path): Likewise.
4820 (grub_efi_expanded_acpi_device_path): Likewise.
4821 (grub_efi_atapi_device_path): Likewise.
4822 (grub_efi_scsi_device_path): Likewise.
4823 (grub_efi_fibre_channel_device_path): Likewise.
4824 (grub_efi_1394_device_path): Likewise.
4825 (grub_efi_usb_device_path): Likewise.
4826 (grub_efi_usb_class_device_path): Likewise.
4827 (grub_efi_i2o_device_path): Likewise.
4828 (grub_efi_mac_address_device_path): Likewise.
4829 (grub_efi_ipv4_device_path): Likewise.
4830 (grub_efi_ipv6_device_path): Likewise.
4831 (grub_efi_infiniband_device_path): Likewise.
4832 (grub_efi_uart_device_path): Likewise.
4833 (grub_efi_vendor_messaging_device_path): Likewise.
4834 (grub_efi_hard_drive_device_path): Likewise.
4835 (grub_efi_cdrom_device_path): Likewise.
4836 (grub_efi_vendor_media_device_path): Likewise.
4837 (grub_efi_file_path_device_path): Likewise.
4838 (grub_efi_protocol_device_path): Likewise.
4839 (grub_efi_piwg_device_path): Likewise.
4840 (grub_efi_bios_device_path): Likewise.
4841
4842 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
4845 (grub_ucs4_to_utf8_alloc): Likewise.
4846 (grub_ucs4_to_utf8): Likewise.
4847 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
4848 (grub_ucs4_to_utf8_alloc): Likewise.
4849
4850 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 AFFS never uses unicode.
4853
4854 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
4855 (grub_latin1_to_utf8): New inline function.
4856 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
4857
4858 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
4861 overflow.
4862
4863 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
4866 (grub_squash_dirent_header): Likewise.
4867 (read_chunk): Don't double swap.
4868 (grub_squash_iterate_dir): Fix swap sizes.
4869
4870 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
4873
4874 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
4877 (grub_hfs_iterate_dir): Likewise.
4878
4879 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 Fix video on platforms where unaligned access is forbidden.
4882 Make several optimisations while on it.
4883
4884 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
4885 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4886 (grub_video_fbblit_replace_32bit_1bit): Likewise.
4887 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4888 Disable.
4889 (grub_video_fbblit_replace_16bit_1bit):
4890 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4891 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4892 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
4893 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
4894 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4895 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4896 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
4897 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
4898 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
4899 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
4900 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
4901 (grub_video_fbblit_replace_index_RGB888): Likewise.
4902 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
4903 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
4904 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
4905 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4906 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
4907 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4908 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4909 Disable.
4910 (grub_video_fbblit_blend_XXX565_1bit):
4911 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4912 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
4913 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
4914 void *.
4915 * grub-core/video/fb/video_fb.c (common_blitter)
4916 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
4917 (grub_video_fb_create_render_target_from_pointer)
4918 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4919 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
4920 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
4921 definition.
4922 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
4923
4924 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
4927 HH22 and HM10 relocations.
4928
4929 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
4932
4933 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
4936 allocation succeeded.
4937
4938 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
4941 argument a u8 pointer. All users updated.
4942 Handle unaligned buffers.
4943
4944 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
4947 add_part to workaround compiler bug.
4948
4949 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
4952
4953 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
4956 Reserve alignment invariants.
4957 (grub_multiboot_load): Likewise.
4958 (retrieve_video_parameters): Likewise.
4959 (grub_multiboot_make_mbi): Likewise.
4960
4961 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
4964 incorrect pointer.
4965
4966 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
4969 (grub_pata_pio_write): Likewise.
4970
4971 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 Add noreturn attributes and remove unreachable code.
4974
4975 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
4976 code.
4977 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
4978 code. Mark as noreturn.
4979 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
4980 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
4981 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
4982 unreachable code.
4983 * grub-core/kern/main.c (grub_main): Mark as noreturn.
4984 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
4985 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
4986 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
4987 * include/grub/kernel.h (grub_main): Mark as noreturn.
4988 * include/grub/reader.h (grub_rescue_run): Likewise.
4989
4990 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
4993 redundant declaration.
4994
4995 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * include/grub/net.h (grub_net_network_level_interfaces): Remove
4998 redundant declaration.
4999 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
5000
5001 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5002
5003 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
5004 to ensure alignment.
5005 (grub_hdparm_print_identify): Make argument uint16 * to ensure
5006 alignment. Ensure tmp alignment.
5007 (grub_cmd_hdparm): Ensure buf alignment.
5008 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
5009 to ensure alignment.
5010 (grub_ata_dumpinfo): Ensure text alignment.
5011 (grub_atapi_identify): Preserve alignment invariant.
5012 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
5013
5014 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
5017 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
5018 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
5019 * include/grub/misc.h (grub_reboot)
5020 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
5021 (grub_halt) [__mips__]: Likewise.
5022
5023 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
5026 Remove redundant declaration.
5027 (grub_mmap_get_post64): Likewise.
5028 (grub_mmap_get_upper): Likewise.
5029 (grub_mmap_get_lower): Likewise.
5030
5031 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
5034 uint32_t * to ensure alignment.
5035 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
5036
5037 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
5040 uint16_t * to ensure alignment.
5041 (sun_pc_partition_map_iterate): Make `block' a union to ensure
5042 alignment.
5043
5044 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
5047 to ensure alignment.
5048 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
5049
5050 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 * grub-core/fs/ntfs.c (u16at): Make into inline function.
5053 Handle unaligned pointers.
5054 (u32at): Likewise.
5055 (u64at): Likewise.
5056 (fixup): Use byte access instead of v16at.
5057 (find_attr): Fix imporper usage of v32at.
5058 (read_data): Likewise.
5059 (list_file): Handle byte-swapping and unaligned strings.
5060 (grub_ntfs_label): Likewise.
5061
5062 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
5065 as it's not necessarily aligned.
5066
5067 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
5070 redundant declaration.
5071 (grub_serial_init): Likewise.
5072 (grub_terminfo_init): Likewise.
5073
5074 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
5077 function.
5078 (ZAP_HASH_IDX): Likewise.
5079 (ZAP_LEAF_HASH_SHIFT): Likewise.
5080 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
5081 (LEAF_HASH): Likewise.
5082 (ZAP_LEAF_NUMCHUNKS): Likewise.
5083 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
5084 alignment invariants. Return pointer. All users updated.
5085 (ZAP_LEAF_ENTRY): Make into inline function.
5086 (NBBY): Removed.
5087 (xor): LIkewise.
5088 (xor_out): Use grub_crypto_xor.
5089 (dnode_get_path): Use grub_get_unaligned.
5090 (nvlist_find_value): Likewise.
5091 (grub_zfs_nvlist_lookup_uint64): Likewise.
5092 (grub_zfs_nvlist_lookup_string): Likewise.
5093 (get_nvlist_size): Likewise.
5094 (grub_zfs_open): Likewise.
5095 (fill_fs_info): Likewise.
5096 (grub_zfs_dir): Likewise.
5097 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
5098 alignment invariants.
5099 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
5100 necessarily aligned.
5101
5102 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
5105
5106 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
5109 arithmetic to conserve alignment invariants.
5110
5111 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
5114 redundant declaration.
5115 (grub_efiemu_mm_obtain_request): Likewise.
5116 (grub_efiemu_prepare): Likewise.
5117
5118 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
5121 to match types.
5122
5123 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
5126 case of aunaligned recptr.
5127 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
5128 alignment.
5129 (grub_hfsplus_btree_search): Handle unaligned index.
5130
5131 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
5134 to get freetag and skip.
5135
5136 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
5139 array.
5140 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
5141 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
5142
5143 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
5146 name for checksum and fix allocation algorithm.
5147
5148 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * include/grub/types.h (grub_properly_aligned_t): New type.
5151 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
5152 (grub_get_unaligned16): Add explicit casts.
5153 (grub_get_unaligned32): Likewise.
5154 (grub_get_unaligned64): Likewise.
5155 (grub_set_unaligned16): New function.
5156 (grub_set_unaligned32): Likewise.
5157
5158 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5161
5162 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
5165 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
5166 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
5167
5168 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
5171 conditionals.
5172
5173 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
5176 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
5177
5178 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 Unify and improve RAID and crypto xor.
5181
5182 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
5183 changed to grub_crypto_xor
5184 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
5185 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
5186 Use bigger types when possible.
5187
5188 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 * grub-core/disk/raid.c (scan_devices): Fix condition.
5191
5192 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
5195 Make name a const ptr.
5196
5197 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
5200 first argument a const pointer.
5201 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
5202 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
5203 proto.
5204 (grub_children_iterate): Likewise.
5205 (grub_machine_mmap_iterate): Remove redundant declaration.
5206
5207 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
5210 (grub_cmd_acpi) [!x86]: Disable EBDA.
5211
5212 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 Enable UTF8 in gnulib regexp.
5215
5216 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
5217 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
5218 (isupper): Use grub_isupper.
5219 (isascii): New inline function.
5220 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
5221 * grub-core/lib/posix_wrap/wctype.h: Likewise.
5222 * grub-core/normal/charset.c (grub_utf8_process): New function.
5223 (grub_utf8_to_utf16): Use grub_utf8_process.
5224 (grub_encode_utf8_character): New function.
5225 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
5226 * include/grub/charset.h (grub_utf8_process): New declaration.
5227 (grub_encode_utf8_character): Likewise.
5228 * include/grub/misc.h (grub_islower): New inline function.
5229 (grub_isupper): Likewise.
5230 (grub_strchrsub): Moved down to fix the definitions.
5231
5232 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
5235 specification.
5236
5237 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * include/grub/loader.h (grub_loader_register_preboot_hook):
5240 Use struct preboot * and not void * for handle. All users updated.
5241 (grub_loader_unregister_preboot_hook): Likewise.
5242
5243 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
5246 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
5247 UTF-16-BE. All users updated.
5248 (grub_hfsplus_cmp_catkey): Fix unicode handling.
5249 (grub_hfsplus_iterate_dir): Likewise.
5250 (grub_hfsplus_label): Likewise.
5251
5252 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5253
5254 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
5255
5256 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 Add missing const qualifiers.
5259
5260 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
5261 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
5262 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
5263 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
5264 (grub_lvm_check_flag): Likewise.
5265 * grub-core/efiemu/i386/coredetect.c
5266 (grub_efiemu_get_default_core_name): Likewise
5267 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5268 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
5269 * grub-core/fs/ntfs.c (fixup): Likewise.
5270 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
5271 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
5272 (fzap_lookup): Likewise.
5273 (zap_lookup): Likewise.
5274 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
5275 * grub-core/lib/legacy_parse.c (check_option): Likewise.
5276 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
5277 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
5278 (grub_freebsd_add_meta_module): Likewise.
5279 (grub_cmd_freebsd_module): Likewise.
5280 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
5281 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
5282 (grub_xnu_writetree_get_size): Likewise.
5283 (grub_xnu_writetree_toheap_real): Likewise.
5284 (grub_xnu_find_key): Likewise.
5285 (grub_xnu_create_key): Likewise.
5286 (grub_xnu_create_value): Likewise.
5287 (grub_xnu_register_memory): Likewise.
5288 (grub_xnu_check_os_bundle_required): Likewise.
5289 (grub_xnu_scan_dir_for_kexts): Likewise.
5290 (grub_xnu_load_kext_from_dir): Likewise.
5291 * grub-core/normal/color.c (color_list): Likewise.
5292 * grub-core/normal/completion.c (current_word): Likewise.
5293 * grub-core/normal/menu_entry.c (insert_string): Likewise.
5294 * grub-core/term/serial.c (grub_serial_find): Likewise.
5295 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
5296 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
5297 Likewise.
5298 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
5299 (grub_freebsd_add_meta_module): Likewise.
5300 * include/grub/lib/arg.h (grub_arg_option): Likewise.
5301 * include/grub/net.h (grub_net_card_driver): Likewise.
5302 (grub_net_card): Likewise.
5303 (grub_net_app_protocol): Likewise.
5304 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
5305 * include/grub/serial.h (grub_serial_find): Likewise.
5306 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
5307 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
5308 (grub_xnu_create_value): Likewise.
5309 (grub_xnu_find_key): Likewise.
5310 (grub_xnu_scan_dir_for_kexts): Likewise.
5311 (grub_xnu_load_kext_from_dir): Likewise.
5312
5313 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
5314 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
5315 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
5316 Moved from here ...
5317 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
5318
5319 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
5320
5321 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
5322
5323 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
5326 (read_device): Fix size calculation.
5327
5328 2011-11-25 Robert Millan <rmh@gnu.org>
5329
5330 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
5331 (find_root_device_from_libzfs): Add zpool output parser to be used
5332 as fallback when libzfs isn't available.
5333
5334 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
5335
5336 * po/Makefile.in.in: Add missing escape-continuation.
5337
5338 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
5341
5342 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
5345
5346 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
5349
5350 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
5353
5354 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 * grub-core/lib/adler32.c: Add missing license specification.
5357 * grub-core/lib/crc64.c: Likewise.
5358 * grub-core/loader/i386/pc/plan9.c: Likewise.
5359 * grub-core/partmap/plan.c: Likewise.
5360
5361 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
5362
5363 Add facility to debug GRUB with gdb under qemu.
5364
5365 * grub-core/gdb_grub.in: New file.
5366 * grub-core/gmodule.pl.in: Likewise.
5367 * grub-core/Makefile.core.def (gmodule.pl): New script.
5368 (gdb_grub): Likewise.
5369
5370 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * util/grub-mount.c (argp_parser): Accept relative pathes.
5373 * util/grub-fstest.c (argp_parser): Likewise.
5374
5375 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 Plan9 support.
5378
5379 * Makefile.util.def (libgrubmods): Add
5380 grub-core/partmap/plan.c.
5381 * docs/grub.texi: Notice Plan9 support.
5382 * grub-core/Makefile.core.def (plan9): New module.
5383 (part_plan): Likewise.
5384 * grub-core/loader/i386/pc/plan9.c: New file.
5385 * grub-core/partmap/plan.c: Likewise.
5386 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
5387 define.
5388 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
5389 * include/grub/mm.h (grub_extend_alloc): New inline function.
5390
5391 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5392
5393 Make Reed-Solomon faster by using power of generator representation of
5394 GF(256)*.
5395
5396 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
5397 (gf_double_t): Likewise.
5398 (gf_invert): Removed.
5399 (gf_powx): New array.
5400 (gf_powx_inv): Likewise.
5401 (scratch): Move higher.
5402 (gf_reduce): Removed.
5403 (gf_mul): Use powx.
5404 (gf_invert): Likewise.
5405 (init_inverts): Replaced with ...
5406 (init_powx): ...this. All users updated.
5407 (pol_evaluate): Replace multiplications with additions.
5408 (rs_encode): Likewise.
5409 (gauss_eliminate): Call gf_invert.
5410 (grub_reed_solomon_add_redundancy): Call init_powx.
5411 (grub_reed_solomon_recover): Call init_powx unconditionally.
5412
5413 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
5416
5417 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
5420 disk->partiton for safety.
5421
5422 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5425 Fix a memory leak.
5426 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
5427
5428 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
5431
5432 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
5435
5436 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 Fix spaces handling in proc/self/mountinfo.
5439
5440 * util/getroot.c (unescape): New function.
5441 (grub_find_root_device_from_mountinfo): Use unescape.
5442
5443 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5444
5445 Support ZFS embedding.
5446
5447 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
5448 (grub_zfs_fs): Register grub_zfs_embed.
5449
5450 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 Fix MIPS compilation.
5453
5454 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
5455 * include/grub/offsets.h: Rename decompressor fields from
5456 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
5457 * util/grub-mkimage.c (image_targets): Use new names.
5458
5459 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 Defer multiboot device parsing until we're in compressed part.
5462
5463 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
5464 bsd_part. setdevice has fallen into disuse.
5465 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
5466 (bsd_part): Likewise.
5467 (boot_dev): New variable.
5468 (multiboot_trampoline): Don't parse multiboot device.
5469 Pass multiboot device in %edx.
5470 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
5471 grub_boot_device.
5472 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
5473 Likewise.
5474 * grub-core/kern/i386/pc/startup.S: Save edx.
5475 (grub_boot_drive): Removed.
5476 (grub_install_dos_part): Likewise.
5477 (grub_install_bsd_part): Likewise.
5478 (grub_boot_device): New variable.
5479 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
5480 (grub_install_bsd_part): Likewise.
5481 (grub_boot_drive): Likewise.
5482 (grub_boot_device): New variable.
5483 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
5484 Removed.
5485 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5486 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
5487 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
5488 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
5489 * util/grub-install.in: Remove redundant condition.
5490
5491 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 Fix bug introduced by previous commit.
5494
5495 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5496
5497 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 Use decompressors framework on i386-pc. It increases core size
5500 by 46 bytes but improves compatibility and maintainability.
5501
5502 * grub-core/Makefile.core.def (lzma_decompress): New image.
5503 (kernel): Add i386_pc_ldflags.
5504 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5505 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5506 to real_to_prot, prot_to_real and device info.
5507 * include/grub/offsets.h: Renamed decompressor offsets.
5508 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5509 (image_target_desc): Remove raw_size and rename decompressor fields.
5510 (compress_kernel): Handle lzma.
5511 (generate_image): Handle decompressors on i386-pc.
5512
5513 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * configure.ac: Add -fno-asynchronous-unwind-tables.
5516
5517 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5518
5519 Move assembly code to C by using intwrap. It increases core size
5520 by 88 bytes but improves compatibility and maintainability.
5521
5522 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5523 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5524 ... here. Translated to C.
5525 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5526 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5527 ... here. Translated to C.
5528 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5529 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5530 ... here. Translated to C.
5531 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5532 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5533 ... here. Translated to C.
5534 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5535 * grub-core/term/i386/pc/console.c (grub_console_cls):
5536 ... here. Translated to C.
5537 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5538 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5539 ... here. Translated to C.
5540 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5541 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5542 Translated to C.
5543 * grub-core/term/i386/pc/console.c (int10_9): New function.
5544 (grub_console_putchar): Likewise.
5545 * include/grub/i386/pc/console.h: Removed the not anymore shared
5546 functions.
5547
5548 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 Move grub_chainloader_real_boot out of the kernel.
5551
5552 * grub-core/Makefile.am: Remove machine/loader.h.
5553 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5554 Removed.
5555 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5556 variable.
5557 (grub_relocator16_keep_a20_enabled): Likewise.
5558 (grub_relocator16_boot): Fill new variables.
5559 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5560 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5561 relocator.
5562 (grub_chainloader_unload): Likewise.
5563 (grub_chainloader_cmd): Likewise.
5564 * include/grub/i386/pc/loader.h: Removed.
5565 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5566 and esi. All initialisers updated.
5567
5568 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5569 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
5570
5571 * Makefile.util.def (grub-mount): New util.
5572 * .bzrignore: Add grub-mount.
5573 * configure.ac: Check for fuse and enable grub-mount if available.
5574 * docs/man/grub-mount.h2m: New file.
5575 * util/grub-mount.c: Likewise.
5576
5577 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * grub-core/commands/efi/fixvideo.c: Gettextize.
5580 * grub-core/commands/hashsum.c: Likewise.
5581 * grub-core/commands/i386/cmostest.c: Likewise.
5582 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5583 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5584 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5585 * grub-core/commands/lsmmap.c: Likewise.
5586 * grub-core/commands/menuentry.c: Likewise.
5587 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5588 * grub-core/commands/setpci.c: Likewise.
5589 * grub-core/loader/i386/bsd.c: Likewise.
5590 * grub-core/loader/i386/linux.c: Likewise.
5591 * util/getroot.c: Likewise.
5592 * util/grub-editenv.c: Likewise.
5593 * util/grub-fstest.c: Likewise.
5594 * util/grub-mkfont.c: Likewise.
5595 * util/grub-mkimage.c: Likewise.
5596 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5597 * util/grub-pe2elf.c: Likewise.
5598 * util/grub-probe.c: Likewise.
5599 * util/grub-setup.c: Likewise.
5600 * util/ieee1275/ofpath.c: Likewise.
5601 * util/misc.c: Likewise.
5602 * util/raid.c: Likewise.
5603
5604 2011-11-11 Robert Millan <rmh@gnu.org>
5605
5606 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5607 __attribute__((unused)) from `os_dev', which *is* being used.
5608
5609 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5612 forgotten define.
5613 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5614 GRUB_IA64_DL_GOT_ALIGN.
5615 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5616 GRUB_IA64_DL_TRAMP_ALIGN.
5617
5618 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 Replace grub_fatal with normal errors in i386 linux loader.
5621
5622 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5623 (allocate_pages): Check find_efi_mmap_size return value.
5624 (grub_e820_add_region): Return error.
5625 (grub_linux_boot): Check mmap return value.
5626
5627 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * grub-core/commands/acpihalt.c: Gettextized.
5630 * grub-core/commands/cacheinfo.c: Likewise.
5631 * grub-core/commands/cmp.c: Likewise.
5632 * grub-core/commands/efi/loadbios.c: Likewise.
5633 * grub-core/commands/gptsync.c: Likewise.
5634 * grub-core/commands/ieee1275/suspend.c: Likewise.
5635 * grub-core/commands/legacycfg.c: Likewise.
5636 * grub-core/commands/memrw.c: Likewise.
5637 * grub-core/commands/minicmd.c: Likewise.
5638 * grub-core/commands/parttool.c: Likewise.
5639 * grub-core/commands/time.c: Likewise.
5640 * grub-core/commands/videoinfo.c: Likewise.
5641 * grub-core/disk/geli.c: Likewise.
5642 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5643 * grub-core/disk/luks.c: Likewise.
5644 * grub-core/disk/lvm.c: Likewise.
5645 * grub-core/font/font_cmd.c: Likewise.
5646 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5647 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5648 * grub-core/gfxmenu/view.c: Likewise.
5649 * grub-core/kern/emu/hostdisk.c: Likewise.
5650 * grub-core/kern/emu/main.c: Likewise.
5651 * grub-core/kern/emu/misc.c: Likewise.
5652 * grub-core/kern/emu/mm.c: Likewise.
5653 * grub-core/kern/mips/arc/init.c: Likewise.
5654 * grub-core/kern/mips/loongson/init.c: Likewise.
5655 * grub-core/kern/partition.c: Likewise.
5656 * grub-core/lib/i386/halt.c: Likewise.
5657 * grub-core/lib/mips/arc/reboot.c: Likewise.
5658 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5659 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5660 * grub-core/loader/i386/xnu.c: Likewise.
5661 * grub-core/loader/multiboot.c: Likewise.
5662 * grub-core/net/bootp.c: Likewise.
5663 * grub-core/net/net.c: Likewise.
5664 * grub-core/normal/term.c: Likewise.
5665 * grub-core/partmap/bsdlabel.c: Likewise.
5666 * grub-core/parttool/msdospart.c: Likewise.
5667 * grub-core/term/gfxterm.c: Likewise.
5668 * grub-core/term/terminfo.c: Likewise.
5669 * grub-core/video/i386/pc/vbe.c: Likewise.
5670 * util/grub-menulst2cfg.c: Likewise.
5671 * util/grub-mkdevicemap.c: Likewise.
5672 * util/grub-mklayout.c: Likewise.
5673 * util/grub-mkrelpath.c: Likewise.
5674 * util/grub-script-check.c: Likewise.
5675 * util/ieee1275/grub-ofpathname.c: Likewise.
5676 * util/resolve.c: Likewise.
5677
5678 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 Support %1$d syntax.
5681
5682 * tests/printf_unit_test.c: New file.
5683 * Makefile.util.def (printf_test): New test.
5684 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
5685
5686 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
5689 fix.
5690
5691 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
5694 dprintf.
5695 * grub-core/font/font.c (grub_font_load): Likewise.
5696
5697 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * util/grub-macho2img.c: Add comment concerning gettext.
5700 * grub-core/lib/legacy_parse.c: Likewise.
5701
5702 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
5705 (grub_xvasprintf): Likewise.
5706
5707 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 Add const keyword to grub_env_get and gettextize week days.
5710
5711 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
5712 (grub_read_hook_datetime): Return const char *.
5713 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
5714 updated.
5715 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5716 Mark for gettext.
5717 (grub_get_weekday_name): Return const char *. Call gettext.
5718 * grub-core/script/argv.c (grub_script_argv_append): Receive const
5719 char * and len as the argument. All users updated.
5720 (grub_script_argv_split_append): Receive const char *.
5721 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
5722 * include/grub/env.h (grub_env_get): Likewise.
5723 (grub_env_read_hook_t): Return const char *.
5724 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
5725 (grub_script_argv_split_append): Likewise.
5726
5727 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
5730
5731 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
5734 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
5735
5736 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
5739 Fix prototype.
5740
5741 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 Fix mips compilation.
5744
5745 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
5746 normal decoder.
5747 (hashes): Use in embed decoder as well (for sizes).
5748 (dec_stream_header): Fix embed decompressor logic.
5749 (dec_stream_footer): Likewise.
5750
5751 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5754 an error and not a fatal on unrecognised relocation types.
5755
5756 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5759 Issue error rather than printf on unknown arguments.
5760
5761 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5764 Make buf a const.
5765
5766 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5769 Fix module name.
5770
5771 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5774 leftover debug printf.
5775
5776 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
5779
5780 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
5783 A stylistic fix.
5784
5785 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
5788
5789 2011-11-10 Shea Levy <slevy@tieronedesign.com>
5790
5791 Allow all modules to perform serial IO
5792
5793 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
5794 * include/grub/serial.h (grub_serial_port_configure): New inline
5795 function.
5796 (grub_serial_port_fetch): Likewise.
5797 (grub_serial_port_put): Likewise.
5798 (grub_serial_port_fini): Likewise.
5799 (grub_serial_find): New proto.
5800
5801 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 Put symlink at the end of the node and fix a potential
5804 memory corruption.
5805
5806 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
5807 Make symlink into an array.
5808 (set_rockridge): Set have_symlink and alloc_dirents.
5809 (grub_iso9660_read_symlink): Use new layout.
5810 (grub_iso9660_iterate_dir): Fix memory corruption.
5811 Use new layout.
5812 (grub_iso9660_dir): Set have_symlink.
5813 (grub_iso9660_open): Likewise.
5814
5815 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 Remove local keyword.
5818
5819 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
5820 (version_test_gt): Likewise.
5821 (version_find_latest): Likewise.
5822 (gettext_printf): Likewise.
5823 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
5824
5825 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
5828
5829 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 Fix ZFS memory and resource leaks.
5832
5833 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
5834 All users updated.
5835 Free type on exit.
5836 (fill_vdev_info): New parameter inserted. All users updated.
5837 (check_pool_label): Likewise.
5838 (scan_disk): Likewise.
5839 (scan_devices): Close non-inserted disks.
5840 (fzap_iterate): Free l.
5841 (unmount_device): Free children descripto memory.
5842
5843 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
5846 argument (access out of bounds).
5847
5848 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
5851 >= 6 drives.
5852
5853 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
5856 Fix declaration.
5857
5858 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 Fix several memory leaks.
5861
5862 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
5863 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
5864 (grub_cpio_dir): Likewise.
5865 * grub-core/fs/fat.c (grub_fat_label): Likewise.
5866 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
5867 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
5868 (grub_romfs_label): Likewise.
5869 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
5870 (squash_unmount): New function.
5871 (grub_squash_dir): Fix memory leak.
5872 (grub_squash_open): Likewise.
5873 (grub_squash_read): Likewise.
5874 (grub_squash_mtime): Likewise.
5875 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
5876 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
5877 * util/grub-fstest.c (fstest): Likewise.
5878
5879 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
5882 avoid accessing beyond the array.
5883
5884 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
5887
5888 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 Several AFFS fixes.
5891
5892 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
5893 (GRUB_AFFS_FLAG_FFS): Removed.
5894 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
5895 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
5896 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
5897 (grub_fshelp_node): Make block 32-bit.
5898 Add block_cache and last_block_cache.
5899 (grub_affs_read_block): Fill and use block cache.
5900 (grub_affs_read_file): Removed.
5901 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
5902 boot block.
5903 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
5904 safety.
5905 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
5906 space.
5907 (grub_affs_close): Free block cache.
5908 (grub_affs_read): Use grub_fshelp_read_file directly.
5909
5910 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5911
5912 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
5913 with no error set.
5914
5915 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
5918 used variable.
5919 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5920 Likewise.
5921
5922 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
5925
5926 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
5927 byteswap when needed.
5928
5929 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 Fix FreeBSD compilation.
5932
5933 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
5934 to avoid circular dependency.
5935 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
5936 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
5937 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
5938
5939 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 Fix ZFS crypto error types.
5942
5943 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
5944 (grub_gcm_decrypt): Likewise.
5945 (grub_zfs_load_key_real): Fix error code type. Handle possible error
5946 from PBKDF2.
5947
5948 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 Illumos support.
5951
5952 * Makefile.util.def (10_illumos): New script.
5953 * configure.ac: Set COND_HOST_ILLUMOS.
5954 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
5955 Support Illumos calls.
5956 (find_partition_start) [__sun__]: Likewise.
5957 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
5958 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
5959 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
5960 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
5961 device.
5962 * util/grub-probe.c (probe) [__sun__]: Do character check.
5963 * util/grub.d/10_illumos.in: New file.
5964
5965 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5966
5967 Support escaped commas in hostdisk.
5968
5969 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
5970 (find_grub_drive): Use unescape_cmp.
5971 (make_device_name): Escape commas.
5972
5973 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
5976
5977 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
5980 variable.
5981
5982 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 Support trampoline jumps on powerpc.
5985
5986 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
5987 __ia64__ path.
5988 (grub_dl_load_segments): Set mod->sz.
5989 (grub_dl_flush_cache): Flush whole space occupied by module, not just
5990 segments.
5991 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
5992 (jump): Likewise.
5993 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
5994 function.
5995 (trampoline): New struct.
5996 (trampoline_template): New const.
5997 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
5998 * include/grub/dl.h (grub_dl): Add sz element.
5999 [__powerpc__]: Follow __ia64__.
6000 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
6001 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
6002 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
6003 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
6004
6005 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 ZFS crypto support.
6008
6009 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
6010 * grub-core/Makefile.core.def (zfscrypt): New module.
6011 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
6012 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
6013 it. All users updated.
6014 (grub_zfs_decrypt): New var.
6015 (grub_zfs_load_key): Likewise.
6016 (zio_checksum_functions): Add SHA256+MAC.
6017 (zio_checksum_verify): Handle incomplete comparison due to MAC.
6018 (zio_read): Handle encrypted blocks.
6019 (zap_verify): Remove incorrect check.
6020 (fzap_iterate): Handle non-standard fzap.
6021 (zap_iterate): Likewise.
6022 (zap_iterate_u64): New function.
6023 (dnode_get_fullpath): Load keys.
6024 * grub-core/fs/zfs/zfscrypt.c: New file.
6025 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
6026 (grub_crypto_ecb_encrypt): Make input const.
6027 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
6028 (grub_crypto_ecb_encrypt): Make input const.
6029 (GRUB_CIPHER_AES): New macro.
6030 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
6031 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
6032 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
6033 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
6034 prefix. All users updated.
6035 (grub_zfs_add_key): New proto.
6036 (grub_zfs_decrypt): Likewise.
6037 (grub_zfs_load_key): Likewise.
6038 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
6039 * util/grub-fstest.c (options): Add -K option.
6040 (argp_parser): Likewise.
6041
6042 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 Support zle compression on ZFS.
6045
6046 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
6047 (decomp_table): Add zle.
6048 * include/grub/zfs/zio.h (zio_compress): Add zle.
6049
6050 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 Support BtrFS embedding.
6053
6054 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
6055 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
6056 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
6057 * util/grub-setup.c (setup): Use fs embedding if available.
6058 Add additional sanity check.
6059
6060 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * util/grub-install.in: Fix condition for config_opt.
6063
6064 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 Support third redundancy strip on raidz3.
6067
6068 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
6069 Return error on singularity. All users updated.
6070 (read_device): Don't stop on 3rd failure on raidz3.
6071
6072 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 Support case-insensitive ZFS subvolumes.
6075
6076 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
6077 All users updated.
6078 (zap_hash): Likewise.
6079 (name_cmp): New function.
6080 (zap_leaf_array_equal): New parameter case_insensitive.
6081 All users updated.
6082 (zap_leaf_lookup): Likewise.
6083 (fzap_lookup): Likewise.
6084 (zap_lookup): Likewise.
6085 (dnode_get_path): New parameter case_insensitive. Retrieve case
6086 sensitiviness of a volume. All users updated.
6087 (dnode_get_fullpath): New parameter case_insensitive.
6088 All users updated.
6089 (grub_zfs_dir): Set info.case_insensitiveness.
6090
6091 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 Support second redundancy strip on raidz(2,3).
6094
6095 * grub-core/fs/zfs/zfs.c (powx): New array.
6096 (powx_inv): Likewise.
6097 (poly): New const.
6098 (xor_out): New function.
6099 (gf_mul): Likewise.
6100 (recovery): Likewise.
6101 (read_device): Use second redundancy strip.
6102
6103 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 Use a power of generator representation of GF(256) multiplication group
6106 to save space time and complexity.
6107
6108 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
6109 (raid6_table2): Likewise.
6110 (powx): New array.
6111 (powx_inv): Likewise.
6112 (poly): New const.
6113 (grub_raid_block_mul): Replace with ...
6114 (grub_raid_block_mulx): ...this.
6115 (grub_raid6_init_table): Rewritten.
6116 (grub_raid6_recover): Use power of generator representation.
6117
6118 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
6121 for the right device.
6122
6123 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
6126 expected by grub-mkimage and it's more clear since there is no implicit
6127 padding.
6128
6129 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
6132 disk.
6133 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6134
6135 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
6136
6137 * util/grub-mkrescue.in: Fix handling xorriso option.
6138
6139 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
6142 NULL.
6143
6144 2011-11-03 crocket <crockabiscuit@gmail.com>
6145
6146 * util/grub.d/10_linux.in: Add Slackware initrd naming.
6147
6148 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 XZ CRC64 and SHA256 support.
6151
6152 * Makefile.util.def (libgrubmods): Add crc64.c.
6153 * grub-core/Makefile.core.def (crc64): New module.
6154 * grub-core/lib/crc64.c: New file.
6155 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
6156 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
6157 Fix the type.
6158 (MAX_HASH_SIZE): New define.
6159 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
6160 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
6161 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6162 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6163 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
6164 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
6165 Handle non-crc32 hashes.
6166 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
6167 (dec_stream_header): Handle non-crc32 hashes.
6168 (dec_stream_footer): Likewise.
6169 (dec_block_header): Likewise.
6170 (dec_main): Likewise.
6171 (xz_dec_init): Likewise.
6172 (xz_dec_reset): Likewise.
6173 (xz_dec_end): Likewise.
6174 * util/import_gcry.py: Add CRC64 line.
6175
6176 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
6179 as well.
6180
6181 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 Make reiserfs label retrieval similar to other *_label functions.
6184
6185 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
6186 (REISERFS_MAX_LABEL_LENGTH): Removed.
6187 (REISERFS_LABEL_OFFSET): Likewise.
6188 (grub_reiserfs_label): Rewritten.
6189
6190 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
6193 field.
6194
6195 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
6198
6199 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
6202 drive failure on both raidz and raidz2.
6203
6204 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 Fix RAIDZ(2) for >= 5 devices.
6207
6208 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
6209 asize argument. All users updated.
6210
6211 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 Fix RAIDZ(2).
6214
6215 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
6216 (fill_vdev_info_real): Set ashift.
6217 (read_device): Rewrite RAIDZ part based on reverse engineering.
6218
6219 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
6222 don't report potentially unavialiable fields in debug output.
6223 (find_path): Fix double-free and memory leak.
6224
6225 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 Read label on UFS1.
6228
6229 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
6230 (grub_ufs_fs): Always set .label.
6231
6232 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 Use shifts in UFS.
6235
6236 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
6237 (grub_ufs_data): New field log2_blksz.
6238 (grub_ufs_read_file): Use shifts.
6239 (grub_ufs_mount): Check block size and logarithm it.
6240
6241 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
6244 long symlinks.
6245
6246 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 Handle symlinks and long names on tar and cpio.
6249
6250 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
6251 (ATTR_FILE): Likewise.
6252 (ATTR_DIR): Likewise.
6253 (ATTR_LNK): Likewise.
6254 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
6255 (grub_cpio_find_file): Fill mode, handle linkname field as well as
6256 L and K entries.
6257 (grub_cpio_mount): Zero-fill data.
6258 (handle_symlink): New function.
6259 (grub_cpio_dir): Handle symlinks.
6260 (grub_cpio_open): Likewise.
6261 (grub_cpio_close) [MODE_USTAR]: Free linkname.
6262
6263 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 Fix iso9660 filename limitations and fix memory leaks.
6266
6267 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
6268 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
6269
6270 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 Fix JFS file name length limitations.
6273
6274 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
6275 (grub_jfs_diropen): Fix maximum filename length.
6276 (grub_jfs_getent): Fix filename length.
6277 (grub_jfs_lookup_symlink): Fix size checks.
6278
6279 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
6282 string.
6283
6284 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 Leverage BFS implementation to read AFS.
6287
6288 * Makefile.util.def (libgrubmods): Add afs.c.
6289 * grub-core/Makefile.core.def (afs): New module
6290 * grub-core/fs/afs.c: New file.
6291 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
6292
6293 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
6296
6297 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 * grub-core/fs/bfs.c: Run indent.
6300
6301 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 BFS implementation based on the specification.
6304
6305 * grub-core/fs/bfs.c: New file.
6306 * Makefile.util.def (libgrubmods): Add bfs.c.
6307 * grub-core/Makefile.core.def (bfs): New module.
6308
6309 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * util/grub-fstest.c (cmd_cp): Clarify error message.
6312 (cmd_cmp): Likewise.
6313
6314 2011-10-30 Yves Blusseau <blusseau@zetam.org>
6315
6316 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
6317 and befs_be.
6318
6319 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 Remove afs and befs because of copyright problem.
6322
6323 * grub-core/fs/afs.c: Removed.
6324 * grub-core/fs/afs_be.c: Removed.
6325 * grub-core/fs/befs.c: Removed.
6326 * grub-core/fs/befs_be.c: Removed.
6327 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
6328 * grub-core/Makefile.core.def (afs): Removed.
6329 (afs_be): Likewise.
6330 (befs): Likewise.
6331 (befs_be): Likewise.
6332
6333 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 Prefer rockridge over Joliet.
6336
6337 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
6338 to ...
6339 (set_rockridge): ... here.
6340 (grub_iso9660_mount): Check rockridge on the primary label when
6341 discovering. Ignore Joliet if Rockridge is present.
6342
6343 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 Use shifts in nilfs2.
6346
6347 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
6348 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
6349 (grub_nilfs2_palloc_entries_per_group): Replace with ...
6350 (grub_nilfs2_log_palloc_entries_per_group): ... this.
6351 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
6352 (grub_nilfs2_entries_per_block): Replaced with ...
6353 (grub_nilfs2_log_entries_per_block_log): ... this.
6354 (grub_nilfs2_blocks_per_group): Replaced with ...
6355 (grub_nilfs2_blocks_per_group_log): ... this.
6356 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
6357 (grub_nilfs2_blocks_per_desc_block_log): ... this.
6358 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
6359 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
6360 (grub_nilfs2_palloc_entry_offset): Replaced ...
6361 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
6362 (grub_nilfs2_dat_translate): Use shifts.
6363 (grub_nilfs2_read_inode): Likewise.
6364 (GRUB_MOD_INIT): Ensure that logs are correct.
6365
6366 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 Use shifts in minix filesystem.
6369
6370 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
6371 (GRUB_MINIX_ZONE2SECT): Likewise.
6372 (grub_minix_data): Replace block_size with log_block_size.
6373 (grub_minix_read_file): Use shifts.
6374 (grub_minix_mount): Check block size and take a logarithm.
6375
6376 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 Use shifts in squash4.
6379
6380 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
6381 (squash_mount): Check block size and take logarithm.
6382 (direct_read): Use shifts.
6383
6384 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 Correct befs block counting logic.
6387
6388 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
6389 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
6390 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
6391 (grub_afs_read_inode): Use block_shift.
6392 (RANGE_SHIFT): New definition.
6393 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
6394 unexpected conditions, use shifts and appropriate types.
6395 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
6396
6397 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * grub-core/disk/raid.c (scan_devices): Check partition.
6400 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6401
6402 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 Support BFS (befs) UUID.
6405
6406 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
6407 (grub_afs_small_data_element_header): New struct.
6408 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
6409 (grub_afs_read_attribute) [MODE_BFS]: New function.
6410 (grub_afs_iterate_dir): Allocate for complete inode.
6411 (grub_afs_mount): Likewise.
6412 (grub_afs_uuid) [MODE_BFS]: New function.
6413 (grub_afs_fs) [MODE_BFS]: Add .uuid.
6414
6415 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
6418 (zfs_unmount): Fix memory leak.
6419
6420 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 Support NTFS reparse points.
6423
6424 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
6425 (symlink_descriptor): New struct.
6426 (grub_ntfs_read_symlink): New function.
6427 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
6428 (grub_ntfs_open): Likewise.
6429
6430 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
6433
6434 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 fstest xnu_uuid subcommand.
6437
6438 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
6439 grub-core/commands/xnu_uuid.c.
6440 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
6441 (fstest): Handle xnu_uuid.
6442 (options): Document xnu_uuid.
6443 (argp_parser): Parse xnu_uuid.
6444
6445 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
6448 -l argument. Add newline at the end if printing.
6449 (GRUB_MOD_INIT): Document -l.
6450
6451 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
6454
6455 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 ZFS multi-device and version 33 support.
6458
6459 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
6460 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
6461 (grub_zfs_data): Add multidev-ice-related fields.
6462 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
6463 (dva_get_offset): Make dva const.
6464 (zfs_fetch_nvlist): New function.
6465 (fill_vdev_info_real): Likewise.
6466 (fill_vdev_info): Likewise.
6467 (check_pool_label): Likewise.
6468 (scan_disk): Likewise.
6469 (scan_devices): Likewise.
6470 (read_device): Likewise.
6471 (read_dva): Likewise.
6472 (zio_read_gang): Use read_dva.
6473 (zio_read_data): Likewise.
6474 (zap_leaf_lookup): Add missing endian conversion.
6475 (zap_verify): Add missing endian conversion. All users updated.
6476 (fzap_lookup): Likewise.
6477 (fzap_iterate): Likewise.
6478 (dnode_get_path): Handle SA bonus.
6479 (nvlist_find_value): Make input const. All users updated.
6480 (unmount_device): New function.
6481 (zfs_unmount): Use unmount_device.
6482 (zfs_mount): Use scan_disk.
6483 (zfs_mtime): New function.
6484 (grub_zfs_open): Handle system attributes.
6485 (fill_fs_info): Likewise.
6486 (grub_zfs_dir): Likewise.
6487 (grub_zfs_fs): Add mtime.
6488 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
6489 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
6490 (SA_MTIME_OFFSET): Likewise.
6491 (SA_SYMLINK_OFFSET): Likewise.
6492 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
6493 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
6494 (fstest): Support zfsinfo.
6495 (argp_parser): Likewise.
6496
6497 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6500 error.
6501
6502 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 ZFS fixes.
6505
6506 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6507 sharing the same block. Iterate over correct number of indices.
6508 (dnode_get_path): Handle symlinks correctly.
6509
6510 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6513
6514 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 Read label on HFS+.
6517
6518 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6519 (grub_hfsplus_btree_search): Fix types.
6520 (grub_hfsplus_label): Implement.
6521
6522 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6525
6526 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6529
6530 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 Fix symlink handling on iso9660.
6533
6534 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6535 All users updated.
6536 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6537 (grub_iso9660_read_symlink): Moved most of code ...
6538 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6539
6540 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6543 Use union to avoid breaking strict-aliasing rules.
6544
6545 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 Support multi-extent iso files.
6548
6549 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6550 Add node.
6551 (grub_fshelp_node): Revamp. All users updated.
6552 (FLAG_*): New enum.
6553 (read_node): New function.
6554 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6555 All users updated.
6556 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6557 (get_node_size): New function.
6558 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6559 entries.
6560 Fix memory leak on . and ..
6561 (grub_iso9660_read): Use read_node.
6562 (grub_iso9660_close): Free node.
6563
6564 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 Fix tar 4G limit and handle paths containing dot.
6567
6568 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6569 (canonicalize): New function.
6570 (grub_cpio_find_file): Use canonicalize. Store offs in
6571 grub_disk_addr_t.
6572 (grub_cpio_dir): Use grub_disk_addr_t.
6573 (grub_cpio_open): Likewise.
6574
6575 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6578
6579 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6580 unused flags.
6581 (grub_squash_inode): Add long_file and block_size.
6582 (grub_squash_cache_inode): New struct.
6583 (grub_squash_dirent): Make types into enum.
6584 (SQUASH_TYPE_LONG_REGULAR): New type.
6585 (grub_squash_frag_desc): Add field size.
6586 (SQUASH_BLOCK_FLAGS): New enum.
6587 (grub_squash_data): Use grub_squash_cache_inode.
6588 (grub_fshelp_node): Make ino_chunk 64-bit.
6589 (read_chunk): Minor argument change. All users updated.
6590 (squash_mount): Use correct le_to_cpu.
6591 (grub_squash_open): Handle LONG_REGULAR.
6592 (direct_read): New function.
6593 (grub_squash_read_data): Handle blocks correctly.
6594
6595 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6598
6599 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6602
6603 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 Fix 2G limit on ZFS.
6606
6607 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6608 types.
6609 (uberblock_verify): Likewise.
6610 (dmu_read): Likewise.
6611 (grub_zfs_read): Likewise. Remove invalid cast.
6612
6613 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6616 (grub_jfs_blkno): Fix incorrect shift.
6617 (grub_jfs_read_file): Use more appropriate types.
6618
6619 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 Support triple indirect on minix2 and minix3.
6622
6623 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6624 Declare triple_indir_zone.
6625 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6626 indirect.
6627
6628 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 Minix FS fixes.
6631
6632 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6633 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6634 Rename ctime to mtime. All users updated.
6635 (grub_minix_get_file_block): Fix types and double indirect computations.
6636
6637 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6640 if no label is found.
6641 (grub_fat_iterate_dir): Fix file size type.
6642 (grub_fat_iterate_dir): Likewise.
6643
6644 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6647 save some space.
6648 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6649 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6650
6651 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6654
6655 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * util/import_gcry.py: Accept space between # and include.
6658
6659 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6662
6663 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6666
6667 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
6668 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
6669 yylex_strncpy.
6670 * grub-core/script/yylex.l: Add fine-grained #pragma.
6671
6672 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6673
6674 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
6675 New inline function.
6676 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
6677 Likewise.
6678 (memset) [GRUB_UTIL]: Likewise.
6679 (memcmp) [GRUB_UTIL]: Likewise.
6680
6681 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
6684 inline function rather than a define.
6685
6686 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 * util/grub-setup.c: Add missing include.
6689
6690 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 * util/ieee1275/grub-ofpathname.c: Add missing include.
6693
6694 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
6697 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
6698 Likewise.
6699
6700 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
6703 grub_memcmp usage.
6704
6705 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 * util/grub-install.in: Add datarootdir as per automake manual
6708 suggestion.
6709 * util/grub-mknetdir.in: Likewise.
6710
6711 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
6714 suggestion.
6715 * util/grub.d/10_kfreebsd.in: Likewise.
6716 * util/grub.d/10_linux.in: Likewise.
6717 * util/grub.d/10_netbsd.in: Likewise.
6718 * util/grub.d/10_windows.in: Likewise.
6719 * util/grub.d/20_linux_xen.in: Likewise.
6720
6721 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 Remove redundant grub_kernel_image_size.
6724
6725 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
6726 _edata and _start.
6727 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
6728 the small code. It moves it only by few bytes but simplifies the code.
6729 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
6730 _start.
6731 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
6732 (grub_kernel_image_size): Removed.
6733 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
6734 (grub_kernel_image_size): Removed.
6735 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
6736 compiled with Apple toolchain.
6737 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
6738 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
6739 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
6740 (grub_total_module_size): Likewise.
6741 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
6742 Removed.
6743 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
6744 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
6745 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6746 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
6747 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
6748 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
6749 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6750 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6751 Removed.
6752 (grub_total_module_size): Removed.
6753 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6754 (image_targets): Likewise.
6755 Set .compressed_size to no field on sparc.
6756 (generate_image): Remove kernel_image_size handling.
6757
6758 2011-10-19 Szymon Janc <szymon@janc.net.pl>
6759
6760 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6761 NULL pointer dereference.
6762
6763 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6766 done with a dedicated section.
6767
6768 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6769 Ensure the correct position of boot_path.
6770 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6771 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6772 other fields.
6773 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6774 * include/grub/boot.h: Removed. All references removed.
6775 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6776 Removed.
6777 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
6778
6779 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
6782 name.
6783
6784 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
6787
6788 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6791 Don't add the bogus brackets.
6792
6793 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 ExFAT support.
6796
6797 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6798 * grub-core/Makefile.core.def (exfat): New module.
6799 * grub-core/fs/exfat.c: New file.
6800 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
6801 (GRUB_FAT_ATTR_*): Make into an enum.
6802 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
6803 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
6804 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
6805 (GRUB_FAT_MAXFILE): Removed.
6806 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
6807 (grub_current_fat_bpb_t): New type.
6808 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
6809 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
6810 (grub_fat_dir_node_t): New type.
6811 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
6812 (fat_log2) [MODE_EXFAT]: Removed.
6813 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
6814 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
6815 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
6816 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
6817 (grub_fat_label) [MODE_EXFAT]: New function.
6818 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
6819 reserved_first_sector to 0.
6820
6821 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 Move grub_reboot out of the kernel.
6824
6825 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
6826 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
6827 * grub-core/lib/efi/reboot.c: ... here.
6828 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
6829 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6830 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
6831 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
6832 * grub-core/lib/i386/reboot_trampoline.S: ... here.
6833 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
6834 * grub-core/lib/ieee1275/reboot.c: ... here.
6835 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
6836 * grub-core/lib/mips/arc/reboot.c: ... here.
6837 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
6838 * grub-core/lib/mips/loongson/reboot.c: ...here.
6839 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
6840 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
6841 * include/grub/emu/misc.h (grub_reboot): New function declaration.
6842 * include/grub/i386/reboot.h: New file.
6843 * include/grub/mips/loongson/ec.h: Fix includes.
6844 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
6845 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
6846 * grub-core/lib/i386/reboot.c: New file.
6847
6848 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 Make grub_prefix into module to fix the arbitrary limit and save
6851 some space.
6852
6853 * grub-core/kern/emu/main.c (grub_prefix): Removed.
6854 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
6855 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
6856 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
6857 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
6858 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
6859 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
6860 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
6861 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6862 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
6863 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
6864 * include/grub/ia64/efi/kernel.h: Removed.
6865 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
6866 (grub_prefix): Removed.
6867 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
6868 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
6869 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
6870 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
6871 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
6872 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
6873 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
6874 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
6875 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
6876 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
6877 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6878 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6879 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6880 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6881 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
6882 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
6883 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
6884 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6885 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
6886 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
6887 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
6888 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
6889 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
6890 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
6891 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
6892 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
6893 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
6894 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
6895 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
6896 from module.
6897 * util/grub-mkimage.c (image_target_desc): Removed prefix and
6898 prefix_end.
6899 (image_targets): Likewise.
6900 (generate_image): Put prefix as a module.
6901
6902 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 Replace grub_module_iterate with FOR_MODULES.
6905
6906 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
6907 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
6908 (grub_efi_modules_addr): ...this.
6909 * grub-core/kern/efi/init.c (grub_modbase): New variable.
6910 (grub_efi_init): Set grub_modbase.
6911 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
6912 (grub_modbase): New variable.
6913 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
6914 (grub_modbase): New variable.
6915 (grub_machine_init): Set grub_modbase.
6916 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
6917 (grub_modbase): New variable.
6918 (grub_machine_init): Set grub_modbase.
6919 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
6920 (grub_modbase): New variable.
6921 (grub_machine_init): Set grub_modbase.
6922 * grub-core/kern/main.c (grub_module_iterate): Remove.
6923 (grub_modules_get_end): Use grub_modbase.
6924 (grub_load_modules): Use FOR_MODULES.
6925 (grub_load_config): Likewise.
6926 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
6927 (grub_modbase): New variable.
6928 (grub_machine_init): Set grub_modbase.
6929 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
6930 (grub_modbase): New variable.
6931 (grub_machine_init): Set grub_modbase.
6932 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
6933 Removed.
6934 (grub_modbase): New variable.
6935 (grub_machine_init): Set grub_modbase.
6936 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
6937 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
6938 (grub_module_iterate): Likewise.
6939 (grub_modbase): New variable declaration.
6940 (FOR_MODULES): New macro.
6941
6942 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * configure.ac: Check for __ctzdi2 and __ctzsi2.
6945 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
6946
6947 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 Fix few obvious type discrepancies.
6950
6951 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
6952 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
6953 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
6954 variable.
6955 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
6956 and connected types.
6957 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
6958 offset.
6959 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
6960 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
6961 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
6962 and connected types.
6963
6964 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 Fix python 3.x incompatibilities.
6967
6968 * gentpl.py: Put brackets around print strings.
6969 * util/import_gcry.py: Open explicitly as utf-8.
6970 Use in instead of has_key.
6971
6972 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
6975 (GRUB_XFS_INO_AGBITS): Make into inline function.
6976 (GRUB_XFS_INO_INOINAG): Likewise.
6977 (GRUB_XFS_INO_AG): Likewise.
6978 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6979 (GRUB_XFS_EXTENT_OFFSET): Likewise.
6980 (GRUB_XFS_EXTENT_BLOCK): Likewise.
6981 (GRUB_XFS_EXTENT_SIZE): Likewise.
6982 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
6983 (GRUB_XFS_NEXT_DIRENT): Likewise.
6984 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
6985 (grub_xfs_read_file): Fix offset type.
6986
6987 2011-10-15 Robert Millan <rmh@gnu.org>
6988
6989 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
6990
6991 2011-10-15 Robert Millan <rmh@gnu.org>
6992
6993 Fix build problem on FreeBSD and GNU/kFreeBSD.
6994
6995 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
6996
6997 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
7000
7001 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
7002 types.
7003 (grub_hfsplus_btree_recoffset): Likewise.
7004 (grub_hfsplus_btree_recptr): Likewise.
7005 (grub_hfsplus_find_block): Likewise.
7006 (grub_hfsplus_btree_search): Likewise.
7007 (grub_hfsplus_read_block): Likewise.
7008 (grub_hfsplus_read_file): Likewise.
7009 (grub_hfsplus_mount): Likewise.
7010 (grub_hfsplus_btree_iterate_node): Likewise.
7011 (grub_hfsplus_btree_search): Likewise.
7012 (grub_hfsplus_iterate_dir): Likewise.
7013 (grub_hfsplus_read): A small code simplification.
7014
7015 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * grub-core/kern/emu/hostdisk.c
7018 (convert_system_partition_to_system_disk): Don't assume that children
7019 of mapper nodes are mapper nodes.
7020
7021 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7022
7023 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
7024 * include/grub/misc.h (grub_isxdigit): New function.
7025 * grub-core/video/colors.c (my_isxdigit): Removed. All users
7026 switched to grub_isxdigit.
7027 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
7028 number starting with a letter.
7029
7030 2011-10-09 Robert Millan <rmh@gnu.org>
7031
7032 LVM support for FreeBSD and GNU/kFreeBSD.
7033
7034 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
7035 GNU/kFreeBSD.
7036 (LVM_DEV_MAPPER_STRING): Move from here ...
7037 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
7038 * util/getroot.c: Include `<grub/util/lvm.h>'.
7039 (grub_util_get_dev_abstraction): Enable
7040 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
7041 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
7042 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
7043 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
7044 support it.
7045 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
7046 GNU/kFreeBSD.
7047 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
7048 when LVM abstraction is required for ${GRUB_DEVICE}.
7049
7050 2011-10-06 Szymon Janc <szymon@janc.net.pl>
7051
7052 Add support for LZO compression in GRUB:
7053 - import of minilzo library,
7054 - LZO decompression for btrfs,
7055 - lzop files decompression.
7056
7057 * grub-core/io/lzopio.c: New file.
7058 * grub-core/lib/adler32.c: Likewise.
7059 * grub-core/lib/minilzo/lzoconf.h: Likewise.
7060 * grub-core/lib/minilzo/lzodefs.h: Likewise.
7061 * grub-core/lib/minilzo/minilzo.c: Likewise.
7062 * grub-core/lib/minilzo/minilzo.h: Likewise.
7063 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
7064 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
7065 grub-core/lib/minilzo/minilzo.c to common.
7066 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
7067 cflags in cppflags.
7068 * grub-core/Makefile.core.def (btrfs): Likewise.
7069 * grub-core/Makefile.core.def (lzopio): New module.
7070 (adler32): Likewise.
7071 * grub-core/fs/btrfs.c: Include minilzo.h.
7072 (GRUB_BTRFS_COMPRESSION_LZO): New define.
7073 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
7074 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
7075 (grub_btrfs_lzo_decompress): New function.
7076 (grub_btrfs_extent_read): Add support for LZO compression type.
7077 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
7078 (GRUB_USHRT_MAX): Likewise.
7079 (GRUB_UINT_MAX): Likewise.
7080 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
7081 (UINT_MAX): Likewise.
7082 (CHAR_BIT): Likewise.
7083 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
7084 grub-core/lib/posix_wrap/limits.h
7085 (UCHAR_MAX): Likewise.
7086 * include/grub/file.h (grub_file_filter_id): New compression filter
7087 GRUB_FILE_FILTER_LZOPIO.
7088 * include/grub/file.h (grub_file_filter_id): Set
7089 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
7090 * include/grub/types.h (grub_get_unaligned16): New function.
7091 (grub_get_unaligned32): Likewise.
7092 (grub_get_unaligned64): Likewise.
7093 * util/import_gcry.py (cryptolist): Add adler32.
7094
7095 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
7098 in perspective decreases the complexity of build system and fixes
7099 compilation right now.
7100
7101 2011-10-01 Ales Nesrsta <starous@volny.cz>
7102
7103 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
7104 (fixed problem related to using UHCI with coreboot).
7105
7106 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7107
7108 * gentpl.py: Use Autogen macros so that the output template file
7109 (Makefile.tpl) size is reduced.
7110
7111 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
7112
7113 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
7114 extra_dist.
7115
7116 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7117
7118 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
7119 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
7120
7121 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7122
7123 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
7124 _fullpath.
7125
7126 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7127
7128 Remove extra declaration of sleep for mingw32.
7129
7130 * util/misc.c (sleep) [__MINGW32__]: Removed.
7131 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
7132
7133 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7134
7135 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
7136 type and packname.
7137 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
7138 Resurrected.
7139 (NETBSD_BTINFO_BOOTWEDGE): New definition.
7140 (grub_netbsd_btinfo_bootwedge): New struct.
7141 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7142 New function.
7143 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
7144
7145 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
7146
7147 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
7148 loader.
7149
7150 2011-09-28 Andreas Born <futur.andy@googlemail.com>
7151
7152 Fix incorrect identifiers in bash-completion.
7153
7154 * util/bash-completion.d/grub-completion.bash.in
7155 (_grub_mkpasswd-pbkdf2): Rename to ...
7156 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
7157 (_grub_script-check): Rename to ...
7158 (_grub_script_check): ... this. All users updated.
7159
7160 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7163 Return 0 if disk isn't biosdisk.
7164
7165 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7166
7167 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
7168 on NetBSD.
7169 * Makefile.util.def (grub-fstest): Likewise.
7170
7171 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7172
7173 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
7174 Get sector size from disk label.
7175
7176 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
7177
7178 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
7179 */README* as well as README*.
7180 Reported by: Axel Beckert.
7181
7182 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
7185 case of less than 256 MiB of RAM.
7186
7187 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 * grub-core/commands/wildcard.c (make_regex): Handle @.
7190
7191 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 * util/grub-install.in: Move cryptodisk logic to appropriate place.
7194
7195 2011-08-21 Szymon Janc <szymon@janc.net.pl>
7196
7197 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
7198 AC_LANG_CONFTEST macros.
7199
7200 2011-08-20 Szymon Janc <szymon@janc.net.pl>
7201
7202 Add grub-fstest option to uncompress data for commands.
7203
7204 * util/grub-fstest.c (uncompress): New var.
7205 (options): New option -u.
7206
7207 2011-08-20 Szymon Janc <szymon@janc.net.pl>
7208
7209 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
7210 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
7211
7212 2011-08-20 Szymon Janc <szymon@janc.net.pl>
7213
7214 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
7215 file type was not recognized correctly (not gzip or corrupted).
7216
7217 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
7220 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
7221
7222 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
7225 loongson.
7226 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7227 video_radeon_fuloong2e.
7228 * grub-core/video/radeon_fuloong2e.c: New file.
7229 * include/grub/video.h (grub_video_id_t): Add new ID
7230 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
7231
7232 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
7235 define.
7236 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
7237 that PRID matches the detected subplatform and reset the subplatform
7238 if it doesn't.
7239
7240 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
7243
7244 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 Fix PCI iterating on functions >= 4.
7247
7248 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
7249 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
7250 Removed.
7251 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
7252 (grub_pci_read): Fix bitmask.
7253 (grub_pci_read_word): Likewise.
7254 (grub_pci_read_byte): Likewise.
7255 (grub_pci_write): Likewise.
7256 (grub_pci_write_word): Likewise.
7257 (grub_pci_write_byte): Likewise.
7258
7259 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
7262 can still be specified in TARGET_CFLAGS)
7263
7264 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
7267
7268 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
7269 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
7270 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
7271 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
7272 (FULOONG): Rename to ...
7273 (FULOONG2F): ... this. All users updated.
7274 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
7275 (machtype_fuloong2f_str): ... this.
7276 (machtype_fuloong2e_str): New string.
7277 Check for machtype_fuloong2e_str.
7278 * grub-core/loader/mips/linux.c (loongson_machtypes)
7279 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
7280 * grub-core/term/serial.c (loongson_defserial)
7281 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
7282 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
7283 loongson_defserial.
7284 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
7285 Rename to ...
7286 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
7287 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
7288 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
7289 to IMAGE_FULOONG2F_FLASH. All users updated.
7290 (image_targets): Rename images.
7291 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
7292
7293 2011-08-19 Szymon Janc <szymon@janc.net.pl>
7294
7295 Make enable of disk cache statistics code configurable.
7296
7297 * configure.ac: --enable-cache-stats added.
7298 * config.h.in (DISK_CACHE_STATS): New define.
7299 * grub-core/Makefile.core.def (cacheinfo): New command.
7300 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
7301 * grub-core/commands/cacheinfo.c: New file.
7302 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
7303 moved to cacheinfo.c.
7304 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
7305 debug code.
7306 * include/grub/disk.h: Likewise.
7307
7308 2011-08-19 Szymon Janc <szymon@janc.net.pl>
7309
7310 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
7311 * grub-core/Makefile.am: Likewise.
7312
7313 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7314
7315 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
7316 non-zero pull.
7317
7318 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
7321 All users updated.
7322 (grub_jfs_lookup_symlink): Use correct starting inode.
7323
7324 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 * util/grub-setup.c (main): Add missing gcry initialisation.
7327
7328 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 Don't accept text modes on EFI when booting Linux.
7331
7332 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
7333 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
7334
7335 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
7336 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
7337
7338 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
7339 use of "/path/.." as in grub-install for EFI as well as handling
7340 symlinks correctly.
7341 Fixes Debian bug #637768.
7342
7343 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
7344
7345 * util/grub-probe.c: Remove duplicate #include.
7346
7347 2011-08-10 Robert Millan <rmh@gnu.org>
7348
7349 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
7350
7351 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
7352 function.
7353 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
7354 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
7355
7356 2011-08-03 Robert Millan <rmh@gnu.org>
7357
7358 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
7359 la_array as packed.
7360 Reported by: Zachary Bedell
7361
7362 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
7363
7364 * configure.ac: The Loongson port requires grub-mkfont due to its
7365 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
7366 be built.
7367
7368 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
7369
7370 * util/grub-install.in: Don't source grub-mkconfig_lib until after
7371 processing arguments (otherwise help2man fails when GRUB has not yet
7372 been installed).
7373
7374 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 New script grub-mkstandalone.
7377
7378 * Makefile.util.def (grub-mkstandalone): New script.
7379 * docs/man/grub-mkstandalone.h2m: New file.
7380 * util/grub-mkstandalone.in: Likewise.
7381
7382 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 Support ATA disks with 4K sectors.
7385
7386 * include/grub/ata.h (grub_ata): New member log_sector_size.
7387 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
7388 (grub_ata_identify): Read sector size.
7389 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
7390
7391 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * util/grub-install.in: Don't use uhci outside of x86.
7394
7395 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * util/grub-mkrescue.in: Add missing quotes.
7398
7399 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
7402 dereference.
7403
7404 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7405
7406 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
7407
7408 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * include/grub/video.h: add missing EXPORT_FUND on
7411 grub_video_edid_checksum and grub_video_edid_preferred_mode.
7412
7413 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * include/grub/mips/kernel.h: Fix define conflict.
7416
7417 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
7420 all four ways.
7421
7422 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
7423
7424 Preferred resolution detection for VBE.
7425
7426 * grub-core/video/video.c (grub_video_edid_checksum): New function.
7427 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
7428 the Flat Panel extension, in line with the X.org VESA driver.
7429 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
7430 New function.
7431 (grub_vbe_bios_get_ddc_capabilities): Likewise.
7432 (grub_vbe_bios_read_edid): Likewise.
7433 (grub_vbe_get_preferred_mode): Likewise.
7434 (grub_video_vbe_setup): When the mode is "auto", try to get the
7435 preferred mode from VBE, and use the largest mode that is no larger
7436 than the preferred mode (some BIOSes expose a preferred mode that is
7437 not in their mode list!). If this fails, fall back to 640x480 as a
7438 safe conservative choice.
7439 (grub_video_vbe_get_edid): New function.
7440 (grub_video_vbe_adapter): Add get_edid.
7441 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
7442 (struct grub_video_adapter): Add get_edid.
7443 (grub_video_edid_checksum): Add prototype.
7444 (grub_video_edid_preferred_mode): Likewise.
7445 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
7446 structure.
7447
7448 * grub-core/commands/videoinfo.c (print_edid): New function.
7449 (grub_cmd_videoinfo): Print EDID if available.
7450
7451 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
7452 is more appropriate on a wider range of platforms than 640x480.
7453 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
7454 documentation.
7455
7456 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
7459
7460 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * po/POTFILES.in: Regenerate.
7463
7464 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
7467 incorrect memory usage.
7468
7469 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * util/grub-install.in: Source grub-mkconfig_lib.
7472
7473 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 Remove getroot.c from core on emu platform.
7476
7477 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
7478 kern/emu/raid.c.
7479 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
7480 useless.
7481 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
7482 * util/getroot.c (get_win32_path): ... here.
7483 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
7484 * util/getroot.c (fini_libzfs): ... here.
7485 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
7486 * util/getroot.c (grub_get_libzfs_handle): ... here.
7487 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
7488 Moved from here...
7489 * util/getroot.c (grub_find_zpool_from_dir): ... here.
7490 * grub-core/kern/emu/misc.c
7491 (grub_make_system_path_relative_to_its_root): Moved from here...
7492 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
7493 * grub-core/kern/emu/getroot.c: Moved from here ...
7494 * util/getroot.c: ... here. All users updated.
7495 * grub-core/kern/emu/raid.c: Moved from here ...
7496 * util/raid.c: ... here. All users updated.
7497
7498 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7499
7500 * po/POTFILES.in: Regenerate.
7501
7502 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 Fix compilation on GNU/Linux.
7505
7506 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7507 Disable geli.
7508 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7509 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7510 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7511
7512 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7513 2011-07-07 Michael Gorven <michael@gorven.za.net>
7514 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7515
7516 LUKS and GELI support.
7517
7518 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7519 grub-core/disk/luks.c, grub-core/disk/geli.c,
7520 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7521 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7522 grub-core/lib/arg.c.
7523 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7524 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7525 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7526 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7527 (grub-bin2h): Add libgcry.a.
7528 (grub-mkimage): Likewise.
7529 (grub-mkrelpath): Likewise.
7530 (grub-script-check): Likewise.
7531 (grub-editenv): Likewise.
7532 (grub-mkpasswd-pbkdf2): Likewise.
7533 (grub-pe2elf): Likewise.
7534 (grub-fstest): Likewise.
7535 (grub-mkfont): Likewise.
7536 (grub-mkdevicemap): Likewise.
7537 (grub-probe): Likewise.
7538 (grub-ofpath): Likewise.
7539 (grub-mklayout): Likewise.
7540 (example_unit_test): Likewise.
7541 (grub-menulst2cfg): Likewise.
7542 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7543 * grub-core/Makefile.core.def (cryptodisk): New module.
7544 (luks): Likewise.
7545 (geli): Likewise.
7546 * grub-core/disk/AFSplitter.c: New file.
7547 * grub-core/disk/cryptodisk.c: Likewise.
7548 * grub-core/disk/geli.c: Likewise.
7549 * grub-core/disk/luks.c: Likewise.
7550 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7551 grub_util_is_lvm.
7552 (grub_util_get_dm_abstraction): New function.
7553 (grub_util_follow_gpart_up): Likewise.
7554 (grub_util_get_geom_abstraction): Likewise.
7555 (grub_util_get_dev_abstraction): Use new functions.
7556 (grub_util_pull_device): Pull GELI and LUKS.
7557 (grub_util_get_grub_dev): Handle LUKS and GELI.
7558 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7559 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7560 (follow_geom_up): Removed.
7561 (grub_util_fd_seek): New function.
7562 (open_device): Use grub_util_fd_seek.
7563 (nread): Rename to ..
7564 (grub_util_fd_read): ... this. All users updated.
7565 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7566 (grub_crypto_cbc_decrypt): Likewise.
7567 (grub_crypto_hmac_write): Likewise.
7568 (grub_crypto_hmac_buffer): Likewise.
7569 (grub_password_get): Extend to util.
7570 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7571 New member modname.
7572 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7573 * include/grub/cryptodisk.h: New file.
7574 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7575 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7576 LUKS and GELI.
7577 (grub_util_follow_gpart_up): New proto.
7578 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7579 (grub_util_fd_read): Likewise.
7580 (grub_cryptodisk_cheat_mount): Likewise.
7581 (grub_util_cryptodisk_print_uuid): Likewise.
7582 (grub_util_get_fd_sectors): Likewise.
7583 * util/grub-fstest.c (mount_crypt): New var.
7584 (fstest): Mount crypto if requested.
7585 (options): New option -C.
7586 (argp_parser): Parse -C.
7587 (main): Init and fini gcry.
7588 * util/grub-install.in: Support cryptodisk install.
7589 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7590 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7591 cryptodisk.
7592 (prepare_grub_to_access_device): Likewise.
7593 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7594 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7595 (probe_cryptodisk_uuid): New function.
7596 (probe_abstraction): Likewise.
7597 (probe): Use new functions.
7598 * util/import_gcry.py: Create Makefile.utilgcry.def.
7599 Add modname member.
7600
7601 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 Lazy device scanning.
7604
7605 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7606 (grub-setup): Remove util/raid.c.
7607 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7608 * grub-core/disk/lvm.c (scan_depth): New variable.
7609 (grub_lvm_iterate): Rescan if necessary.
7610 (find_lv): New function based on grub_lvm_open.
7611 (grub_lvm_open): Use find_lv. Rescan on error.
7612 (is_node_readable): New function.
7613 (is_lv_readable): Likewise.
7614 (grub_lvm_scan_device): Skip already found disks.
7615 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7616 Stop if searched device is found and readable.
7617 * grub-core/disk/raid.c (inscnt): New variable.
7618 (scan_depth): Likewise.
7619 (scan_devices): New function based on grub_raid_register. Abort if
7620 looked for device is found.
7621 (grub_raid_iterate): Rescan if needed.
7622 (find_array): NEw function based on -grub_raid_open.
7623 (grub_raid_open): Use find_array and rescan.
7624 (insert_array): Set became_readable_at.
7625 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7626 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7627 New function.
7628 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7629 (grub_util_pull_device): New function.
7630 (grub_util_get_grub_dev): Call grub_util_pull_device.
7631 * util/raid.c: Moved to ..
7632 * grub-core/kern/emu/raid.c: ... here.
7633 (grub_util_raid_getmembers): New parameter "bootable".
7634 All users updated. Support 1.x.
7635 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7636 All users updated.
7637 * include/grub/disk.h (grub_disk_pull_t): New enum.
7638 (grub_disk_dev): Change iterate prototype.
7639 All users updated.
7640 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7641 New proto.
7642 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7643 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7644 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7645 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7646 All users updated.
7647 * include/grub/util/raid.h: Removed.
7648
7649 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * po/POTFILES.in: Regenerate.
7652
7653 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 Unify sparc init with other ieee1275.
7656
7657 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7658 instead of kern/sparc64/ieee1275/init.c.
7659 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7660 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7661 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7662 grub/machine/kernel.h.
7663 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7664 (grub_claim_heap) [__sparc__]: Use sparc version.
7665 (grub_machine_init): Moved args parsing to
7666 (grub_parse_cmdline): ...this.
7667 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
7668 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
7669 New definition.
7670 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
7671
7672 Move BOOTP to separate file.
7673
7674 * grub-core/Makefile.core.def (net): Add net/bootp.c.
7675 * grub-core/net/net.c: Move all BOOTP functions to
7676 * grub-core/net/bootp.c: ... here.
7677
7678 Use frame interface on PXE.
7679
7680 * grub-core/Makefile.core.def (pxecmd): Removed.
7681 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
7682 * grub-core/commands/i386/pc/pxecmd.c: Removed.
7683 * grub-core/i386/pc/pxe.c: Moved from here ...
7684 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
7685 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
7686 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
7687
7688 EFI network support.
7689
7690 * grub-core/Makefile.core.def (efinet): New module.
7691 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
7692 here...
7693 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
7694 All users updated.
7695 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
7696 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
7697 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
7698 * grub-core/net/drivers/efi/efinet.c: New file.
7699 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
7700 (grub_efi_net_config): New extern var.
7701
7702 Various cleanups and bugfixes.
7703
7704 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
7705 error.
7706 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
7707 disk declared as partition.
7708 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
7709 leak on failure.
7710 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
7711 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
7712 (grub_debug_zalloc): Likewise.
7713 (grub_debug_realloc): Likewise.
7714 (grub_debug_memalign): Likewise.
7715 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
7716 Check that target is IPv4.
7717 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
7718 local-mac-address as fallback.
7719 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
7720 memory leak.
7721 * grub-core/net/ip.c (ipchksum): Rename to ...
7722 (grub_net_ip_chksum): ... this. All users updated.
7723 (grub_net_recv_ip_packets): Special handling for DHCP.
7724 * util/grub-mkimage.c (generate_image): Zero-out aout header.
7725
7726 Unify prefix handling
7727
7728 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
7729 (grub_machine_get_bootlocation): ... this.
7730 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
7731 (grub_machine_get_bootlocation): ... this.
7732 (grub_prefix): New variable.
7733 (prefix): Removed.
7734 (root_dev): New variable.
7735 (dir): Likewise.
7736 (main): Use new variables.
7737 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
7738 Revamped into ...
7739 (grub_machine_get_bootlocation): ... this.
7740 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
7741 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
7742 (grub_machine_get_bootlocation): ... this.
7743 (grub_machine_set_prefix): Removed.
7744 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
7745 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
7746 Revamped into ...
7747 (grub_machine_get_bootlocation): ... this.
7748 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
7749 (grub_set_prefix_and_root): ... this. All users updated.
7750 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7751 Revamped into ...
7752 (grub_machine_get_bootlocation): ... this.
7753 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7754 (grub_machine_get_bootlocation): New proto.
7755 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7756
7757 Less intrusive and more reliable seek on network implementation.
7758
7759 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7760 (grub_file_seek): Don't call grub_file_net_seek.
7761 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7762 (grub_net_fs_read_real): .. this.
7763 (grub_net_seek_real): Use net->offset.
7764 (grub_net_fs_read): Seek if necessary.
7765
7766 Unify IEEE1275 netwotk config with the other platforms.
7767
7768 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7769 New variable.
7770 (grub_machine_get_bootlocation): Support network.
7771 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7772 Support type and device parsing.
7773 (grub_ieee1275_get_device_type): New function.
7774 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7775 into ...
7776 (grub_ieee1275_net_config_real): ... this.
7777 (grub_ofnet_probecards): Removed.
7778 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
7779 * include/grub/ieee1275/ofnet.h: Removed.
7780 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
7781 extern var.
7782 (grub_ieee1275_get_device_type): New function.
7783
7784 Unify network device closing across platforms and make more robust.
7785
7786 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
7787 grub_grubnet_fini.
7788 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
7789 already.
7790 * grub-core/net/net.c (grub_net_network_level_interface_register):
7791 Update num_ifaces.
7792 (grub_net_card_unregister): Close all interfaces.
7793 (receive_packets): Don't poll if no iterfaces are registered.
7794 Open if necessary.
7795 (grub_net_fini_hw): New function.
7796 (grub_net_restore_hw): Likewise.
7797 (fini_hnd): New variable.
7798 (GRUB_MOD_INIT): Register preboot hook.
7799 (GRUB_MOD_FINI): Run and unregister preboot hook.
7800
7801 Poll network cards when idle.
7802
7803 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
7804 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
7805 * grub-core/net/net.c (receive_packets): Save last poll time.
7806 (grub_net_poll_cards_idle_real): New function.
7807 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
7808 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
7809 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
7810
7811 Rename ofnet interfaces.
7812
7813 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
7814 (grub_ofnet_findcards): Use ofnet_%s names.
7815
7816 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
7817
7818 Cleanup socket opening.
7819
7820 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
7821 (grub_net_fs_close): Likewise.
7822 (grub_net_fs_read_real): Use eof member.
7823 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
7824 (+grub_net_udp_close): New inline function.
7825
7826 * include/grub/net/tftp.h: Moved to the top of ...
7827 * grub-core/net/tftp.c: ... here.
7828 * include/grub/net/ip.h: Moved mostly to the top of ...
7829 * grub-core/net/ip.c: ... here.
7830 * include/grub/net/ethernet.h: Moved mostly to the top of ...
7831 * grub-core/net/ethernet.c: ... here.
7832
7833 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
7834
7835 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
7836 FS name.
7837
7838 * include/grub/net/ip.h (ipv4_ini): Removed.
7839 (ipv4_fini): Likewise.
7840
7841 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
7842 (grub_net_send_ip_packets): Likewise.
7843
7844 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
7847 grub_read_cmos prototype.
7848
7849 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 VGA text support in qemu-mips
7852
7853 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
7854 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
7855 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
7856 text.
7857 * grub-core/kern/i386/qemu/init.c: Renamed to ...
7858 * grub-core/kern/vga_init.c: ... this.
7859 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
7860 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
7861 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
7862 Adjust.
7863 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
7864 GRUB_MACHINE_PCI_IO_BASE.
7865
7866 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 MIPS qemu flash support.
7869
7870 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
7871 magic.
7872 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
7873 (grub_machine_init): Probe memory if its size isn't known.
7874 * util/grub-mkimage.c (image_targets): Add flash targets.
7875 (generate_image): Handle flash targets.
7876
7877 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 MIPS qemu at_keyboard support.
7880
7881 * gentpl.py (videoinkernel): Add qemu-mips.
7882 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
7883 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
7884 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
7885 modules.
7886 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
7887 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
7888 * grub-core/term/serial.c (grub_serial_register)
7889 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
7890
7891 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 CMOS support on sparc.
7894
7895 * gentpl.py (cmos): Add powerpc and sparc.
7896 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
7897 powerpc and sparc.
7898 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
7899 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
7900 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
7901 grub_set_datetime_cmos.
7902 * grub-core/lib/ieee1275/cmos.c: New file.
7903 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
7904 (find_rtc): Set no_ieee1275_rtc on error.
7905 (grub_get_datetime): Call grub_get_datetime_cmos on error.
7906 (grub_set_datetime): Call grub_set_datetime_cmos on error.
7907 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
7908 fail. Move value to argument. All users updated
7909 (grub_cmos_write): Likewise.
7910 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
7911 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
7912 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
7913 grub_get_datetime_cmos and grub_set_datetime_cmos.
7914
7915 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7916
7917 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
7918 sourcing grub-mkconfig_lib.
7919 * util/update-grub_lib.in: Likewise.
7920 * util/grub.d/00_header.in: Likewise.
7921 * util/grub.d/10_hurd.in: Likewise.
7922 * util/grub.d/10_kfreebsd.in: Likewise.
7923 * util/grub.d/10_linux.in: Likewise.
7924 * util/grub.d/10_netbsd.in: Likewise.
7925 * util/grub.d/10_windows.in: Likewise.
7926 * util/grub.d/20_linux_xen.in: Likewise.
7927 * util/grub.d/30_os-prober.in: Likewise.
7928
7929 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
7930
7931 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
7932 default_bg_color rather than black.
7933 (grub_gfxterm_fullscreen): Likewise.
7934 (grub_gfxterm_background_color_cmd): Save new background color in
7935 default_bg_color.
7936
7937 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
7940
7941 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
7944 mismerge.
7945
7946 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 Chainloading on coreboot support.
7949
7950 * grub-core/Makefile.core.def (chain): Add coreboot.
7951 * grub-core/loader/i386/coreboot/chainloader.c: New file.
7952
7953 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
7956 if it happens.
7957
7958 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 Implement time command.
7961
7962 * grub-core/Makefile.core.def (time): New module.
7963 * grub-core/commands/time.c: New file.
7964 * grub-core/script/parser.y: Remove "time" keyword.
7965 * grub-core/script/yylex.l: Likewise.
7966
7967 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
7970
7971 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
7974 when handling leftovers.
7975
7976 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
7979 so that help2man doesn't fail.
7980
7981 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
7984 type in pointers on sparc64.
7985 (get_card_packet): Likewise.
7986
7987 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
7988
7989 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
7990 with `*'.
7991 (grub_cmd_videoinfo): Fetch current video mode.
7992
7993 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
7996 because of underlying system restrictions.
7997
7998 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
8001 necessary.
8002
8003 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 Coreboot video support.
8006
8007 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
8008 (vbe): Likewise.
8009 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
8010 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
8011 here ...
8012 * grub-core/kern/i386/int.S: ... here.
8013 * grub-core/video/i386/pc/vbe.c: Updated includes.
8014 * grub-core/video/i386/pc/vga.c: Likewise.
8015 * include/grub/i386/coreboot/memory.h
8016 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
8017 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
8018 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
8019 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
8020 Disable interrupts.
8021 * include/grub/i386/pc/vga.h: Removed. All users updated.
8022
8023 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
8026 definitions for dprintf.
8027 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
8028
8029 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
8032 prototype.
8033 (get_card_packet): Likewise.
8034
8035 2011-06-26 Yves Blusseau <blusseau@zetam.org>
8036
8037 Display the path of the file when file is not found
8038
8039 * grub-core/fs/fat.c: Display the filename when file is not found.
8040 * grub-core/fs/fshelp.c: Likewise.
8041 * grub-core/fs/hfs.c: Likewise.
8042 * grub-core/fs/jfs.c: Likewise.
8043 * grub-core/fs/minix.c: Likewise.
8044 * grub-core/fs/ufs.c: Likewise.
8045 * grub-core/fs/btrfs.c: Likewise.
8046 * grub-core/commands/i386/pc/play.c: Likewise.
8047
8048 2011-06-26 Szymon Janc <szymon@janc.net.pl>
8049
8050 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
8051 pointer checks before calling grub_free().
8052 * grub-core/commands/wildcard.c (match_devices): Likewise.
8053 * grub-core/commands/wildcard.c (match_files): Likewise.
8054 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
8055 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
8056 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
8057 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
8058 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
8059 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
8060 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
8061 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8062 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
8063
8064 2011-06-25 Patrick <p55@mailinator.com>
8065
8066 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
8067
8068 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
8071 (grub_pxe_send): Likewise.
8072 (GRUB_MOD_INIT): Fix types.
8073
8074 2011-06-24 Szymon Janc <szymon@janc.net.pl>
8075
8076 * grub-core/io/xzio.c: Fix code style issues
8077
8078 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8079 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
8080
8081 Network infrastructure.
8082 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
8083
8084 * include/grub/net/arp.h: New file.
8085 * include/grub/net/device.h: Likewise.
8086 * include/grub/net/ethernet.h: Likewise.
8087 * include/grub/net/ip.h: Likewise.
8088 * include/grub/net/netbuff.h: Likewise.
8089 * include/grub/net/tftp.h: Likewise.
8090 * include/grub/net/udp.h: Likewise.
8091 * include/grub/ieee1275/ofnet.h: Likewise.
8092 * include/grub/emu/export.h: Likewise.
8093 * include/grub/net.h: Likewise.
8094 * grub-core/net/arp.c: Likewise.
8095 * grub-core/net/ethernet.c: Likewise.
8096 * grub-core/net/ip.c: Likewise.
8097 * grub-core/net/udp.c: Likewise.
8098 * grub-core/net/tftp.c: Likewise.
8099 * grub-core/net/netbuff.c: Likewise.
8100 * grub-core/net/net.c: Likewise.
8101 * grub-core/net/drivers/emu/emunet.c: Likewise.
8102 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
8103 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
8104 export.h.
8105 * grub-core/Makefile.core.def (net): New module.
8106 (tftp): Likewise.
8107 (ofnet): Likewise.
8108 (emunet): Likewise.
8109 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
8110 network protocols.
8111 * grub-core/kern/device.c (grub_net_open) : New variable.
8112 (grub_device_open): Handle network device.
8113 (grub_device_close): Likewise.
8114 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
8115 (grub_grubnet_fini): Likewise.
8116 (grub_file_seek): Seek in network device.
8117 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
8118 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
8119 network root.
8120 (grub_machine_fini): Call grub_grubnet_fini.
8121 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
8122 network.
8123 (grub_ieee1275_get_aliasdevname): New function.
8124 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8125 Add unofficial Solaris network info.
8126 (grub_multiboot_make_mbi): Likewise.
8127 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
8128 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
8129 * include/grub/device.h (grub_fs): Removed.
8130 * include/grub/err.h (grub_err_t): Add network-related values.
8131 * include/grub/i386/pc/pxe.h: Removed bootp parts.
8132 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
8133 (grub_ieee1275_get_aliasdevname): New proto.
8134 * include/grub/net.h: Rewritten.
8135
8136 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
8139 names.
8140
8141 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
8144 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
8145 it truncates the output.
8146 Reported by: Ximin Luo.
8147
8148 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
8151
8152 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8153
8154 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8155 partmap before abstraction.
8156
8157 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
8158
8159 * util/grub-mkconfig_lib.in: Add missing quotes.
8160
8161 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
8164 old method if mountinfo would return /dev/root and /dev/root doesn't
8165 exist.
8166
8167 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 ZFS zlib support
8170
8171 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
8172 (decomp_table): Add zlib entries.
8173 (zio_read): USe 8 bits for compression function rather than 3.
8174 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
8175
8176 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * grub-core/disk/ahci.c: Add missing license statements.
8179 * grub-core/fs/romfs.c: Likewise.
8180 * grub-core/lib/ia64/setjmp.S: Likewise.
8181 * grub-core/loader/i386/pc/freedos.c: Likewise.
8182 * grub-core/loader/ia64/efi/linux.c: Likewise.
8183 * grub-core/video/colors.c: Likewise.
8184 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
8185
8186 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 AHCI support.
8189
8190 * grub-core/Makefile.core.def (ata_pthru): Removed.
8191 (ahci): New module.
8192 (pata): Likewise.
8193 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
8194 on unload.
8195 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
8196 readwrite.
8197 (grub_hdparm_do_check_powermode_cmd): Likewise.
8198 (grub_hdparm_do_smart_cmd): Likewise.
8199 (grub_hdparm_set_val_cmd): Likewise.
8200 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
8201 * grub-core/disk/ahci.c: New file.
8202 * grub-core/disk/ata.c: Factor out the low-level part into ...
8203 * grub-core/disk/pata.c: ... here.
8204 * grub-core/disk/ata_pthru.c: Contents moved to ...
8205 * grub-core/disk/pata.c: ... here.
8206 * grub-core/disk/scsi.c (grub_scsi_names): New array.
8207 (grub_scsi_iterate): Use grub_scsi_names.
8208 (grub_scsi_open): Likewise.
8209 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
8210 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
8211 (grub_ata_regs_t): New struct.
8212 (grub_disk_ata_pass_through_parms): Likewise.
8213 (grub_ata_device): Renamed to ...
8214 (grub_ata): ... this.
8215 (grub_ata_dev): New struct.
8216 Removed all low-level inline functions.
8217 * include/grub/scsi.h: Add PATA and AHCI subsystems.
8218 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
8219 iterate hooks and open. All users updated.
8220 * util/grub-install.in: Handle AHCI disk module.
8221
8222 2011-06-23 Szymon Janc <szymon@janc.net.pl>
8223
8224 Add support for DRI and RSTn markers in JPEG files.
8225
8226 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
8227 (JPEG_MARKER_RST0): Likewise.
8228 (JPEG_MARKER_RST1): Likewise.
8229 (JPEG_MARKER_RST2): Likewise.
8230 (JPEG_MARKER_RST3): Likewise.
8231 (JPEG_MARKER_RST4): Likewise.
8232 (JPEG_MARKER_RST5): Likewise.
8233 (JPEG_MARKER_RST6): Likewise.
8234 (JPEG_MARKER_RST7): Likewise.
8235 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
8236 (grub_jpeg_decode_dri): New function.
8237 (grub_jpeg_decode_sos): Move image data related part into
8238 grub_jpeg_decode_data function.
8239 (grub_jpeg_decode_data): New function.
8240 (grub_jpeg_reset): New function.
8241 (grub_jpeg_decode_jpeg): Handle new markers.
8242
8243 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * util/ieee1275/ofpath.c (check_sas): Close fd.
8246 (main): Free of_path.
8247 Reported by: David Volgyes <dvolgyes>.
8248
8249 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
8252 Reported by: David Volgyes <dvolgyes>.
8253
8254 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
8257 file after stat.
8258 Reported by: David Volgyes <dvolgyes>.
8259
8260 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
8263
8264 Reported by: David Volgyes <dvolgyes>.
8265
8266 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
8269 Prevent memory leak.
8270
8271 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
8274 (main): Close file.
8275 Reported by: David Volgyes <dvolgyes>.
8276
8277 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
8280 to continue if allocation is failed.
8281
8282 Reported by: David Volgyes <dvolgyes>.
8283
8284 2011-06-23 David Volgyes <dvolgyes>
8285
8286 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
8287 dereference.
8288
8289 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 Fix spurious warning.
8292
8293 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
8294 (acorn_partition_map_find): Use .bin member.
8295
8296 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
8299 /dev/root as a valid device.
8300
8301 2011-06-23 Jim Meyering <meyering@redhat.com>
8302
8303 Avoid NULL deref in grub_device_open.
8304
8305 * grub-core/kern/device.c (grub_device_open): Don't dereference
8306 a NULL pointer upon failed grub_env_get.
8307
8308 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 Support non-512B sectors and agglomerate reads.
8311
8312 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
8313 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
8314 (disk_io_guid): Removed.
8315 (make_devices): Locate solely by BlockIO.
8316 (grub_efidisk_open): Fill log_sector_size and total_sectors.
8317 (grub_efidisk_read): Use read_blocks.
8318 (grub_efidisk_write): Use write_blocks.
8319 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
8320 log_sector_size.
8321 (get_safe_sectors): Handle non-512B sectors.
8322 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
8323 sectors.
8324 (grub_biosdisk_write): Handle non-512B sectors.
8325 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
8326 (grub_scsi_read): Remove special non-512B block handling (now handled
8327 one level up).
8328 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
8329 and do sanity checks.
8330 (grub_disk_adjust_range): Handle non-512B sectors.
8331 (transform_sector): New function.
8332 (grub_disk_read_small): Likewise.
8333 (grub_disk_read): Rewritten.
8334 (grub_disk_write): Handle non-512B sectors.
8335 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
8336 log_sector_size.
8337 (open_device): Use log_sector_size.
8338 (grub_util_biosdisk_read): Likewise.
8339 (grub_util_biosdisk_write): Likewise.
8340 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
8341 non-512B sectors.
8342 (pc_partition_map_embed): Likewise.
8343 * include/grub/disk.h (grub_disk): New field log_sector_size.
8344 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
8345 (GRUB_DISK_CACHE_BITS): Increased to 6.
8346 * util/grub-fstest.c (fstest): New command testload.
8347 (argp_parser): Likewise.
8348
8349 2011-06-16 Robert Millan <rmh@gnu.org>
8350
8351 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
8352 `ata' driver on kernel of FreeBSD 9.
8353
8354 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
8355 (get_ataraid_disk_name): New functions.
8356 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
8357 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
8358 get_ataraid_disk_name() and get_ada_disk_name().
8359
8360 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
8361
8362 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
8363 input format.
8364
8365 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
8366
8367 * docs/grub.texi (Obtaining and Building GRUB): Substitute
8368 `ftp.gnu.org' for `alpha.gnu.org'.
8369
8370 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
8371
8372 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
8373 partitions under /dev/disk/by-id/.
8374
8375 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
8376
8377 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
8378 after ten consecutive open failures. Scanning all the way up to
8379 10000 is excessive and can cause serious performance problems in
8380 some configurations.
8381 Fixes Ubuntu bug #787461.
8382
8383 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
8386 opening new one.
8387
8388 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
8389 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 Don't stat devices unless we have to.
8392
8393 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
8394 dir == /dev/mapper.
8395 (grub_guess_root_device): Use already known os_dev if possible.
8396 * grub-core/kern/emu/hostdisk.c
8397 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
8398 if device is known to be a dm one.
8399
8400 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
8401
8402 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
8403 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
8404 Reported by: Pawel Tecza.
8405
8406 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
8409 (lsefisystab): Likewise.
8410 (lssal): Likewise.
8411 (lsefimmap): Likewise.
8412 (hdparm): Enable on qemu-mips.
8413 (setjmp): Add ia64 nodist.
8414 (serial): Simplify tags.
8415
8416 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
8417
8418 * Makefile.util.def (grub-ofpathname): Install manual page.
8419
8420 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
8421
8422 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
8423
8424 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
8425
8426 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
8427
8428 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
8431 into dprintf.
8432
8433 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 Use full 64-bit division.
8436
8437 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
8438 (grub_divmod64): ... this.
8439 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
8440 version.
8441
8442 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
8443
8444 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
8445 `source'.
8446
8447 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
8448
8449 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
8450 to avoid accidents when debugging with 'sh -x'.
8451 * grub-core/gensyminfo.sh.in: Likewise.
8452 * tests/example_scripted_test.in: Likewise.
8453 * tests/grub_cmd_regexp.in: Likewise.
8454 * tests/grub_script_blanklines.in: Likewise.
8455 * tests/grub_script_dollar.in: Likewise.
8456 * tests/grub_script_expansion.in: Likewise.
8457 * tests/grub_script_final_semicolon.in: Likewise.
8458 * tests/partmap_test.in: Likewise.
8459 * tests/util/grub-shell-tester.in: Likewise.
8460 * tests/util/grub-shell.in: Likewise.
8461
8462 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
8463
8464 Move gfxmenu color handling to video, so that gfxterm can use it
8465 too.
8466
8467 * grub-core/gfxmenu/named_colors.c: Move to ...
8468 * grub-core/video/colors.c: ... here. Rename
8469 grub_gui_get_named_color to grub_video_get_named_color.
8470 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
8471 * grub-core/video/colors.c (my_isxdigit): ... here.
8472 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
8473 Move to ...
8474 * grub-core/video/colors.c (parse_hex_color_component): ... here.
8475 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
8476 to ...
8477 * grub-core/video/colors.c (grub_video_parse_color): ... here.
8478
8479 * include/grub/gui.h (grub_gui_color_t): Move to ...
8480 * include/grub/video.h (grub_video_rgba_color_t): ... here.
8481 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
8482 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
8483 * include/grub/gui.h (grub_gui_map_color): Move to ...
8484 * include/grub/video.h (grub_video_map_rgba_color): ... here.
8485 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
8486 to ...
8487 * include/grub/video.h (grub_video_get_named_color): ... here.
8488 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
8489 * include/grub/video.h (grub_video_parse_color): ... here.
8490
8491 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
8492 video/colors.c.
8493 (gfxmenu): Remove gfxmenu/named_colors.c.
8494 (video) [videomodules]: Add video/colors.c.
8495
8496 Add a background_color command.
8497
8498 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8499 function.
8500 (GRUB_MOD_INIT): Register background_color command.
8501 (GRUB_MOD_FINI): Unregister background_color command.
8502 (redraw_screen_rect): Allow blend/replace of text layer to be
8503 controlled independently from whether there is a background bitmap.
8504 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8505 changing bitmap.
8506
8507 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8508
8509 Patch BPB in ntldr and chainloader --bpb.
8510
8511 * grub-core/fs/fat.c: Include grub/fat.h.
8512 (grub_fat_bpb): Moved to ...
8513 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8514 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8515 grub/ntfs.h.
8516 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8517 Moved from here...
8518 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8519 here.
8520 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8521 New function.
8522 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8523 (GRUB_MOD_INIT): Show --bpb.
8524 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8525 * grub-core/normal/main.c (features): New variable.
8526 (GRUB_MOD_INIT): Set feature_* variables.
8527 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8528 proto.
8529 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8530
8531 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8534 for cleanness.
8535
8536 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 FreeDOS direct loading support.
8539
8540 * docs/grub.texi (Supported OS): Add FreeDOS.
8541 * grub-core/Makefile.core.def (freedos): New module.
8542 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8543 variable.
8544 (grub_relocator16_boot): Handle %ebx.
8545 * grub-core/lib/i386/relocator16.S: Likewise.
8546 * grub-core/loader/i386/pc/freedos.c: New file.
8547
8548 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 Long Linux command line support.
8551
8552 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8553 (maximal_cmdline_size): New variable.
8554 (allocate_pages): Use maximal_cmdline_size.
8555 (grub_cmd_linux): Set and use maximal_cmdline_size.
8556 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8557 (allocate_pages): Use maximal_cmdline_size.
8558 (grub_cmd_linux): Set and use maximal_cmdline_size.
8559 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8560 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8561 and cmdline_size.
8562
8563 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8564 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
8565
8566 Improve devmapper support
8567
8568 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8569 (grub_util_is_lvm): New function.
8570 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8571 than lvm if not dmraid.
8572 Handle mapped md nodes.
8573 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8574 (grub_util_device_is_mapped): ... this. Make always available. All users
8575 updated.
8576 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8577 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8578 dmraid nodes.
8579 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8580
8581 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8584
8585 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8586 * grub-core/modinfo.sh.in: New file.
8587 * grub-core/Makefile.core.def (modinfo.sh): New script.
8588 * util/grub-mknetdir.in: Use modinfo.sh.
8589 * util/grub-mkrescue.in: Likewise.
8590
8591 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8594 Fix potential usage of Elf32 instead of Elf64 when compiling on
8595 32-bit architecture. Add endianness macros while on it.
8596
8597 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8598
8599 Use mipsel- rather than mips- in directories involving mipsel ports to
8600 allow both endiannesses coexist.
8601
8602 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8603 mips. All conditions adjusted.
8604 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8605 variable.
8606 * util/grub-install.in: Adjust conditions to take renaming into account.
8607 * util/grub-mkimage.c (image_targets): Likewise. New target
8608 mips-qemu_mips-elf for bigendian mips.
8609
8610 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8611
8612 Avoid unnecessary copying on MIPS.
8613
8614 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8615 early if src == dest.
8616 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8617 compression is none.
8618
8619 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 Reduce memory footprint on SGI by putting modules before the kernel
8622 as opposed to after.
8623
8624 * grub-core/Makefile.core.def (kernel): Increase linking address.
8625 (none_decompress): Likewise.
8626 (xz_decompress): Likewise.
8627 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8628 address.
8629 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8630 layout change.
8631 (grub_arch_modules_addr): New function.
8632 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8633 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8634 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8635 here.
8636 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8637 (grub_total_modules_size): ... this. Make global.
8638 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8639 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8640 New definition.
8641 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8642 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8643 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8644 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8645 * util/grub-mkimage.c (image_target_desc): New flag
8646 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8647 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8648 (generate_image): Handle images with modules before kernel.
8649
8650 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 Prevent potential loss of memory map by overwrite on qemu-mips.
8653
8654 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8655 Save ram size in $s4.
8656 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8657 All users changed to grub_arch_memsize.
8658 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8659 Loongson.
8660 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8661 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8662 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8663 external variable.
8664
8665 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
8666
8667 * .bzrignore: Remove grub-dumpbios.
8668
8669 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
8670
8671 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
8672 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
8673 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
8674 existing options which append).
8675 * docs/grub.texi (Simple configuration): Document new options.
8676 Reported by: Ian Jackson. Fixes Debian bug #617538.
8677
8678 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
8679
8680 * util/grub-fstest.c (cmd_cat): New function.
8681 (fstest): Handle CMD_CAT.
8682 (options): Add cat.
8683 (argp_parser): Handle cat.
8684
8685 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
8686
8687 * Makefile.util.def (grub-bin2h): Don't install.
8688 * docs/man/grub-bin2h.h2m: Remove.
8689
8690 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8691
8692 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
8693 place.
8694
8695 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 Reenable qemu-mips port.
8698
8699 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
8700 Fix small arc bug while on it.
8701 * gentpl.py: Handle qemu_mips.
8702 * grub-core/Makefile.am: Likewise.
8703 * grub-core/Makefile.core.def: Likewise.
8704 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
8705 inappropriate includes.
8706 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
8707 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
8708 * grub-core/kern/main.c (grub_modules_get_end)
8709 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
8710 * grub-core/kern/mips/qemu-mips: Moved to ..
8711 * grub-core/kern/mips/qemu_mips: ... this.
8712 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
8713 (grub_machine_init): Call terminfo_init and serial_init.
8714 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
8715 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8716 New variable.
8717 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
8718 parameter passing.
8719 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
8720 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
8721 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8722 * include/grub/mips/qemu_mips/cmos.h: New file.
8723 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
8724 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
8725 Removed.
8726 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
8727 Use correct mips-style address.
8728 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
8729 (GRUB_TICKS_PER_SECOND): Removed.
8730 (grub_get_rtc): Likewise.
8731 (grub_cpu_idle): Likewise.
8732 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
8733 New definition.
8734 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
8735 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
8736 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
8737 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
8738 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8739 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8740 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
8741 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
8742
8743 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 SGI ARCS port.
8746
8747 * Makefile.util.def (libgrubmods.a): Add dvh.c.
8748 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
8749 platforms.
8750 * configure.ac: New target mips-arc.
8751 * gentpl.py: Likewise.
8752 * grub-core/Makefile.am: Likewise.
8753 * grub-core/Makefile.core.def: Likewise.
8754 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8755 (none_decompress): Likewise.
8756 (lsdev): New module.
8757 (datetime): Use lib/arc/datetime.c on ARC.
8758 (part_dvh): New module.
8759 * grub-core/commands/arc/lsdev.c: New file.
8760 * grub-core/disk/arc/arcdisk.c: Likewise.
8761 * grub-core/kern/mips/arc/init.c: Likewise.
8762 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8763 aligned addresses.
8764 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8765 support.
8766 (grub_arch_dl_relocate_symbols): Likewise.
8767 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8768 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8769 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8770 platforms.
8771 * grub-core/lib/arc/datetime.c: New file.
8772 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8773 pci.h on non-loongson.
8774 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8775 (grub_linux_boot): Set unused registers to 0.
8776 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
8777 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
8778 * grub-core/mmap/mips/uppermem.c: ...here.
8779 * grub-core/partmap/dvh.c: New file.
8780 * grub-core/term/arc/console.c: Likewise.
8781 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
8782 (grub_terminfo_set_current): Add terminal "arc".
8783 (grub_terminfo_readkey): Support ARC sequences.
8784 * include/grub/arc/arc.h: New file.
8785 * include/grub/arc/console.h: Likewise.
8786 * include/grub/disk.h (grub_disk_dev_id): Add
8787 GRUB_DISK_DEVICE_ARCDISK_ID.
8788 * include/grub/mips/arc/kernel.h: New file.
8789 * include/grub/mips/arc/memory.h: Likewise.
8790 * include/grub/mips/arc/time.h: Likewise.
8791 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
8792 * include/grub/mips/kernel.h (grub_halt): ... here.
8793 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
8794 here...
8795 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
8796 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
8797 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
8798 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
8799 proto.
8800 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
8801 from here ...
8802 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
8803 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
8804 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
8805 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
8806 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
8807 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
8808 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
8809 (grub_phys_addr_t): Moved from here ...
8810 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
8811 (grub_vtop): Moved from here ...
8812 * include/grub/mips/memory.h (grub_vtop): ... here.
8813 (grub_map_memory): Moved from here ...
8814 * include/grub/mips/memory.h (grub_map_memory): ... here.
8815 (grub_unmap_memory): Moved from here ...
8816 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
8817 (grub_machine_mmap_iterate): Moved from here ...
8818 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
8819 (grub_mmap_get_lower): Moved from here ...
8820 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
8821 (grub_mmap_get_upper): Moved from here ...
8822 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
8823 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8824 here ...
8825 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8826 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
8827 here ...
8828 * include/grub/mips/time.h (grub_get_rtc): ... here.
8829 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8830 here ...
8831 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8832 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
8833 here ...
8834 * include/grub/mips/time.h (grub_cpu_idle): ... here.
8835 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
8836 definition.
8837 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
8838 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
8839 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
8840 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
8841 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8842 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8843 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
8844 (GRUB_MACHINE_LINK_ADDR): Likewise.
8845 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
8846 to 6.
8847 * util/grub-install.in: Run dvhtool on ARC.
8848 * util/grub-mkimage.c (image_targets): Add mips-arc.
8849 (generate_image): Handle ECOFF output for mips-arc.
8850
8851 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
8854 blocks.
8855
8856 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
8859 after enabling port.
8860
8861 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 Skip incorrect USB devices.
8864
8865 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
8866 configcnt == 0.
8867 * include/grub/usb.h (grub_usb_err_t): New enum value
8868 GRUB_USB_ERR_BADDEVICE.
8869
8870 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 Fuloong video init support.
8873
8874 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
8875 well.
8876 (grub_vga_read_arx): New function.
8877 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
8878 definition.
8879 (framebuffer): New members io, mmioptr and mmiobase.
8880 (read_sis_cmd): New function.
8881 (write_sis_cmd): Likewise.
8882 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
8883 rather than 640x400.
8884 * grub-core/video/sis315_init.c: New file.
8885
8886 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
8889 non-loongson.
8890 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
8891 to grub_dl_register_symbol.
8892
8893 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 Fix compilation errors.
8896
8897 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
8898 potentially unused.
8899 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
8900 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
8901 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
8902 to loongson machines.
8903
8904 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 Several FS mtime support.
8907
8908 * grub-core/fs/affs.c (grub_affs_time): New struct.
8909 (grub_affs_file): New field mtime.
8910 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
8911 type. Removed 'size'. New field 'di'. All users updated.
8912 (grub_affs_mount): Simplify checsum checking.
8913 (grub_affs_iterate_dir): New helper grub_affs_create_node.
8914 (grub_affs_dir): Handle mtime.
8915 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
8916 (grub_cpio_dir): Likewise.
8917 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
8918 (grub_hfs_filerec): New field mtime.
8919 (grub_hfs_dir): Handle mtime.
8920 (grub_hfs_mtime): New function.
8921 (grub_hfs_fs): Register grub_hfs_mtime.
8922 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
8923 (grub_iso9660_dir): New field mtime.
8924 (grub_fshelp_node): New field dirent.
8925 (iso9660_to_unixtime): New function.
8926 (iso9660_to_unixtime2): Likewise.
8927 (grub_iso9660_read_symlink): Use node->dirent.
8928 (grub_iso9660_iterate_dir): Likewise.
8929 (grub_iso9660_dir): Set mtime.
8930 (grub_iso9660_mtime): New function.
8931 (grub_iso9660_fs): Register grub_iso9660_mtime.
8932 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
8933 (grub_jfs_inode): New fields atime, ctime and mtime.
8934 (grub_jfs_dir): Set mtime.
8935 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8936 * grub-core/fs/ntfs.c (list_file): Set mtime.
8937 (grub_ntfs_dir): Likewise.
8938 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
8939 (grub_reiserfs_iterate_dir): Set mtime.
8940 (grub_reiserfs_dir): Likewise.
8941 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
8942 (grub_fshelp_node): Likewise.
8943 (grub_sfs_iterate_dir): Set mtime.
8944 (grub_sfs_dir): Likewise.
8945 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
8946 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
8947 (grub_xfs_inode): New fields atime, mtime, ctime.
8948 (grub_xfs_dir): Set mtime.
8949 * include/grub/datetime.h (grub_datetime2unixtime): New function.
8950 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
8951 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
8952
8953 Support UDF symlinks.
8954
8955 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
8956 (grub_ufs_read_symlink): New function. All users updated.
8957
8958 Check amiga partmap checksum.
8959
8960 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
8961 (grub_amiga_partition): Likewise.
8962 (amiga_partition_map_checksum): New function.
8963 (amiga_partition_map_iterate): Check checksum.
8964
8965 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 ROMFS support.
8968
8969 * Makefile.util.def (libgrubmods.a): Add romfs.
8970 * grub-core/Makefile.core.def (romfs): New module.
8971 * grub-core/fs/romfs.c: New file.
8972
8973 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 Squashfs v4 support.
8976
8977 * Makefile.util.def (libgrubmods.a): Add squash4.
8978 * grub-core/Makefile.core.def (squash4): New module.
8979 * grub-core/fs/squash4.c: New file.
8980 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
8981 disk_input_start, disk_input.
8982 (get_byte): Handle disk_input.
8983 (grub_zlib_disk_read): New function.
8984 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
8985
8986 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8987 2011-05-15 Feiran Zheng <famcool@gmail.com>
8988
8989 * Makefile.util.def (libgrubmods.a): Add minix3.
8990 * grub-core/Makefile.core.def (minix3): New module.
8991 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
8992 (GRUB_MINIX_BSIZE): Removed.
8993 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
8994 (grub_minix_ino_t): New type.
8995 (grub_minix_le_to_cpu_ino): New macro.
8996 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
8997 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
8998 (grub_minix_data): New field block_size.
8999 (grub_minix_read_file): Handle 64-bit correctly.
9000 * grub-core/fs/minix3.c: New file.
9001
9002 2011-05-15 Tristan Gingold <gingold@free.fr>
9003 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
9004 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9005
9006 IA64 support.
9007
9008 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
9009 * configure.ac: Add ia64-efi target.
9010 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
9011 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
9012 * gentpl.py: Add ia64_efi platform.
9013 Rename x86_efi to efi and Add ia64-efi. All users updated.
9014 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
9015 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
9016 Remove kern/generic/rtc_get_time_ms.c on EFI.
9017 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
9018 kern/ia64/dl_helper.c on ia64-efi.
9019 Add kern/emu/cache.c on emu.
9020 (linux): Use on loader/ia64/efi/linux.c on ia64.
9021 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
9022 whether symbol is a function.
9023 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
9024 (grub_symbol): New field 'isfunc'.
9025 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
9026 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
9027 (grub_dl_load_segments): Place all sections into the same region.
9028 [__ia64__]: Create trampolines and got.
9029 [GRUB_MACHINE_EMU]: Call mprotect.
9030 (grub_dl_resolve_symbols): Resolve symbol type as well.
9031 [__ia64__]: Create function descriptors.
9032 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
9033 (grub_rtc_get_time_ms): ... this. Expressions simplified.
9034 (grub_get_rtc): New function.
9035 * grub-core/kern/emu/cache.c [__ia64__]: New file.
9036 * grub-core/kern/emu/cache.S: Renamed to ...
9037 * grub-core/kern/emu/cache_s.S: ... this.
9038 [__ia64__]: Add a nop.
9039 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
9040 [__ia64__]: New function.
9041 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
9042 * grub-core/kern/ia64/dl.c: New file.
9043 * grub-core/kern/ia64/dl_helper.c: Likewise.
9044 * grub-core/kern/ia64/efi/init.c: New file.
9045 * grub-core/kern/ia64/efi/startup.S: Likewise.
9046 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
9047 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
9048 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
9049 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
9050 * grub-core/loader/ia64/efi/linux.c: New file.
9051 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
9052 (GRUB_MOD_DEP): Likewise.
9053 (grub_dl) [__ia64__]: New fields got and tramp.
9054 (grub_dl): New field 'base'.
9055 (grub_dl_register_symbol): New argument isfunc. All users updated.
9056 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
9057 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
9058 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
9059 (grub_ia64_dl_get_tramp_got_size): New proto.
9060 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
9061 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
9062 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
9063 * include/grub/efi/api.h: Skip call wrappers on ia64.
9064 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
9065 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
9066 * include/grub/elf.h (ELF_ST_INFO): New definition.
9067 * include/grub/ia64/efi/kernel.h: New file.
9068 * include/grub/ia64/efi/memory.h: Likewise.
9069 * include/grub/ia64/efi/time.h: Likewise.
9070 * include/grub/ia64/kernel.h: Likewise.
9071 * include/grub/ia64/setjmp.h: Likewise (from glibc).
9072 * include/grub/ia64/time.h: New file.
9073 * include/grub/ia64/types.h: Likewise.
9074 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
9075 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
9076 New protos.
9077 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
9078 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9079 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
9080 * util/grub-mkimage.c (image_target_desc): New field pe_target.
9081 All users updated.
9082 (EFI64_HEADER_SIZE): New definition. All users updated.
9083 (image_targets): Add ia64-efi.
9084 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
9085 jumpers_addr. All users updated.
9086 Create function descriptors.
9087 (count_funcs): New function.
9088 (unaligned_uint32): New struct.
9089 (MASK20): New definition.
9090 (MASK19): Likewise.
9091 (MASKF21): Likewise.
9092 (add_value_to_slot_20b): New function.
9093 (add_value_to_slot_21_real): Likewise.
9094 (add_value_to_slot_21): Likewise.
9095 (ia64_kernel_trampoline): New struct.
9096 (nopm): New variable.
9097 (jump): Likewise.
9098 (make_trampoline): New function.
9099 (relocate_addresses): Handle ia64.
9100 (make_reloc_section): Likewise.
9101 (load_image): Likewise.
9102
9103 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
9106 warning. Move variables before code while on it.
9107
9108 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 Fuloong support.
9111
9112 * configure.ac: Rename yeeloong platform to loongson. All users updated.
9113 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
9114 * grub-core/boot/mips/loongson/fuloong.S: New file.
9115 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
9116 Explicitly init CS5536.
9117 [FULOONG]: Don't use serial until CS5536 is available.
9118 Set GPIO based on dumps.
9119 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
9120 [FULOONG]: Handle GPIO and memory controller differences.
9121 Parse machine type in $a2.
9122 * grub-core/boot/mips/startup_raw.S: Determine and save the
9123 architecture.
9124 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
9125 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
9126 init on architecture type.
9127 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9128 SIS315E. Don't init at_keyboard on fuloong.
9129 (grub_halt): Support Fuloong.
9130 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
9131 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
9132 (loongson_machtypes): New array.
9133 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
9134 type.
9135 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
9136 config. All users updated. Handle CS5536 serial.
9137 * grub-core/term/serial.c (grub_serial_register): Conditionalise
9138 default port on machine type. Register serial as inactive.
9139 * grub-core/video/sis315pro.c: New file.
9140 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
9141 definition.
9142 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
9143 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
9144 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
9145 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
9146 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
9147 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
9148 to ...
9149 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
9150 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
9151 definition.
9152 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
9153 (grub_arch_machine): New extern var.
9154 * include/grub/mips/loongson/serial.h
9155 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
9156 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
9157 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
9158 (GRUB_MACHINE_SERIAL_PORT0): ... this.
9159 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
9160 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
9161 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
9162 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
9163 * include/grub/term.h (grub_term_register_input_inactive): New inline
9164 function.
9165 (grub_term_register_output_inactive): Likewise.
9166 * include/grub/video.h (grub_video_driver_id): New value
9167 GRUB_VIDEO_DRIVER_SIS315PRO.
9168 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
9169 New field "names". All users updated.
9170 New field value IMAGE_FULOONG_FLASH.
9171 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
9172
9173 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
9174
9175 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
9176 and add some clarification.
9177
9178 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
9181 platforms if kernel is compressed.
9182
9183 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
9186 unused modules since currently referrence counter isn't reliable and
9187 there isn't much memory to recover there anyway.
9188
9189 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
9192 rather than resetting it to allow modules to reference themselves
9193 in init.
9194
9195 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
9198 counter on dependencies since grub_dl_unref already handles this.
9199
9200 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
9203 on error if not already done.
9204
9205 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 Fix few potential memory misusage.
9208
9209 * grub-core/font/font.c (load_font_index): Don't free char_index to
9210 avoid double free.
9211 (grub_font_load): Zero-fill font at alloc for safety.
9212 Close file on error.
9213 (free_font): Free bmp_idx.
9214
9215 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * docs/grub.texi (Installation): Fix several outdated claims.
9218
9219 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 Handle module_license on windows.
9222
9223 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
9224 sections shifted.
9225 (insert_string): Make argument const char * instead of char *.
9226 (write_section_data): Handle long section names.
9227 Handle module_license.
9228
9229 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
9232 handle class-free menuentries.
9233 (grub_normal_add_menu_entry): Add a check to be sure.
9234
9235 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
9238 PgUp and PgDown.
9239
9240 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 * configure.ac: Bump version to 1.99.
9243
9244 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 Give ATA device a bit more time on first try in order to allow disks
9247 to spin up.
9248
9249 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
9250 if dev->present is 1. Reset dev->present on failure.
9251 (grub_ata_device_initialize): Set dev->present to 1.
9252 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
9253 (grub_ata_device): New member 'present'.
9254
9255 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * util/grub-mkimage.c (generate_image): Update hash.
9258
9259 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 Flush caches on DMA memory.
9262
9263 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
9264 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
9265 (grub_dma_free): Likewise.
9266 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
9267
9268 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
9271 to avoid asm treating ld and sd as macros.
9272
9273 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
9276 decompressor.
9277
9278 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
9281 grub_decompress_core since later would fail if grub_decompress_core
9282 is too far.
9283
9284 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9285
9286 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
9287 R_MIPS_JALR since it's used by newer compiler.
9288
9289 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
9292
9293 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
9296 file_path to 0 for surety.
9297 (grub_chainloader_boot): Set exit_data to NULL.
9298 Unset the loader once done.
9299 (grub_cmd_chainloader): Fix confusing error message if file is empty.
9300
9301 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
9304 unknown key into a dprintf.
9305
9306 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
9309 on first non-existant partition.
9310
9311 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
9314 openning fails.
9315 Reported by: Mark Korenberg.
9316
9317 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
9320 overflow.
9321
9322 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * util/grub-mkimage.c (main): Explicitely flush and sync the output
9325 before closing to ensure that it will be readable by grub-setup.
9326
9327 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9328
9329 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
9330 (devpath_1): Use MAKE_PIWG_PATH.
9331 (devpath_2): Likewise.
9332 (devpath_3): Likewise.
9333 (devpath_4): Likewise.
9334 (devpath_5): Likewise.
9335 (devpath_6): Likewise.
9336
9337 The appleldr.mod was checked that to be binary identical to previous
9338 version.
9339
9340 2011-05-05 Zach <mikezackles>
9341
9342 Support 2010 Macbooks.
9343
9344 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
9345 (devs): Add devpath_6.
9346
9347 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
9350 /dev/random. /dev/urandom is good enough for our purposes (salting).
9351
9352 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
9355
9356 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9357
9358 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
9359 hexadecimal.
9360
9361 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
9364 and not 0 on failure.
9365
9366 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
9367
9368 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
9369 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
9370 disk; otherwise grub_fs_probe will not fall back to the next
9371 filesystem.
9372 (grub_pxefs_open): Likewise, for consistency.
9373 Reported and tested by: Ezekiel Grave.
9374
9375 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
9376
9377 * tests/partmap_test.in: Don't hardcode path to parted.
9378 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
9379
9380 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
9381
9382 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
9383 of `ls' to find out which devices are available.
9384
9385 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
9388 than source address for efi mmap buffer.
9389
9390 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
9393 wrong action on non-detecting the magic.
9394
9395 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
9398 already supplied by another part of the module (fixes compilation on
9399 FreeBSD).
9400
9401 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
9404 match the one used by mdadm.
9405
9406 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
9407
9408 * po/README: Add instructions for creating po/LINGUAS.
9409
9410 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
9411
9412 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
9413 #551428.
9414
9415 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
9416 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
9417 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
9418 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
9419 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
9420 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
9421 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
9422 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
9423 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
9424 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
9425 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
9426 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
9427 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
9428 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
9429 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
9430 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
9431 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
9432 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
9433 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
9434 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
9435 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
9436 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
9437
9438 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
9439
9440 * grub-core/kern/emu/getroot.c
9441 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
9442 test that was incorrectly reintroduced in r3214.
9443 Reported by: Ian Dall. Fixes Savannah bug #33133.
9444
9445 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
9446
9447 Fix stack pointer handling in 16-bit relocator.
9448
9449 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
9450 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
9451 Fixes Ubuntu bug #683904.
9452
9453 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * configure.ac: Bump version to 1.99~rc2.
9456
9457 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
9460 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
9461 * grub-core/lib/x86_64/setjmp.S: Likewise.
9462 * grub-core/lib/mips/setjmp.S: Likewise.
9463 * grub-core/lib/powerpc/setjmp.S: Likewise.
9464 * grub-core/lib/sparc64/setjmp.S: Likewise.
9465
9466 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
9469 * grub-core/lib/efi/datetime.c: Likewise.
9470
9471 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
9474 New function.
9475 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
9476 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
9477 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
9478
9479 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
9482 bitmap.
9483 (grub_gfxterm_term_init): Likewise.
9484
9485 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 Take into account the decorations the computing menu entry width.
9488
9489 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
9490 (grub_gfxmenu_create_box): Register get_border_width.
9491 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
9492 if available.
9493 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
9494 get_border_width.
9495
9496 2011-04-18 Endres Puschner <code@e7p.de>
9497
9498 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9499 Don't skip first class.
9500
9501 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9504 chunks.
9505 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9506
9507 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 Complete 64-bit division support.
9510
9511 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9512 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9513 * include/grub/misc.h (grub_divmod64): Rename to ...
9514 (grub_divmod64_full): ... this.
9515 (grub_divmod64): New inline function.
9516
9517 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9520
9521 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9524 performing the necessary test.
9525
9526 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9529 (kfreebsd.elf): Likewise.
9530 (pc-chainloader.elf): Likewise.
9531 (ntldr.elf): Likewise.
9532
9533 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 Identify RAID by its UUID rather than (guessed) name.
9536
9537 * grub-core/disk/raid.c (ascii2hex): New function.
9538 (grub_raid_open): Accept mduuid/%s specification.
9539 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9540 (get_mdadm_uuid): ... this.
9541 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9542
9543 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9546 to negative size.
9547
9548 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
9549
9550 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9551 btrfs subvolume.
9552 * util/grub.d/20_linux_xen.in: Likewise.
9553
9554 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
9555
9556 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9557 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9558
9559 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9560 Build a list of relevant visible mounts using the mnt_id and
9561 parent_mnt_id fields, and then scan that list at the end.
9562
9563 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
9564
9565 * docs/grub.texi (normal): New section.
9566 (normal_exit): New section.
9567 (Embedded configuration): Add reference to normal.
9568 (GRUB only offers a rescue shell): Likewise.
9569 * docs/grub-dev.texi (Error Handling): Fix typo.
9570
9571 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
9572
9573 * NEWS: Drop obsolete entry about probe-only btrfs support.
9574
9575 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
9576
9577 * util/import_gcry.py: Fix typo.
9578
9579 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9580
9581 * NEWS: Add btrfs support.
9582
9583 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9584 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
9585
9586 BtrFS support. Written by me (Vladimir) with important bugfixes and
9587 even more important testing by Colin.
9588
9589 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9590 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9591 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9592 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9593 mem_input_off and mem_input. All users updated to accept in-RAM input.
9594 (gzio_seek): New function.
9595 (test_zlib_header): Likewise.
9596 (grub_gzio_read): Likewise.
9597 (grub_zlib_decompress): Likewise.
9598 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9599 Accept partial and non-virtual mounts.
9600 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9601 avoid receiving /dev/dm-X as device.
9602 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9603 Handle bind and partial mounts.
9604 * grub-core/lib/crc.c: New file.
9605 * include/grub/deflate.h: Likewise.
9606 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9607 proto.
9608 * include/grub/lib/crc.h: New file.
9609
9610 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 Implement automatic module license checking according to new GNU
9613 guidelines.
9614
9615 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9616 (grub_dl_load_core): Use grub_dl_check_license.
9617 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9618 (GRUB_MOD_LICENSE): Likewise.
9619 (GRUB_MOD_DUAL_LICENSE): Likewise.
9620 All modules updated.
9621
9622 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
9623
9624 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9625 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9626 loaders.
9627 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9628
9629 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9632
9633 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9636 failed.
9637
9638 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9641 parenthesis in the middle of the filename.
9642
9643 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9646 rather than trying to put initrd way too high.
9647 Reported by: Ryan Lortie <desrt@desrt.ca>
9648
9649 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9652 improperly removed string.
9653
9654 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9657 is_disk.
9658 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9659 (open_device) Likewise.
9660 (grub_util_biosdisk_close): Likewise.
9661 Reported by: Mark Korenberg.
9662
9663 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9664
9665 * util/grub-mkconfig_lib.in: Add missing quotes.
9666
9667 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
9668
9669 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
9670 is NULL.
9671
9672 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 Dynamically count the number of lines for the lower banner.
9675
9676 * grub-core/normal/menu_entry.c (per_term_screen): New member
9677 num_entries.
9678 (print_down): Use num_entries.
9679 (update_screen): Likewise.
9680 (grub_menu_entry_run): Set num_entries.
9681 * grub-core/normal/menu_text.c (menu_viewer_data): New member
9682 num_entries.
9683 (grub_print_message_indented): Move real part to ...
9684 (grub_print_message_indented_real): ... here. Additional argument
9685 dry_run.
9686 (draw_border): Additional argument num_entries.
9687 (print_message): Additional argument dry_run.
9688 (print_entries): Receive menu viewer data.
9689 (grub_menu_init_page): New argment num_entries.
9690 (menu_text_set_chosen_entry): Use num_entries.
9691 (grub_menu_try_text): Likewise.
9692 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
9693 All users updated.
9694 (grub_ucs4_count_lines): New function.
9695 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
9696 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
9697 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
9698 (grub_term_border_height): Likewise.
9699 (grub_term_num_entries): Likewise.
9700
9701 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9702
9703 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
9704 Remove now unused string.
9705
9706 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
9707
9708 * docs/grub-dev.texi (Finding your way around): Update for 1.99
9709 build system.
9710 (Getting started): GRUB is developed in Bazaar now, not Subversion.
9711
9712 (Comment): Fix typo.
9713 (Getting started): General copy-editing.
9714 (Typical Development Experience): Likewise.
9715 (Error Handling): Likewise.
9716 (Video API): Likewise.
9717
9718 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
9719
9720 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
9721 throughout.
9722
9723 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * util/grub-mkimage.c (main): Handle special naming of yeeloong
9726 directory.
9727
9728 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
9729
9730 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
9731 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
9732 "development".
9733
9734 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
9737 grub_strcpy since the lines aren't necessarily 0-terminated.
9738
9739 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
9742 root on legacy.
9743
9744 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 * grub-core/commands/probe.c (options): Argument to set isn't optional.
9747 (GRUB_MOD_INIT): DEVICE isn't optional.
9748
9749 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9752 word on new line if it's too long anyway. Fixes a hang.
9753
9754 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9757 const.
9758 * util/grub-setup.c (main): Reuse md device name if available.
9759 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9760 not GRUB name as argument.
9761 Based on patch by: Florian Wagner <fwagner>.
9762
9763 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9766 Place mbi on low memory for better compatibility.
9767
9768 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9771
9772 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9773 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
9774
9775 * autogen.sh: Ensure that collate and ctype locale is C.
9776 * conf/Makefile.common: Likewise.
9777
9778 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * grub-core/normal/menu.c: Add missing include.
9781
9782 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
9785
9786 2011-04-08 Martin Zuther <mzuther@mzuther.de>
9787
9788 * util/grub-mkconfig.in: Ignore emacsen backup.
9789
9790 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
9793 on open.
9794 (grub_util_biosdisk_close): Likewise.
9795
9796 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
9799 const attribute and use grub_isdigit.
9800
9801 2011-04-06 Andrey <dev_null@ukr.net>
9802
9803 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
9804 gcc warning.
9805
9806 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
9809 useful grub_dprintf's.
9810
9811 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9814
9815 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9816
9817 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
9818
9819 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9820
9821 Output errors if theme loading failed.
9822
9823 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
9824 grub_gfxterm_fullscreen on error paths to ...
9825 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
9826 theme loading error.
9827
9828 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
9831 space for older compilers.
9832 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9833
9834 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
9837 and report them as not RAID members since they are useless for GRUB.
9838 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9839
9840 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 Increase LVM implementation robustness in order not to crash on
9843 configurations like pvmove. Previously code assumed that in some places
9844 only lvs or only pvs are used whereas it seems that they are used
9845 interchangeably.
9846
9847 * grub-core/disk/lvm.c (read_node): New function.
9848 (read_lv): Use read_node.
9849 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
9850 Match volumes only at the end when all lvs are found. Take both
9851 pvs (first) and lvs (second) into account.
9852 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
9853 mirror_* into node_*. All users updated.
9854 (grub_lvm_stripe): Merge this ...
9855 (grub_lvm_mirror): ... and this ...
9856 (grub_lvm_node): ... into this. All users updated.
9857
9858 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
9861 of function to allow further scanning for LVMs.
9862
9863 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9864
9865 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
9866 on failed seek as it breaks open fd reusage.
9867
9868 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 * util/grub-install.in: Add a recommendation to use --recheck before
9871 reporting bugs.
9872
9873 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
9876 are obtained.
9877
9878 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 GRUB developper manual based on existing Internals section and
9881 contributions by the various authors with active copyright assignment.
9882
9883 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
9884 * docs/font_char_metrics.png: New file.
9885 * docs/font_char_metrics.txt: Likewise.
9886 * docs/grub-dev.texi: Likewise.
9887 * docs/grub.texi (Internals): Move from here ...
9888 * docs/grub-dev.texi: ... here.
9889
9890 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
9891
9892 Store the loopback device as data on loopback grub_disk structures,
9893 rather than the file it points to. This fixes use of freed memory
9894 if an existing loopback device is replaced.
9895
9896 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
9897 disk->data, not dev->file.
9898 (grub_loopback_read): Adjust file assignment to match.
9899 Fixes Ubuntu bug #742967.
9900
9901 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
9902
9903 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
9904 when replacing an existing device.
9905
9906 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
9909 memory corruptions.
9910
9911 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
9912 unsigned.
9913 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
9914 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
9915 (grub_jfs_read_inode): Likewise.
9916 (grub_jfs_opendir): Likewise. Remove now useless casts.
9917 (grub_jfs_getent): Likewise.
9918 Make ino a grub_uint32_t rather than int.
9919 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
9920 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
9921 division and module with bit operations.
9922 (grub_jfs_find_file): Make ino a grub_uint32_t.
9923 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
9924
9925 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
9926
9927 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
9928 warning. (This was in fact always initialised before use, but GCC
9929 wasn't smart enough to prove that.)
9930 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9931
9932 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
9935 stack alignment.
9936 (efi_wrap_1): Likewise.
9937 (efi_wrap_2): Likewise.
9938 (efi_wrap_3): Likewise.
9939 (efi_wrap_4): Likewise.
9940 (efi_wrap_5): Likewise.
9941 (efi_wrap_6): Likewise.
9942 (efi_wrap_10): Likewise.
9943 Based on information by: Red Hat/Peter Jones.
9944
9945 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
9946
9947 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
9948 set-but-not-used variable.
9949
9950 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
9951
9952 * docs/grub.texi (Simple configuration): Be more explicit about
9953 GRUB_DEFAULT, and add an example.
9954 Reported by: Leslie Rhorer.
9955
9956 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
9957
9958 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
9959 shell".
9960
9961 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9962
9963 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
9964 * util/grub.d/20_linux_xen.in: Likewise.
9965
9966 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9967
9968 * util/grub.d/10_linux.in: Try alternative config filenames where
9969 we parse config file.
9970 * util/grub.d/20_linux_xen.in: Likewise.
9971
9972 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9973
9974 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
9975 * util/grub.d/20_linux_xen.in: Likewise.
9976
9977 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * grub-core/disk/raid.c (insert_array): Add few potentially
9980 useful grub_util_info.
9981 (grub_raid_register): Likewise.
9982
9983 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
9986 Preserve partition number in mdadm code path.
9987
9988 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
9991 few potentially useful grub_util_info.
9992
9993 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
9996
9997 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
9998
9999 * docs/grub.texi (default): Use @example rather than nested
10000 itemized lists to avoid breaking gendocs.
10001
10002 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
10003
10004 * docs/grub.texi (Future): Update.
10005
10006 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
10007
10008 * docs/grub.texi (Environment): New chapter.
10009 (Changes from GRUB Legacy): Link to "Environment block" section for
10010 details of limitations.
10011 (Simple configuration): Likewise. Link to documentation of gfxmode
10012 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
10013 respectively.
10014 (Shell-like scripting): Note that normal variables are stored in the
10015 environment.
10016 (gettext): Link to documentation of lang and locale_dir.
10017 (list_env): New section.
10018 (load_env): New section.
10019 (save_env): New section.
10020
10021 (Reporting bugs): Fix typo.
10022
10023 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
10026 the example.
10027
10028 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 * grub-core/term/at_keyboard.c (set_scancodes)
10031 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
10032
10033 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
10034
10035 * docs/grub.texi (Menu-specific commands): Remove some semantics
10036 that were true in GRUB Legacy but not in GRUB 2.
10037 (submenu): New section.
10038 (false): New section.
10039 (read): New section.
10040 (true): New section.
10041
10042 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
10043
10044 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
10045
10046 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
10047
10048 * docs/grub.texi (Simple configuration): Explain some of the
10049 current limitations of grub-mkconfig.
10050 Reported by: Leslie Rhorer.
10051
10052 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 Old macs search for boot.efi rather than for bootia32.efi.
10055
10056 * util/grub-install.in: Copy bootia32.efi to boot.efi.
10057 * util/grub-mkrescue.in: Likewise.
10058 Suggested by: Peter Jones.
10059
10060 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
10063
10064 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
10067 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
10068 (grub_lvm_mirror): New struct.
10069 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
10070 (grub_lvm_iterate): Iterate only visible volumes.
10071 (grub_lvm_read): Factor out to ..
10072 (read_lv): ... this. Support mirrors.
10073 (grub_lvm_read): New wrapper function.
10074 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
10075 stripped or mirrored.
10076
10077 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
10080
10081 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
10082
10083 * docs/grub.texi (loopback): New section.
10084
10085 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
10086
10087 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
10088 removed -p option.
10089
10090 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
10091
10092 * docs/grub.texi (BIOS installation): New section, partly based on
10093 previous text in other sections.
10094 (Installing GRUB using grub-install): Replace BIOS discussion with a
10095 cross-reference.
10096 (Images): Likewise.
10097
10098 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * grub-core/kern/emu/hostdisk.c (find_partition_start)
10101 [HAVE_DIOCGDINFO]: Add safety checks.
10102
10103 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10104
10105 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
10106 per default compiled in kernel and prior to 8.0 isn't shipped at all.
10107
10108 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
10109
10110 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
10111 real_sb->size is zero (e.g. RAID-0), get the disk size from
10112 real_sb->data_size instead.
10113 Fixes Ubuntu bug #743136.
10114
10115 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
10118 printf clauses for printing size and start.
10119
10120 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10121
10122 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
10123 Reported and tested by: Timothy Nikkel.
10124
10125 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
10128 (dirty_region_add_real): ... this.
10129 (dirty_region_add): Don't discard margin refresh when performing
10130 scheduled repaint.
10131
10132 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 * grub-core/lib/relocator.c (allocate_regstart)
10135 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
10136 terminals are capabple of malloc-free operation.
10137 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10138 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10139
10140 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
10141
10142 * util/grub-setup.c: Copy the partition table zone if floppy support
10143 is disabled, even if no partition table is found.
10144
10145 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
10146 during POST if an invalid partition table is contained in the PBR
10147 of the active partition when GRUB is installed to a partition.
10148
10149 2011-03-28 Colin Watson <cjwatson@debian.org>
10150
10151 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
10152 comment.
10153
10154 2011-03-28 Colin Watson <cjwatson@debian.org>
10155
10156 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
10157 to be specific about what kind of RAID device we're scanning for.
10158
10159 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
10160
10161 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
10162 return freed string.
10163
10164 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
10167
10168 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 Use libgeom on FreeBSD to detect partitions.
10171
10172 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
10173 (grub-mkrelpath): Likewise.
10174 (grub-script-check): Likewise.
10175 (grub-editenv): Likewise.
10176 (grub-mkpasswd-pbkdf2): Likewise.
10177 (grub-fstest): Likewise.
10178 (grub-mkfont): Likewise.
10179 (grub-mkdevicemap): Likewise.
10180 (grub-probe): Likewise.
10181 (grub-setup): Likewise.
10182 (grub-ofpathname): Likewise.
10183 (grub-mklayout): Likewise.
10184 (example_unit_test): Likewise.
10185 (grub-menulst2cfg): Likewise.
10186 * grub-core/Makefile.core.def (grub-emu): Likewise.
10187 (grub-emu-lite): Likewise.
10188 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
10189 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
10190 define HAVE_DIOCGDINFO.
10191 (follow_geom_up) [FreeBSD]: New function.
10192 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
10193 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
10194 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
10195 unconditionally of HAVE_DIOCGDINFO.
10196
10197 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 Fix FreeBSD compilation problem.
10200
10201 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
10202 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
10203
10204 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
10205
10206 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
10207 Switch back to page zero before loading a kernel, since some kernel
10208 drivers expect that.
10209 Thanks to: Felix Kuehling.
10210
10211 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
10214 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
10215 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
10216
10217 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
10220 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
10221
10222 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10223
10224 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
10225 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
10226 malloc is disabled.
10227
10228 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
10231 for modules headers when counting the needed allocation size.
10232
10233 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
10236 if no ASCII character is found to prevent crash.
10237
10238 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
10239
10240 * grub-core/video/bitmap.c (match_extension): Ignore case.
10241
10242 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10243
10244 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
10245
10246 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10247
10248 * grub-core/script/parser.y: Declare "time" as valid argument.
10249
10250 2011-03-23 Peter Jones <pjones@redhat.com>
10251
10252 Fix incorrect assert failure reporting.
10253
10254 * grub-core/tests/example_functional_test.c (example_test): Add
10255 a failure comment.
10256 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
10257 (failure_start): ...this. Check that malloc succeeded.
10258 Don't call xvasprintf. Return failure struct.
10259 (failure_append_vtext): New function.
10260 (failure_append_text): Likewise.
10261 (add_failure): Likewise.
10262 (grub_test_assert_helper): Likewise.
10263 * include/grub/test.h (grub_test_assert_helper): New declaration.
10264 (grub_test_assert): Macro rewritten.
10265
10266 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
10269
10270 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
10273
10274 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10275
10276 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
10277 into GRUB-style one.
10278
10279 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10280
10281 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
10282 error and not grub_errno.
10283 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
10284
10285 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
10288 GRUB_USB_SPEED_NONE in case of failure and not the error code.
10289
10290 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 * grub-core/efiemu/i386/pc/cfgtables.c
10293 (grub_machine_efiemu_init_tables): Make declaration a prototype.
10294 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
10295 (grub_xnu_unlock): Likewise.
10296 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
10297
10298 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10299
10300 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
10301 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
10302 * grub-core/commands/hashsum.c (aliases): Likewise.
10303 * grub-core/commands/setpci.c (pci_registers): Likewise.
10304 * grub-core/disk/usbms.c (attach_hook): Likewise.
10305 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
10306 (zio_checksum_table): Likewise.
10307 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
10308 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
10309 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
10310 * grub-core/lib/relocator.c (leftovers): Likewise.
10311 (extra_blocks): Likewise.
10312 * grub-core/loader/i386/bsd.c (relocator): Likewise.
10313 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
10314 (modules_last): Likewise.
10315 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
10316 (devices): Likewise.
10317 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
10318 (modules_last): Likewise.
10319 * grub-core/normal/auth.c (users): Likewise.
10320 * grub-core/normal/context.c (initial_menu): Likewise.
10321 (current_menu): Likewise.
10322 * grub-core/normal/crypto.c (crypto_specs): Likewise.
10323 * grub-core/term/serial.c (grub_serial_ports): Likewise.
10324 (grub_serial_terminfo_input_template): Likewise.
10325 (grub_serial_terminfo_output_template): Likewise.
10326 (grub_serial_terminfo_input): Likewise.
10327 (grub_serial_terminfo_output): Likewise.
10328 (registered): Likewise.
10329 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
10330
10331 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10332
10333 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
10334 grub_video_mode_type_t.
10335 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
10336 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
10337 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
10338
10339 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * util/grub-install.in: Correct the x86-64 name as x86_64.
10342
10343 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
10344
10345 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
10346 initial chunk read from the kernel always includes GRUB's multiboot
10347 header, which is now outside the first sector.
10348
10349 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
10350
10351 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
10352 cached mmap_size, so that this works correctly when called multiple
10353 times.
10354 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
10355
10356 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
10357
10358 * docs/grub.texi (Simple configuration): Tidy up formatting.
10359
10360 2011-03-07 Szymon Janc <szymon@janc.net.pl>
10361
10362 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
10363 Set-but-not-used variable removed.
10364
10365 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 Workaround yet another IEEE1275 bug.
10368
10369 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10370 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
10371 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
10372 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
10373 is set.
10374 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10375 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
10376
10377 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
10380 error.
10381
10382 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
10383
10384 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
10385 empty, since in that case we can only generate either nothing or a
10386 syntactically invalid configuration file.
10387 Reported by: Michal Suchanek. Fixes Debian bug #612898.
10388
10389 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
10390
10391 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
10392 (Making a GRUB bootable CD-ROM): Likewise.
10393 (Invoking grub-mkrescue): New section.
10394 Reported by: Yann Dirson. Fixes Debian bug #612585.
10395
10396 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
10397
10398 * util/grub-install.in: Remove unnecessary brackets from tr
10399 arguments.
10400 * util/grub.d/10_hurd.in: Likewise.
10401 * util/grub.d/10_kfreebsd.in: Likewise.
10402 * util/grub.d/10_linux.in: Likewise.
10403 * util/grub.d/20_linux_xen.in: Likewise.
10404 Reported by: Jamie Heilman. Fixes Debian bug #612564.
10405
10406 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
10407
10408 * include/grub/file.h (not_easly_seekable): Rename to ...
10409 (not_easily_seekable): ... this. Update all users.
10410
10411 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
10412
10413 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
10414 grub-mkrescue.
10415
10416 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10417
10418 * util/grub-mkimage.c (generate_image): Refuse to create the images
10419 bigger than the actual flash (512K) in Loongson machines. 512K is also
10420 the biggest chip supported by them.
10421
10422 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
10425
10426 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
10427
10428 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
10429 super_offset field.
10430
10431 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 * util/grub-install.in: Ignore install device on platforms
10434 where it doesn't make sense. Always use UUIDs except on pc, efi and
10435 sparc64.
10436 Reported by: Daniel Kahn Gillmor.
10437
10438 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
10441
10442 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
10445 (iterate_real): Don't rely on partition being non-NULL.
10446
10447 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
10450 supported platforms. Put a compile time assert for this rather than
10451 generate a warning with 32-bit shift.
10452
10453 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
10456 logical expression more readable.
10457
10458 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
10461 even if some elements have a name.
10462 Reported by: Alexander GQ Gerasiov.
10463
10464 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
10465
10466 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
10467 path unreadable if `grub-probe -t abstraction' fails, for example if
10468 memberlist fails on an LVM volume group.
10469 Reported by: Darius Jahandarie.
10470
10471 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
10472
10473 * docs/grub.texi (Simple configuration): Document
10474 GRUB_PRELOAD_MODULES.
10475
10476 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
10477
10478 * .bzrignore: Remove nonexistent grub-pbkdf2.
10479
10480 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 * configure.ac: Bump version to 1.99~rc1.
10483
10484 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
10487 for safety.
10488
10489 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
10492 module.
10493
10494 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10497
10498 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10501 diskdevid.
10502
10503 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10504
10505 Fix compilation on cygwin.
10506
10507 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10508 -R .drectve on cygwin.
10509 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10510 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10511 (COND_CYGWIN): New condition.
10512 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10513 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10514 not @TARGET_OBJ2ELF@.
10515 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10516 type to determine whether aux is to be used.
10517
10518 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10521 realpath'ed device string.
10522 Handle floppy (somewhat).
10523 Issue error in unknown case rather than garbage.
10524 Reported by: Axel Beckert.
10525
10526 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * util/grub.d/00_header.in (load_video): Handle the case when no video
10529 drivers available.
10530 Thanks to: Axel Beckert.
10531
10532 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10535 variable. Fixes problem on big endian platforms.
10536
10537 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10540 It doesn't work well there.
10541
10542 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10543
10544 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10545 warning.
10546 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10547 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10548 counter.
10549
10550 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 Use alias->path rather than buggy "canon".
10553
10554 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10555 (ofdisk_hash_add): New argument curcan. All users updated.
10556
10557 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
10558
10559 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10560
10561 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10562
10563 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10564 loadmask before doing any calculations. Use correct type for offset.
10565 (grub_linux_load64): Likewise.
10566
10567 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
10568
10569 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10570 with NULL.
10571 (console_grub_equivalences_unshift): Likewise.
10572 Reported by: Daniel Dehennin.
10573
10574 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10575
10576 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10577 (set_env_limn_ro): Likewise.
10578 (GRUB_MOD_INIT): Likewise.
10579 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10580 ARRAY_SIZE while on it.
10581 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10582 * grub-core/normal/context.c (grub_env_export): Move from here ...
10583 * grub-core/kern/env.c (grub_env_export): ... here.
10584 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10585 prefix.
10586 * grub-core/kern/main.c (grub_main): Export root and prefix.
10587 * include/grub/env.h (grub_env_export): Export.
10588 Reported by: Seth Goldberg.
10589
10590 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10593 Take into account space used by ELF sections and multiboot palette.
10594 Reported by: Grégoire Sutre.
10595
10596 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 * BUGS: New file.
10599
10600 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10601
10602 Pass more appropriate video id to Linux.
10603
10604 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10605 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10606 fill have_vga.
10607 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10608 shift params->lfb_size.
10609 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10610
10611 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10614
10615 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10618 separator and pass bootpath/devid even if only one of them is available.
10619 Reported by: Seth Goldberg.
10620
10621 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10624 implementations bug on them.
10625
10626 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10627 memory.
10628 (filter_memory_map): Likewise.
10629
10630 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10633 Reported by: nebuchadnezzar.
10634
10635 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10638 Reported by: nebuchadnezzar.
10639
10640 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 Submenu default support.
10643
10644 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10645 auto_boot. All users updated.
10646 Declared static.
10647 Handle chosen and default with submenus.
10648 (grub_menu_execute_with_fallback): Declared static.
10649 Don't notify failure if autobooted. Upper level does it.
10650 (menuentry_eq): New function.
10651 (get_entry_number): Use menuentry_eq.
10652 (show_menu): New parameter "autobooted". All users updated.
10653 (grub_show_menu): Likewise.
10654 * include/grub/normal.h (grub_show_menu): Likewise.
10655 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10656 (grub_menu_execute_with_fallback): Likewise.
10657
10658 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * util/grub-mklayout.c (usage): Update help text.
10661
10662 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10665
10666 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 * util/grub-menulst2cfg.c (main): Trim the line.
10669
10670 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
10673 (grub_machine_init): Don't check amount of low memory as reportedly
10674 INT 12h can be broken and if low memory is too low we wouldn't have
10675 gotten into grub_machine_init anyway.
10676
10677 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
10680 (grub_machine_mmap_iterate): Take low memory into account
10681
10682 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
10685 badfs.
10686 Reported by: TiCPU.
10687
10688 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10691 members errors.
10692
10693 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10694
10695 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
10696 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
10697
10698 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10699
10700 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
10701 openbsd and netbsd types being in part_bsd module.
10702
10703 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
10706 (_FILE_OFFSET_BITS): Likewise.
10707 Reported by: Seth Goldberg.
10708
10709 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10710
10711 * configure.ac: Check for libdevmapper header.
10712
10713 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
10716 avoid aliasing.
10717 (fzap_lookup): Likewise.
10718 (dnode_get): Likewise.
10719 (make_mdn): Likewise.
10720 (zfs_mount): Likewise.
10721 (fzap_iterate): Use temporary pointer to avoid aliasing.
10722 (grub_zfs_read): Likewise.
10723 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
10724 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
10725 pointers to avoid aliasing.
10726 (grub_cmd_xnu_kernel64): Likewise.
10727 (grub_xnu_load_driver): Likewise.
10728
10729 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10730
10731 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
10732 aliasing warning.
10733 (grub_cmd_terminal_output): Likewise.
10734 Reported and tested by: Grégoire Sutre.
10735
10736 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
10739 warning.
10740 Reported and tested by: Grégoire Sutre.
10741
10742 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 * configure.ac: Do CPU substitution even if it's specified explicitly.
10745 Reported and tested by: Alain Greppin.
10746
10747 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10748
10749 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10750 Reported and tested by: Alain Greppin.
10751
10752 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 Satisfy some bison versions need for inttypes.h.
10755
10756 * grub-core/lib/posix_wrap/inttypes.h: New file.
10757 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10758 (int16_t): Likewise.
10759 (int32_t): Likewise.
10760 (int64_t): Likewise.
10761 Reported and tested by: Alain Greppin.
10762
10763 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10764
10765 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10766 Silence spurious warning.
10767 Reported and tested by: Alain Greppin.
10768
10769 2011-01-07 Szymon Janc <szymon@janc.net.pl>
10770
10771 * docs/grub.texi (Support automatic decompression): Update with xz
10772 decompression support.
10773
10774 2011-01-07 Szymon Janc <szymon@janc.net.pl>
10775
10776 Improve loaders' kernel command line handling.
10777
10778 * grub-core/lib/cmdline.c: New file.
10779 * include/grub/lib/cmdline.h: Likewise.
10780 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
10781 grub_create_loader_cmdline to create kernel command line.
10782 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10783 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
10784 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
10785 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
10786 (linux): Add lib/cmdline.c on common.
10787
10788 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
10791 inopos might be unaligned.
10792
10793 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10796 endian transformations.
10797 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10798 Based on report by: Doug Nazar.
10799
10800 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
10801
10802 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
10803 array->members[i].start_sector.
10804 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
10805
10806 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
10809 Reported and tested by: Grégoire Sutre.
10810
10811 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
10812
10813 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
10814 avoid causing test failures by clearing the screen.
10815
10816 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
10817
10818 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10819 Fix prefix check to handle the case where dir ends with a slash
10820 (most significantly, "/" itself).
10821 Reported by: Michael Vogt.
10822
10823 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 Run terminfo_cls on initing terminfo output to clear the screen and
10826 move the cursor to (0,0).
10827
10828 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
10829 Call grub_terminfo_output_init.
10830 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
10831 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
10832 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
10833
10834 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
10837 only when needed.
10838
10839 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
10842 CTRL.
10843
10844 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10845
10846 The E820 type 5 is BADRAM, not EXEC_CODE.
10847
10848 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10849 (GRUB_E820_BADRAM): New define.
10850 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
10851 into reserved. Propagate BADRAM.
10852 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10853 (GRUB_E820_BADRAM): New define.
10854
10855 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10856
10857 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
10858 Ignore the memory post-4G.
10859 (grub_relocator_firmware_alloc_region): Additional debug statement.
10860
10861 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
10864 names.
10865 Reported by: David Pravec.
10866
10867 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
10870 BIOSes.
10871
10872 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
10875 Prevent overflow.
10876 (grub_reed_solomon_recover): Likewise.
10877
10878 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
10881
10882 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
10885 variable.
10886
10887 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
10888
10889 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
10890 descriptions of extract_legacy_entries_source and
10891 extract_legacy_entries_configfile.
10892 Reported by: Seung Soo, Ha.
10893
10894 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
10895
10896 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
10897 on devices that do not implement function 0.
10898
10899 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
10900
10901 * grub-core/fs/hfsplus.c: Make parent unsigned.
10902 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
10903 overflows.
10904 (grub_hfsplus_cmp_extkey): Likewise
10905
10906 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 * util/grub-install.in: Correctly use bootloader_id and not
10909 GRUB_DISTRIBUTOR on efibootmgr line.
10910
10911 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
10914
10915 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
10916
10917 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
10918 Xen and reorder menu item wording to make it clearer that this entry
10919 will launch Xen. Print separate messages when loading Xen and
10920 Linux.
10921
10922 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
10925 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
10926 loop in case of incorrect amiga partmap.
10927
10928 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10929
10930 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
10931 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
10932 Reported by:EHeM.
10933
10934 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
10937 spurious warning.
10938 Reported by: crocket
10939
10940 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
10943 Preload EFIemu.
10944 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
10945
10946 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
10949 is loaded
10950 (grub_cmd_xnu_kextdir): Likewise.
10951 (grub_cmd_xnu_splash): Likewise.
10952
10953 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 Avoid using Reed-Solomon with 0 redundancy.
10956
10957 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
10958 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
10959 or 0 redundancy.
10960 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
10961 (grub_reed_solomon_recover): Likewise.
10962
10963 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10964
10965 Don't use disk subsystem in freebsd_boot.
10966
10967 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
10968 (freebsd_biosdev): Likewise.
10969 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
10970 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
10971
10972 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10973
10974 Handling of files of unknown size is currently limited. They can't be
10975 used e.g. for initrd or modules. Moreover gzip handling of not
10976 easily seekable files is buggy. Disable unknown file size for now. May
10977 be inefficient but works.
10978
10979 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
10980 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
10981
10982 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
10983
10984 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
10985 floppy probe.
10986
10987 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
10988
10989 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
10990
10991 2010-12-25 Shea Levy <shlevy>
10992
10993 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
10994
10995 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
10998 Windows Server 2008.
10999 Reported by: Devin Giddings.
11000
11001 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
11004 writing an error message because of async power management.
11005 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
11006 (grub_reboot): Likewise.
11007
11008 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
11009
11010 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
11011 keep unit tests from failing when they shouldn't.
11012
11013 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
11014
11015 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
11016 previous patch increased the size of the RS code by 20 bytes (at
11017 least with gcc-4.4), so increase this by 20 bytes to match.
11018 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11019
11020 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
11021
11022 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
11023 scratch area. Make sure to initialise chosen in standalone mode as
11024 well as non-standalone.
11025 Reported by: Robert Hooker and Andy Whitcroft.
11026 Tested by: Andy Whitcroft.
11027
11028 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
11029
11030 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
11031 constructing a new unescaped string and passing it to grub_xputs in
11032 one go, rather than passing characters to grub_printf one at a time.
11033
11034 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
11035
11036 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
11037 initialising utf16.
11038
11039 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
11040
11041 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
11042 comment. Add an extra layer of quotation, requiring the output of
11043 this function to be used in a printf format string.
11044 (gettext_printf): New function.
11045 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
11046 Extract translatable strings from here-documents and use a temporary
11047 variable instead, so that xgettext can find them.
11048 * util/grub.d/10_kfreebsd.in: Likewise.
11049 * util/grub.d/10_linux.in: Likewise.
11050 * util/grub.d/20_linux_xen.in: Likewise.
11051
11052 * po/grub.d.sed: New file.
11053 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
11054 arguments. Set c-format flags on all strings extracted from
11055 util/grub.d/ (xgettext refuses to include these itself for strings
11056 it extracted from a shell file, but these really are c-format).
11057
11058 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
11061 Avoid next pointing to nowhere.
11062
11063 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
11066 rather than assuming than rootblock is exactly in the middle.
11067 (grub_affs_label): Likewise.
11068
11069 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
11072 reserved_first_sector to 0.
11073 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
11074 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
11075 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
11076
11077 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11078
11079 Fix handling of UTF-16 UDF labels.
11080
11081 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
11082 (read_string): .. here.
11083 (grub_udf_label): Use read_string.
11084
11085 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
11086
11087 * grub-core/normal/menu_entry.c (run): Execute commands from menu
11088 editor under argument scope.
11089 Reported by: Jordan Uggla
11090
11091 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11092
11093 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
11094
11095 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
11096
11097 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
11098 line, and other keys scroll an entire page (previous handling was
11099 for \r and \n to scroll a page and other keys to scroll two lines).
11100
11101 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11104 Set ptrdest to correct get_physical_target_address rather than
11105 incorrect get_virtual_current_address.
11106
11107 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
11108
11109 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
11110 correct cat to grub_uint8_t * rather than grub_uint32_t *.
11111
11112 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
11113
11114 * .bzrignore: Ignore grub-core/rs_decoder.S.
11115
11116 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
11117
11118 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
11119 .mo/.mo.gz opening sequence to ...
11120 (grub_mofile_open_lang): ... here.
11121 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
11122 * util/grub.d/00_header.in (grub_lang): Include country part of
11123 locale.
11124 Reported by: Mario Limonciello.
11125
11126 2010-12-09 Robert Millan <rmh@gnu.org>
11127
11128 * NEWS: Document addition of ZFS support.
11129
11130 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
11131
11132 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
11133 rather than `/ 2', as the latter requires -Wa,--divide which would
11134 require bumping our minimum binutils version.
11135
11136 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
11137
11138 * util/grub-script-check.c (main): Print script line number on
11139 error.
11140
11141 2010-12-01 Robert Millan <rmh@gnu.org>
11142
11143 * grub-core/fs/zfs/zfs.c: New file.
11144 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
11145 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
11146 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
11147 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11148
11149 * include/grub/zfs/dmu.h: Likewise.
11150 * include/grub/zfs/dmu_objset.h: Likewise.
11151 * include/grub/zfs/dnode.h: Likewise.
11152 * include/grub/zfs/dsl_dataset.h: Likewise.
11153 * include/grub/zfs/dsl_dir.h: Likewise.
11154 * include/grub/zfs/sa_impl.h: Likewise.
11155 * include/grub/zfs/spa.h: Likewise.
11156 * include/grub/zfs/uberblock_impl.h: Likewise.
11157 * include/grub/zfs/vdev_impl.h: Likewise.
11158 * include/grub/zfs/zap_impl.h: Likewise.
11159 * include/grub/zfs/zap_leaf.h: Likewise.
11160 * include/grub/zfs/zfs.h: Likewise.
11161 * include/grub/zfs/zfs_acl.h: Likewise.
11162 * include/grub/zfs/zfs_znode.h: Likewise.
11163 * include/grub/zfs/zil.h: Likewise.
11164 * include/grub/zfs/zio.h: Likewise.
11165 * include/grub/zfs/zio_checksum.h: Likewise.
11166
11167 * Makefile.util.def: Build ZFS into libgrubmods.
11168 * grub-core/Makefile.core.def: Build zfs.mod.
11169
11170 2010-11-30 Szymon Janc <szymon@janc.net.pl>
11171
11172 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
11173 variable.
11174 * grub-core/commands/wildcard.c (match_files): Likewise.
11175
11176 2010-11-30 Robert Millan <rmh@gnu.org>
11177
11178 * grub-core/loader/i386/bsd.c
11179 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
11180 whether kernel is loaded using grub_loader_is_loaded(), rather
11181 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
11182 certain error conditions.
11183
11184 2010-11-30 Robert Millan <rmh@gnu.org>
11185
11186 * grub-core/commands/echo.c: Include `<grub/term.h>'.
11187 (grub_cmd_echo): Call grub_refresh() after printing a message.
11188
11189 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 Avoid using tricks for initialising endian variables.
11192
11193 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
11194 Make const.
11195 (GRUB_MOD_INIT): Don't byte-swap.
11196 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11197 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
11198 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
11199 (grub_swap_bytes32_compile_time): Likewise.
11200 (grub_cpu_to_le32_compile_time): Likewise.
11201 (grub_cpu_to_le16_compile_time): Likewise.
11202
11203 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * util/grub-setup.c (setup): Stop recommending --force. People who
11206 understand the dangers of blocklists are able to find this option
11207 anyway and the ones who don't shouldn't use it anyway.
11208
11209 2010-11-26 Robert Millan <rmh@gnu.org>
11210
11211 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
11212 Update all users.
11213
11214 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
11215
11216 Fix LVM-on-RAID probing.
11217
11218 * util/grub-probe.c (probe): Remember which disk was detected as
11219 RAID (perhaps an LVM physical volume). Use that disk's raidname
11220 rather than that of the top-level disk.
11221
11222 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
11223
11224 Fix cmdline argument quotes for setparams command of menuentry
11225 definitions.
11226
11227 * grub-core/commands/menuentry.c (setparams_prefix): Use single
11228 quotes for arguments.
11229 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
11230 grub_strchrsub function instead.
11231
11232 * include/grub/misc.h (grub_strchrsub): New function.
11233
11234 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
11235
11236 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
11237 effort by skipping "." and ".." entries up-front.
11238 Suggested by: Michael Lazarev.
11239
11240 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
11241
11242 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
11243 ldflags to ldadd, to fix link line ordering.
11244 (none_decompress): Likewise.
11245
11246 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
11247
11248 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
11249 platforms.
11250 (grub-emu-lite): Remove kern/emu/cache.S.
11251
11252 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
11253
11254 * util/deviceiter.c (compare_devices): If the by-id link for a
11255 device couldn't be resolved, fall back to sorting by the by-id link
11256 rather than segfaulting.
11257 Reported and tested by: Daniel Mierswa.
11258
11259 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
11260
11261 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
11262 ldflags, to fix link line ordering.
11263
11264 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
11265
11266 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
11267 linkers are picky about this.
11268
11269 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
11270
11271 * grub-core/Makefile.am (command.lst): Adjust sed expression
11272 ordering so that extended and priority commands aren't treated as
11273 ordinary commands.
11274
11275 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
11276
11277 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11278 Remove byte-swapping function calls, which are not valid in
11279 structure initialisers.
11280 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
11281 non-const.
11282 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
11283 grub_gpt_partition_type_bios_boot.
11284
11285 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
11286
11287 Fix test program build on GNU/kFreeBSD.
11288
11289 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
11290 $(LIBNVPAIR)' library dependencies.
11291
11292 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
11293
11294 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
11295
11296 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
11297
11298 * util/grub-install.in: Remove excessive quoting that broke
11299 installations to RAID devices.
11300
11301 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
11304 bootloader version instead of 0.
11305
11306 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11307
11308 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
11309 warning.
11310
11311 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
11314 retrieve the metadat sector if size isn't known.
11315 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11316
11317 2010-11-18 Robert Millan <rmh@gnu.org>
11318
11319 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
11320 with grub_memcmp().
11321
11322 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
11325 arrow.
11326 Reported by: Jordan Uggla.
11327
11328 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 Make better UTF compliant.
11331
11332 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
11333 sequences as incorrect.
11334 (grub_is_valid_utf8): Likewise.
11335 (grub_utf8_to_ucs4): Likewise.
11336 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
11337 (grub_ucs4_to_utf8_alloc): Likewise.
11338 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
11339
11340 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11341
11342 Make legacy_source behave like source.
11343
11344 * grub-core/commands/legacycfg.c (legacy_file): Don't call
11345 grub_show_menu.
11346 (grub_cmd_legacy_source): Call grub_show_menu if needed.
11347
11348 2010-11-16 Colin Watson <cjwatson@debian.org>
11349
11350 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
11351 (-Wunused implies -Wunused-parameter, but not vice versa).
11352
11353 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
11354
11355 * configure.ac: Make error messages less confusing by testing for
11356 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
11357 accepted, but produces a diagnostic if something else is wrong).
11358
11359 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
11362 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
11363 (now unused).
11364 (grub_keyboard_controller_init)
11365 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
11366 read the initial state since controller isn't inited yet.
11367
11368 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
11371 allocate_regbeg may need to create new chunk header.
11372
11373 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 Fix quoting in legacy parser.
11376
11377 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
11378 single quotes.
11379 (grub_legacy_parse): Likewise.
11380 Reported by: Jordan Uggla.
11381 Tested by: Jordan Uggla.
11382
11383 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11384
11385 Don't add -lgcc on i386 and x86_64.
11386
11387 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
11388 * conf/Makefile.common (LDADD_KERNEL): Likewise.
11389 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
11390
11391 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * configure.ac: Add -Wno-trampolines when supported.
11394
11395 2010-11-14 Modestas Vainius <modax@debian.org>
11396
11397 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
11398 fakeraid.
11399
11400 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11401
11402 Add generic logical block size support for UDF.
11403
11404 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
11405 (GRUB_UDF_BLKSZ): Removed.
11406 (struct grub_udf_data): New field "lbshift" to hold the logical block
11407 size of the file system in log2 format. All users updated.
11408 (sblocklist): Change type to unsigned.
11409 (grub_udf_mount): Change type of "sblklist" to unsigned.
11410 Move AVDP search before VRS recognition, because the latter requires
11411 knowledge of the logical block size, which is detected during the
11412 former.
11413 Detect and validate logical block size during AVDP search, adding
11414 support for block sizes 512, 1024 and 4096.
11415 Make VRS recognition independent of block size.
11416
11417 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11418
11419 Properly handle deleted files on UDF.
11420
11421 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
11422 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
11423 set.
11424
11425 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11426
11427 Support reading files larger than 2 GiB.
11428
11429 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
11430 "offset" to grub_off_t.
11431 (grub_udf_read_file): Likewise for parameter "pos".
11432
11433 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
11436 unavailable.
11437 (Simple configuration): Refer to Changes from GRUB Legacy about
11438 save_env availability.
11439
11440 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 * util/grub-install.in: Ignore empty partition table detection
11443 instead of trying to include part_ module.
11444
11445 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
11448 LVM on RAID support.
11449
11450 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11451
11452 Properly define WORDS_BIGENDIAN in wrapped environments.
11453
11454 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
11455 definition.
11456 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
11457
11458 Reported by: Manoel Rebelo Abranches.
11459 Tested by: Manoel Rebelo Abranches.
11460
11461 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 * util/grub-mkconfig.in: Fix quoting.
11464
11465 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 Support big ext2 files.
11468
11469 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
11470 (grub_ext2_read_block): Support triple indirect blocks.
11471 (grub_ext2_read_file): Use 64-bit types and read size_high.
11472 (grub_ext2_open): Read size_high.
11473 Reported by: Ximin Luo.
11474 Tested by: Manoel Rebelo Abranches.
11475
11476 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 * util/grub-install.in: Handle filenames containing spaces.
11479 Reported by: Jordan Uggla.
11480 Tested by: Jordan Uggla.
11481
11482 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 * util/grub-mkconfig.in (grub_script_check): New variable.
11485 Use grub_script_check instead of grub-script-check.
11486 Reported by: Barry Jackson.
11487
11488 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 * docs/grub.texi (menu): Correct the order.
11491 Reported by: D. Hugh Redelmeier.
11492
11493 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11496 jump.
11497
11498 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11499
11500 * include/grub/elfload.h (grub_elf32_size): New parameter.
11501 All users updated.
11502 Return maximum segments alignment.
11503 (grub_elf64_size): Likewise.
11504 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11505 Return maximum segments alignment.
11506 (grub_elf64_size): Likewise.
11507 * grub-core/loader/powerpc/ieee1275/linux.c:
11508 (grub_linux_claimmap_iterate): New function. Uses the
11509 "available" property in the "memory" node for memory allocation
11510 for kernel in the PowerPC loader.
11511 (grub_linux_load32): Correctly find linux entry point offset.
11512 (grub_linux_load64): Likewise.
11513
11514 2010-11-07 Robert Millan <rmh@gnu.org>
11515
11516 On mips-yeeloong, build with -march=loongson2f when this flag is
11517 available (GCC >= 4.4).
11518 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11519 `-march=mips3'.
11520 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11521 or otherwise add -march=mips3.
11522
11523 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11524
11525 Suppress shell expansion on echo '*' and echo "*" like cases.
11526 Reported by: Jordan Uggla.
11527
11528 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11529 string arguments before shell expansion.
11530 * tests/grub_cmd_echo.in: New testcases.
11531
11532 2010-11-07 Robert Millan <rmh@gnu.org>
11533
11534 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11535 transition.
11536
11537 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 * grub-core/kern/emu/hostdisk.c
11540 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11541
11542 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11545 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11546 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11547
11548 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11549
11550 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11551
11552 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11553
11554 * util/grub-install.in: Replace useless recomendation to pass
11555 --modules with a recomendation to report a bug.
11556
11557 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11558
11559 Properly register serial terminfo.
11560 Reported by: Jordan Uggla
11561
11562 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11563 const.
11564 (grub_serial_terminfo_output_template): Likewise.
11565 (grub_cmd_serial): Register "serial" with terminfo.
11566 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11567 grub_serial_terminfo_output.
11568
11569 2010-11-05 Robert Millan <rmh@gnu.org>
11570
11571 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11572 needed).
11573
11574 2010-11-05 Robert Millan <rmh@gnu.org>
11575
11576 On Yeeloong, pass machine type information to Linux.
11577
11578 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11579 (LOONGSON_MACHTYPE): New macro, set to
11580 "machtype=lemote-yeeloong-2f-8.9inches".
11581 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11582 additional argument to Linux.
11583
11584 2010-11-04 Robert Millan <rmh@gnu.org>
11585
11586 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11587 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11588 (its SATA disks are detected as slaveless IDE master drives on
11589 kFreeBSD).
11590 Reported by Carsten Aulbert.
11591
11592 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
11593
11594 * util/bin2h.c (main): Fix spelling error in generated output.
11595
11596 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11597
11598 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11599
11600 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11601
11602 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11603 vga= option is supplied.
11604
11605 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11606
11607 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11608 * util/grub.d/10_kfreebsd.in: Likewise.
11609 * util/grub.d/10_linux.in: Likewise.
11610 * util/grub.d/20_linux_xen.in: Likewise.
11611
11612 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11615 argument as an argument to no-argument option.
11616
11617 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 * util/grub.d/10_linux.in: Add missing load_video with explicit
11620 GRUB_GFXPAYLOAD_LINUX.
11621
11622 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11623
11624 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11625
11626 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11629 elements with invlid index.
11630 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11631 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11632 members.
11633 * include/grub/raid.h (grub_raid_member): New struct.
11634 (grub_raid_array): Transform devices and start_sector into usage of
11635 grub_raid_member. All users updated
11636 (allocated_devs): New member.
11637
11638 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11639
11640 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11641 is modified
11642
11643 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11644
11645 NetBSD build fix for getline function conflict from gnulib.
11646
11647 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11648 components that depend on gnulib headers.
11649 (libgrubmods.a): Renamed from earlier libgrub.a.
11650 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11651
11652 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11655 install rather than creating a broken install.
11656
11657 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 * util/grub-setup.c (argp): Remove misleading example of installing to
11660 a partition.
11661
11662 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11663
11664 * util/grub-setup.c (setup): Clarify the error message.
11665
11666 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
11669
11670 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 * grub-core/kern/emu/misc.c
11673 (grub_make_system_path_relative_to_its_root)
11674 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
11675
11676 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 * grub-core/kern/emu/misc.c
11679 (grub_make_system_path_relative_to_its_root): Revert r2882.
11680
11681 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
11682
11683 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
11684 useless field head. All users updated.
11685 (free_subchunk): Correct handling of IN_REGION subchunk.
11686
11687 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
11688
11689 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
11690 (Supported kernels): Likewise.
11691
11692 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11693
11694 Make mktemp invocations portable.
11695
11696 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
11697 exit if mktemp fails.
11698 * tests/grub_script_blockarg.in: Likewise.
11699 * tests/partmap_test.in: Likewise.
11700 * tests/util/grub-shell-tester.in: Likewise.
11701 * tests/util/grub-shell.in: Likewise.
11702 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11703 * Makefile.am: Likewise, and chain shell commands with `&&'
11704 instead of ';'.
11705 * util/grub-mkrescue.in: Use the same explicit template as above, and
11706 exit if mktemp fails.
11707
11708 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
11709
11710 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
11711 Linux kernel, reported by Dennis Schridde.
11712
11713 2010-10-17 Szymon Janc <szymon@janc.net.pl>
11714
11715 * grub-core/normal/auth.c (grub_auth_check_authentication):
11716 Set-but-not-used variable removed.
11717
11718 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11719
11720 * docs/grub.texi (GNU/Linux): Document APM unavailability with
11721 32-bit linux protocol.
11722
11723 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
11726 cursor shape for sanity.
11727
11728 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 * docs/grub.texi (Installation): Document buggy BIOS install.
11731
11732 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 * docs/grub.texi (Installation): Indent.
11735
11736 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 * util/grub-setup.c (setup): New parameter allow_floppy.
11739 (arguments): New member allow_floppy.
11740 (argp_parser): Handle --allow-floppy.
11741 (main): Pass allow_floppy.
11742 * util/grub-install.in: New option --allow-floppy passed though to
11743 grub-setup.
11744
11745 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 * util/grub-install.in: Handle partitionless disks.
11748
11749 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 * util/grub-setup.c (setup): Don't clean blocklists before readability
11752 verfification.
11753
11754 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 * docs/grub.texi (Installation): Document embedding zone. Remove
11757 obsolete grub-install example.
11758
11759 2010-10-16 Szymon Janc <szymon@janc.net.pl>
11760
11761 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11762 Set-but-not-used variable ifdef'ed.
11763 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11764 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11765 variable removed.
11766 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11767 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11768 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11769 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11770 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11771 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11772 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11773 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11774 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11775 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
11776 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
11777 Likewise.
11778
11779 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
11782 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
11783 enum value.
11784
11785 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
11788 synonym to _S5_. Needed for some DSDTs.
11789
11790 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 Userspace ACPI parser debugging.
11793
11794 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11795 headers and add relevant defines. Don't include standard headers.
11796 (main) [GRUB_DSDT_TEST]: New function.
11797 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
11798 Don't declare functions.
11799
11800 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 Remove dead grub_efi_mm_fini.
11803
11804 * grub-core/kern/efi/mm.c (allocated_page): Removed.
11805 (ALLOCATED_PAGES_SIZE): Likewise.
11806 (MAX_ALLOCATED_PAGES): Likewise.
11807 (allocated_pages): Likewise.
11808 (grub_efi_allocate_pages): Don't record allocated pages.
11809 (grub_efi_free_pages): Likewise.
11810 (grub_efi_mm_init): Likewise.
11811 (grub_efi_mm_fini): Removed.
11812
11813 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
11816 (grub_efi_mm_init): Take into account the memory map size increase.
11817
11818 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
11821 (serial_hw_put): Wait based on real time rather than port reads. Don't
11822 roken ports.
11823 * include/grub/serial.h (grub_serial_port): New field broken.
11824
11825 2010-10-16 Robert Millan <rmh@gnu.org>
11826
11827 * grub-core/kern/emu/misc.c
11828 (grub_make_system_path_relative_to_its_root): Fix premature return
11829 when processing non-root ZFS filesystems.
11830 Reported by Sergio Talens-Oliag.
11831
11832 2010-10-15 Robert Millan <rmh@gnu.org>
11833
11834 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
11835 guarantee compressed ones are processed first.
11836
11837 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11838
11839 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
11840 grub_efiemu_autocore.
11841
11842 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11843
11844 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
11845 rather than 0x1b.
11846 (grub_console_getkey): Use correct jae opcode rather than ja.
11847
11848 2010-10-12 Robert Millan <rmh@gnu.org>
11849
11850 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
11851 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
11852 variable. All references updated.
11853
11854 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
11855
11856 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11857
11858 Correctly distinguish mdraid flavours.
11859
11860 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
11861 (insert_array): New argument raid.
11862 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
11863 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
11864 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
11865
11866 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
11867
11868 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
11869 handling of special keys.
11870
11871 2010-10-02 Aleš Nesrsta <starous@volny.cz>
11872
11873 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
11874 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
11875
11876 2010-10-02 Aleš Nesrsta <starous@volny.cz>
11877
11878 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
11879 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
11880 users updated.
11881 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
11882 Use right endpoint when querying descriptor.
11883
11884 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 Clear out 0x80 color bit on EFI.
11887 Tested by: decoder
11888 Reported by: decoder and meta tech.
11889
11890 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
11891 (grub_console_setcolorstate): Clear out 0x80 bit.
11892 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
11893 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
11894 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
11895
11896 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
11899 Set to "auto".
11900
11901 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
11904 mo_file after freeing.
11905
11906 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11907
11908 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
11909
11910 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
11913 flags.
11914
11915 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
11918 usage.
11919
11920 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 Put terminfo into core on ieee1275 and yeeloong (needed for console).
11923
11924 * gentpl.py: New groups terminfoinkernel and terminfomodule.
11925 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
11926 and terminfo.h when needed.
11927 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
11928 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
11929 (terminfo): Enable only on terminfokernel.
11930 (extcmd): Likewise.
11931 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
11932 * include/grub/lib/arg.h: Likewise.
11933 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
11934 incorrect usage of ->.
11935
11936 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
11939 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
11940
11941 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 Fix coreboot compilation.
11944
11945 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11946 Take VBE info into account even if only text is supported.
11947 (fill_vbe_info): Take into account the case when only VGA text
11948 is supported.
11949 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
11950 on coreboot, multiboot and qemu.
11951
11952 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
11955 debug messages.
11956 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
11957
11958 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
11961 parameters.
11962
11963 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11964
11965 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
11966 if they were BSD-style.
11967
11968 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11969
11970 * grub-core/boot/i386/pc/lnxboot.S: Replace
11971 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
11972 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
11973
11974 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11975
11976 Write embedding zone using Reed-Solomon.
11977
11978 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
11979 * grub-core/Makefile.am (rs_decoder.S): New target.
11980 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
11981 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
11982 (multiboot): Move to RS part.
11983 (post_reed_solomon): New label.
11984 (grub_boot_drive): Move to non-RS part since it's modified in memory
11985 on boot.
11986 Include rs_decoder.S.
11987 * grub-core/lib/reed_solomon.c: New file.
11988 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
11989 New definition.
11990 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
11991 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
11992 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
11993 * include/grub/partition.h (grub_partition_map): Change prototype of
11994 embed to allow returning additional sectors.
11995 * include/grub/reed_solomon.h: New file.
11996 * util/grub-setup.c (setup): Handle Reed-Solomon.
11997
11998 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
11999
12000 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12001 i386 and x86-64 definedness tests.
12002
12003 2010-09-27 Yves Blusseau <blusseau@zetam.org>
12004
12005 Fix generation of kernel_syms.lst
12006
12007 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
12008 ASM_PREFIX
12009
12010 2010-09-26 Robert Millan <rmh@gnu.org>
12011
12012 Support degraded ZFS arrays in "grub-probe -t device" resolution.
12013
12014 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
12015 the pool is an array of devices, iterate through it and return the
12016 first device that passes a stat() test (instead of blindly returning
12017 the first one).
12018
12019 2010-09-26 Robert Millan <rmh@gnu.org>
12020
12021 Build fixes for GNU/kFreeBSD.
12022
12023 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
12024 to programs that require ZFS conversion.
12025 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
12026 kernels that don't have FLOPPY_MAJOR.
12027
12028 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12029
12030 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
12031
12032 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12033
12034 Fix grub-emu build.
12035
12036 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
12037 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
12038 mdraid09 and mdraid1x.
12039
12040 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
12041
12042 Re-enable grub-extras.
12043
12044 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
12045 avoid confusing Automake. Run autogen only twice, once for the top
12046 level and once for grub-core. Add Makefile.util.def and
12047 Makefile.core.def from extra modules to the appropriate autogen
12048 invocations. If Makefile.common exists in an extra module, include
12049 it in both Makefile.util.am and grub-core/Makefile.core.am;
12050 similarly, include any Makefile.util.common file in Makefile.util.am
12051 and any Makefile.core.common file in grub-core/Makefile.core.am.
12052 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
12053 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
12054 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
12055 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
12056
12057 * gentpl.py (gvar_add): Turn GVARS into a set.
12058 (global_variable_initializers): Sort global variables on output.
12059 (vars_init): New function.
12060 (first_time): Likewise.
12061 (library): Ensure that non-global variable initialisations are
12062 emitted before the first time we emit code for a library block.
12063 Append to variables rather than setting them. Only emit
12064 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
12065 each conditional path.
12066 (program): installdir() emits an Autogen macro, so must be passed to
12067 var_add rather than gvar_add.
12068 (data): Likewise.
12069 (script): Likewise.
12070 (rules): New function, centralising handling for different target
12071 types. Set up Guile association lists for first_time and vars_init,
12072 and send most output to a diversion so that variable initialisations
12073 can be emitted first.
12074 (module_rules): Use new rules function.
12075 (kernel_rules): Likewise.
12076 (image_rules): Likewise.
12077 (library_rules): Likewise.
12078 (program_rules): Likewise.
12079 (script_rules): Likewise.
12080 (data_rules): Likewise.
12081
12082 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
12083
12084 * .bzrignore: Add contrib and grub-core/contrib. Remove
12085 grub-core/Makefile.gcry.am.
12086
12087 2010-09-24 Yves Blusseau <blusseau@zetam.org>
12088
12089 * grub-core/lib/LzFind.c: Add missing include.
12090 * grub-core/lib/LzmaEnc.c: Likewise.
12091 * grub-core/script/lexer.c: Likewise.
12092 * grub-core/script/yylex.l: Likewise.
12093 * util/grub-macho2img.c: Likewise.
12094 * util/grub-menulst2cfg.c: Likewise.
12095 * util/grub-mklayout.c: Likewise.
12096 * util/grub-mkpasswd-pbkdf2.c
12097 * util/grub-mkrelpath.c: Likewise.
12098 * util/resolve.c: Likewise.
12099
12100 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
12101
12102 * Makefile.util.def (example_unit_test): Add
12103 grub-core/gnulib/libgnu.a.
12104
12105 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
12106
12107 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
12108
12109 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
12110
12111 Support xz compression on yeeloong.
12112
12113 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
12114 * configure.ac: Check for LZMA.
12115 * grub-core/Makefile.core.def (xz_decompress): New target.
12116 (none_decompress): Likewise.
12117 * grub-core/boot/decompressor/minilib.c: New file.
12118 * grub-core/boot/decompressor/none.c: Likewise.
12119 * grub-core/boot/decompressor/xz.c: Likewise.
12120 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
12121 * grub-core/kern/mips/cache_flush.S: Likewise.
12122 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
12123 * grub-core/kern/mips/startup.S: Move first stage to ...
12124 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
12125 nomacro.
12126 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
12127 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
12128 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
12129 Allocate statically.
12130 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
12131 Allocate statically or use scratch. Don't check CRC32.
12132 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
12133 Allocate statically. Don't check CRC32.
12134 * include/grub/decompressor.h: New file.
12135 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
12136 Removed.
12137 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
12138 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
12139 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
12140 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
12141 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
12142 * util/grub-mkimage.c (grub_compression_t): New type.
12143 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
12144 (image_target_desc): New field default_compression.
12145 (image_targets): Adjust yeeloong targets.
12146 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
12147 (compress_kernel): New parameter comp.
12148 (generate_image): Likewise. Handle new compression case.
12149 (options): New option --compression
12150 (help): Likewise.
12151 (main): Handle new option.
12152
12153 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
12154
12155 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
12156
12157 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
12158
12159 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12160 typo in __i386__ conditional.
12161
12162 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
12165 include.
12166
12167 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 Implement EFI and ACPI multiboot2 extensions.
12170
12171 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
12172 new tags as supported.
12173 (acpiv2_size): New function.
12174 (grub_multiboot_get_mbi_size): Take new tags into account.
12175 (grub_multiboot_make_mbi): Add new tags.
12176 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
12177
12178 2010-09-21 Aleš Nesrsta <starous@volny.cz>
12179
12180 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
12181 Added missing configuration of USB device.
12182
12183 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
12184
12185 * grub-core/normal/menu_entry.c (run): Make sure we always return
12186 a value.
12187
12188 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
12189
12190 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
12191 NumberOfPages is UINT64 according to the UEFI specification, not
12192 UINTN. Fix printf format.
12193
12194 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
12195
12196 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
12197 `err' to grub_usb_err_t.
12198 Reported and tested by: KESHAV P.R.
12199
12200 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
12201
12202 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
12203 tpart non-const, so that we can assign to it. (Since this is a
12204 typedef, the constness refers to the pointer rather than what it
12205 points to.)
12206
12207 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
12208
12209 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
12210 $(top_srcdir)/grub-core/gnulib as well as
12211 $(top_builddir)/grub-core/gnulib.
12212 Reported by: KESHAV P.R.
12213
12214 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
12215
12216 * util/grub-install.in: Fix the bootloader ID option to be
12217 consistently --bootloader-id, not --bootloader_id.
12218 Reported by: KESHAV P.R.
12219
12220 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
12221
12222 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
12223 check hash checksum." consistently translatable.
12224
12225 2010-09-21 Yves Blusseau <blusseau@zetam.org>
12226
12227 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
12228 $(top_builddir).
12229
12230 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
12231
12232 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
12233 (GRUB_MOD_INIT): Register sha1sum command.
12234 (GRUB_MOD_FINI): Unregister sha1sum command.
12235
12236 2010-09-21 Yves Blusseau <blusseau@zetam.org>
12237
12238 Keep boot and grub directory names in sync with utils scripts
12239
12240 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
12241 * config.h.in: Add previous macros.
12242 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
12243 * util/grub-install.in: Use $bootdir and $grubdir variables.
12244
12245 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
12246
12247 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
12248 convert partition names to disk names if the new `convert' parameter
12249 is set.
12250 (grub_util_biosdisk_get_grub_dev): If opening the disk device
12251 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
12252 disk in its own right. This can happen with Xen disk images.
12253
12254 2010-09-21 Yves Blusseau <blusseau@zetam.org>
12255
12256 * util/grub-editenv.c: Update strings to avoid warnings when generating
12257 grub.pot file.
12258 * util/grub-setup.c: Likewise.
12259
12260 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12261
12262 * configure.ac: Change version to 1.99~beta0.
12263
12264 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12267 Add BADRAM.
12268 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
12269 Likewise.
12270 * include/multiboot.h: Resynced with specification.
12271 * include/multiboot2.h: Likewise.
12272
12273 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
12274
12275 Fix po directory handling.
12276
12277 * configure.ac: Create po/Makefile.in rather than po/Makefile.
12278 * grub-core/gnulib/Makefile.am: Import gettext module.
12279 * m4/gnulib-cache.m4: Likewise.
12280 * m4/gnulib-comp.m4: Likewise.
12281 * m4/gettext.m4: New file, from gnulib.
12282 * m4/glibc2.m4: Likewise.
12283 * m4/iconv.m4: Likewise.
12284 * m4/intdiv0.m4: Likewise.
12285 * m4/intl.m4: Likewise.
12286 * m4/intldir.m4: Likewise.
12287 * m4/intlmacosx.m4: Likewise.
12288 * m4/intmax.m4: Likewise.
12289 * m4/inttypes-pri.m4: Likewise.
12290 * m4/lcmessage.m4: Likewise.
12291 * m4/lib-ld.m4: Likewise.
12292 * m4/lib-link.m4: Likewise.
12293 * m4/lib-prefix.m4: Likewise.
12294 * m4/lock.m4: Likewise.
12295 * m4/nls.m4: Likewise.
12296 * m4/po.m4: Likewise.
12297 * m4/printf-posix.m4: Likewise.
12298 * m4/progtest.m4: Likewise.
12299 * m4/threadlib.m4: Likewise.
12300 * m4/uintmax_t.m4: Likewise.
12301 * m4/visibility.m4: Likewise.
12302 * po/Makefile.am: Remove.
12303 * po/Makefile.in.in: New file, from gettext.
12304 ($(DOMAIN).pot-update): Support POTFILES-shell.
12305 * po/Makevars: New file.
12306 * po/POTFILES-shell: Rename to ...
12307 * po/POTFILES-shell.in: ... this. Update.
12308 * po/POTFILES: Rename to ...
12309 * po/POTFILES.in: ... this. Update.
12310 * po/Rules-quot: New file, from gettext.
12311 * po/boldquot.sed: Likewise.
12312 * po/en@boldquot.header: Likewise.
12313 * po/en@quot.header: Likewise.
12314 * po/insert-header.sin: Likewise.
12315 * po/quot.sed: Likewise.
12316 * po/remove-potcdate.sin: Likewise.
12317
12318 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
12321
12322 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12323
12324 * util/grub.d/20_linux_xen.in: Use submenus.
12325
12326 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 Support submenus.
12329
12330 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
12331 parameter submenu. All users updated.
12332 * grub-core/normal/main.c (free_menu): Rename to ...
12333 (grub_normal_free_menu): ... this. Made global.
12334 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
12335 if requested.
12336 * grub-core/normal/menu_entry.c (screen): New field submenu.
12337 (make_screen): Set submenu.
12338 (run): Open new context if requested.
12339 * include/grub/menu.h (grub_menu_entry): New field submenu.
12340 * include/grub/normal.h (grub_normal_free_menu): New proto.
12341
12342 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 Menu entries extractor.
12345
12346 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
12347 variants.
12348 (GRUB_MOD_INIT): Register new variants.
12349 (GRUB_MOD_FINI): Unregister new variants.
12350 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
12351 into grub_cmd_legacy_source.
12352 (grub_cmd_legacy_source): Implement extractor variants.
12353 (GRUB_MOD_INIT): Register new variants.
12354 (GRUB_MOD_FINI): Unregister new variants.
12355 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
12356 as an extractor.
12357 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
12358 search as an extractor.
12359 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
12360 test as an extractor.
12361 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
12362 as an extractor.
12363 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
12364 (grub_env_new_context): New function.
12365 (grub_env_context_open): Likewise.
12366 (grub_env_extractor_open): Likewise.
12367 (grub_env_extractor_close): Likewise.
12368 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12369 grub_extractor_level.
12370 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
12371 * include/grub/env.h (grub_env_extractor_open): New proto.
12372 (grub_env_extractor_close): Likewise.
12373 * include/grub/normal.h (grub_extractor_level): New external variable.
12374
12375 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12376
12377 Make cutmem accept a region specification.
12378 Suggested by: Samuel Thibault
12379
12380 * grub-core/mmap/mmap.c (parsemem): New function.
12381 (grub_cmd_cutmem): Handle new arguments.
12382
12383 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12384
12385 New command cutmem.
12386
12387 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
12388 (GRUB_MOD_INIT): Register new command.
12389 (GRUB_MOD_FINI): Unregister new command.
12390
12391 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 Support some annoying BSD and Minix subpartitions.
12394
12395 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
12396 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
12397 Properly handle concatenation.
12398 * grub-core/kern/device.c (grub_device_iterate): Likewise.
12399 * grub-core/normal/completion.c (iterate_partition): Likewise.
12400 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
12401 contain partition. All users updated.
12402 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
12403 struct.
12404 (grub_openbsdlabel_partition_map): Likewise.
12405 (bsdlabel_partition_map_iterate): Rename to ..
12406 (iterate_real): ... this. New arguments sector, freebsd and pmap.
12407 (bsdlabel_partition_map_iterate): New function.
12408 (netopenbsdlabel_partition_map_iterate): Likewise.
12409 (netbsdlabel_partition_map_iterate): Likewise.
12410 (openbsdlabel_partition_map_iterate): Likewise.
12411 (GRUB_MOD_INIT): Register new partmaps.
12412 (GRUB_MOD_FINI): Unregister new partmaps.
12413 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
12414 (grub_partition_msdos_iterate): ... this. All users updated.
12415 Don't support embedding other than in a minix partition.
12416 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
12417 proto.
12418 * include/grub/partition.h (grub_partition): New field msdostype.
12419 * util/grub-install.in: Handle openbsd and netbsd types being in
12420 part_bsd module.
12421
12422 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12423
12424 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
12425
12426 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
12427 * grub-core/Makefile.core.def (mdraid): Renamed to ...
12428 (mdraid09): ... this.
12429 (mdraid1x): New module.
12430 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
12431 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
12432
12433 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12434
12435 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
12436 vsprintf.
12437
12438 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
12439
12440 * grub-core/commands/efi/lsefimmap.c: Correct header.
12441 * NEWS: Update.
12442
12443 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
12444
12445 * util/grub-editenv.c (argp_parser): Don't pass translated strings
12446 as printf format strings; the translations might contain '%' which
12447 could cause a crash.
12448 (main): Likewise.
12449 * util/grub-fstest.c (argp_parser): Likewise.
12450 * util/grub-setup.c (argp_parser): Likewise.
12451 (main): Likewise.
12452
12453 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12454
12455 Use argp in grub-fstest.
12456
12457 * util/grub-fstest.c: Don't include getopt.h.
12458 Include argp.h.
12459 (root): New variable.
12460 (args_count): Likewise.
12461 (nparm): Likewise.
12462 (num_disks): Likewise.
12463 (images): Likewise.
12464 (cmd): Likewise.
12465 (debug_str): Likewise.
12466 (args): Likewise.
12467 (options): Transformed to argp.
12468 (usage): Removed.
12469 (main): Split argument parsing into ...
12470 (argp_parser): ... this. Changed to argp format.
12471 (argp): New variable.
12472 (main): Use argp_parse.
12473
12474 2010-09-20 Tristan Gingold <gingold@free.fr>
12475 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
12476 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12477
12478 * grub-core/commands/efi/lsefimmap.c: New file.
12479 * grub-core/Makefile.core.def (lsefimmap): New module.
12480 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
12481
12482 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 Pause the execution (10s max) if any errors are displayed so the user
12485 has a chance to see them.
12486
12487 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
12488 (grub_print_error): Increment grub_err_printed_errors.
12489 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
12490 execution if any errors were displayed.
12491 (show_menu): Remove old code for pause.
12492 * grub-core/normal/menu_entry.c (run): Likewise.
12493 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
12494 users updated.
12495 (grub_normal_get_char_counter): Likewise.
12496 * include/grub/err.h (grub_err_printed_errors): New external variable.
12497 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12498
12499 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12500
12501 Support multiboot VBE info.
12502
12503 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12504 Take VBE info into account.
12505 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12506 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12507 Call fill_vbe_info when appropriate.
12508 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12509 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12510 as supported.
12511 (grub_multiboot_get_mbi_size): Take new tags into account.
12512 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12513 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12514 Call fill_vbe_tag when appropriate.
12515 (grub_multiboot_make_mbi): Properly align tags.
12516 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12517 function.
12518 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12519 proto.
12520 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12521
12522 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 Suport manual terminal geometry specification.
12525
12526 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12527 Save state in grub_ofconsole_terminfo_output.
12528 (grub_ofconsole_term): Use grub_terminfo_getwh.
12529 (grub_ofconsole_getwh): Removed.
12530 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12531 (grub_serial_term): Use grub_terminfo_getwh.
12532 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12533 (options): New struct.
12534 (OPTION_*): New enum.
12535 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12536 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12537 width and height.
12538 (grub_terminfo_getwh): New proto.
12539 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12540
12541 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 Handle legacy "terminal" command.
12544
12545 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12546 and FLAG_TERMINAL.
12547 (legacy_commands): Add terminal and title.
12548 (grub_legacy_parse): Handle terminal. Simplify title handling.
12549
12550 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12551
12552 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12553 parameters overflow.
12554
12555 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
12556
12557 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12558 widthspec.h.
12559
12560 * docs/grub.texi (Shell-like scripting): Document `!'.
12561 (Network): Simplify using new i386-pc-pxe format. Mention
12562 grub-mknetdir.
12563
12564 * NEWS: Update.
12565
12566 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
12567
12568 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12569 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12570 when needed.
12571
12572 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
12573
12574 * grub-core/commands/efi/lsefisystab.c: Correct header.
12575 * grub-core/commands/efi/lssal.c: Likewise.
12576 * grub-core/commands/testload.c: Likewise.
12577
12578 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
12579
12580 * util/grub-mkrescue.in: Add explicit root argument to --set to
12581 prevent the UUID being interpreted as an argument to --set (matches
12582 previous change to prepare_grub_to_access_device).
12583
12584 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
12585
12586 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12587 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12588 the verbosity of later #ifs.
12589 (find_partition_start): Define this function on FreeBSD too.
12590 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12591 function.
12592 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12593 on FreeBSD.
12594
12595 2010-09-20 Yves Blusseau <blusseau@zetam.org>
12596
12597 * util/grub-editenv.c: Use argp instead of getopt.
12598
12599 2010-09-20 Yves Blusseau <blusseau@zetam.org>
12600
12601 * util/grub-setup.c: Use argp instead of getopt.
12602
12603 2010-09-20 Yves Blusseau <blusseau@zetam.org>
12604
12605 Use gnulib-tool to create gnulib source files.
12606
12607 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12608 grub-core/gnulib directories
12609 * .bzignore: Add **/.deps and autogenerated gnulib files
12610 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12611 of gnulib macros, add grub-core/gnulib/Makefile
12612 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12613 include m4 directory to aclocal.
12614 * Makefile.util.def: Remove direct compilation of gnulib source files
12615 and use the new grub-core/gnulib/libgnu.a.
12616 * build-aux/config.rpath: move config.rpath from top directory to
12617 build-aux
12618 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12619 in gnulib headers
12620 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12621 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12622 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12623 header.
12624 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12625 string.
12626
12627 2010-09-20 Yves Blusseau <blusseau@zetam.org>
12628
12629 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12630 grub-core/genmod.sh and grub-core/gensyminfo.sh
12631
12632 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12633
12634 Add a test for echo command options.
12635
12636 * tests/grub_cmd_echo.in: New test.
12637 * Makefile.util.def: Rules for new test.
12638
12639 2010-09-20 Szymon Janc <szymon@janc.net.pl>
12640
12641 Remove crc.mod and move crc command to hashsum.mod.
12642 Remove lib/crc.c - users updated to use gcrypt implementation.
12643
12644 * grub-core/commands/crc.c: Removed.
12645 * grub-core/Makefile.core.def (crc): Module removed.
12646 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12647 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12648 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12649 * grub-core/lib/crc.c: Removed.
12650 * include/grub/lib/crc.h: Removed.
12651 * Makefile.util.def (crc): Remove lib/crc.c
12652 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12653 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12654 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12655 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12656 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12657 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12658
12659 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12662
12663 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 Split config.h for util and core.
12666
12667 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
12668 (ADDR32): Likewise.
12669 (DATA32): Likewise.
12670 (BSS_START_SYMBOL): Likewise.
12671 (END_SYMBOL): Likewise.
12672 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
12673 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
12674 * config.h.in: New file.
12675 * configure.ac: Use config-util.h as config define file.
12676 Rename MACHINE into GRUB_MACHINE. All users updated.
12677 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
12678 updated.
12679 (NESTED_FUNC_ATTR): Likewise.
12680 Substitue new variables.
12681 (COND_HAVE_ASM_USCORE): New conditional.
12682 * grub-core/Makefile.am (ASM_PREFIX): New variable.
12683 (kernel_syms.lst): Use ASM_PREFIX.
12684 * grub-core/kern/emu/console.c: Include config-util.h.
12685 * grub-core/kern/emu/misc.c: Likewise.
12686 * grub-core/kern/emu/mm.c: Likewise.
12687 * include/grub/emu/misc.h: Likewise.
12688 * include/grub/libgcc.h: Likewise.
12689
12690 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
12693 constants usage.
12694 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
12695 Fix GRUB_TERM_KEY_* constants usage.
12696 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
12697
12698 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12699
12700 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
12701 print pointer.
12702 * grub-core/bus/usb/uhci.c: Remove empty define.
12703 (grub_uhci_check_transfer): Add missing cast.
12704 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
12705 print pointer.
12706 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
12707 PRIuGRUB_SIZE.
12708 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
12709
12710 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12711
12712 * grub-core/Makefile.core.def (legacycfg): Add
12713 lib/i386/pc/vesa_modes_table.c on emu.
12714
12715 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12716
12717 Reduce number of temporary files generated by build system.
12718
12719 * grub-core/gencmdlist.sh: Removed.
12720 * grub-core/genfslist.sh: Removed.
12721 * grub-core/genhandlerlist.sh: Removed.
12722 * grub-core/genmodsrc.sh: Removed.
12723 * grub-core/genpartmaplist.sh: Removed.
12724 * grub-core/genparttoollist.sh: Removed.
12725 * grub-core/gentermiinallist.sh: Removed.
12726 * grub-core/genvideolist.sh: Removed.
12727
12728 * grub-core/genmod.sh.in: New file.
12729 * grub-core/gensyminfo.sh.in: New file.
12730
12731 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
12732 * conf/Makefile.extra-dist: Update with new files.
12733 * gentpl.py: Remove rules related to unnecessary temporary files.
12734 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
12735 and und-* files.
12736 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
12737 genmod.sh scripts.
12738 * grub-core/bus/usb/uhci.c: Remove empty #define.
12739 * grub-core/genmoddep.awk: Updated with new syminfo format.
12740 * util/bash-completion.d/Makefile.am: Add config.log to
12741 CLEANFILES.
12742
12743 2010-09-19 Yves Blusseau <blusseau@zetam.org>
12744
12745 * Makefile.util.def: Add forgotten $(LIBINTL) library.
12746
12747 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12748
12749 * util/grub-mkconfig.in: Check the config script for syntax errors
12750 before saving.
12751
12752 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
12753 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12754
12755 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12756 platforms.
12757 * util/grub-install.in: Add EFI and IEEE1275 support.
12758 * util/i386/efi/grub-install.in: Removed.
12759 * util/ieee1275/grub-install.in: Likewise.
12760
12761 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12764 (grub_cmd_cmosclean): Likewise.
12765 (GRUB_MOD_INIT): Register command cmosclean.
12766 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12767 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12768
12769 2010-09-18 Carles Pina i Estany <carles@pina.cat>
12770 2010-09-18 Aleš Nesrsta <starous@volny.cz>
12771 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 Add keyboard layouts support.
12774
12775 * Makefile.util.def (grub-mklayout): New file.
12776 (grub-kbdcomp): New script.
12777 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
12778 Add keyboard_layouts.h.
12779 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
12780 commands/boot.c on yeeloong.
12781 (keylayouts): New module.
12782 * grub-core/bus/usb/ohci.c
12783 * grub-core/bus/usb/uhci.c
12784 * grub-core/bus/usb/usbhub.c (rescan): New variable.
12785 (grub_usb_add_hub): Poll interrupt pipe for device handling.
12786 (attach_root_port): Likewise.
12787 (poll_nonroot_hub): Likewise.
12788 (grub_usb_poll_devices): Likewise.
12789 (detach_device): Close transfer.
12790 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
12791 function.
12792 (grub_usb_bulk_setup_readwrite): Likewise.
12793 (grub_usb_bulk_finish_readwrite): Likewise.
12794 * grub-core/commands/keylayouts.c: New file.
12795 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
12796 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
12797 aliases.
12798 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
12799 support scancode 2.
12800 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
12801 * include/grub/keyboard_layouts.h: New file.
12802 * util/grub-mklayout.c: New file.
12803 * util/grub-kbdcomp.in: Likewise.
12804
12805 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 Unify memory types.
12808
12809 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
12810 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
12811 types.
12812 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
12813 (grub_upper_mem): Likewise.
12814 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
12815 * include/grub/memory.h (grub_memory_type_t): New enum.
12816 All users updated.
12817
12818 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12819
12820 * grub-core/Makefile.core.def (lsapm): New module.
12821 * grub-core/commands/i386/pc/lsapm.c: New file.
12822 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
12823 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
12824 Likewise.
12825 * include/grub/i386/pc/apm.h: New file.
12826 * include/multiboot.h (multiboot_apm_info): New struct.
12827
12828 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 GRUB-legacy configuration file support.
12831
12832 * Makefile.util.def (grub-menulst2cfg): New util.
12833 * docs/man/grub-menulst2cfg.h2m: New file.
12834 * grub-core/Makefile.core.def (legacycfg): New module.
12835 * grub-core/commands/legacycfg.c: New file.
12836 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
12837 (grub_normal_add_menu_entry): ... this.
12838 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
12839 (grub_normal_set_password): ...this.
12840 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
12841 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
12842 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
12843 * grub-core/lib/legacy_parse.c: New file.
12844 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
12845 * include/grub/i386/pc/vesa_modes_table.h: New file.
12846 * include/grub/legacy_parse.h: Likewise.
12847 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
12848 * util/grub-menulst2cfg.c: New file.
12849
12850 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
12851
12852 * grub-core/kern/emu/hostdisk.c
12853 (convert_system_partition_to_system_disk): Initialise node.
12854
12855 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
12856
12857 * grub-core/kern/emu/hostdisk.c
12858 (convert_system_partition_to_system_disk): Fix devmapper memory pool
12859 leak.
12860 Reported and based on patch by: Modestas Vainius.
12861
12862 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
12863
12864 Fix DM-RAID probing with recent versions of device-mapper udev
12865 rules.
12866
12867 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
12868 canonicalise device paths under /dev/mapper/.
12869 (convert_system_partition_to_system_disk): Compare the
12870 uncanonicalised path to /dev/mapper/ rather than the canonicalised
12871 path, since device nodes under /dev/mapper/ are often symlinks.
12872
12873 2010-09-17 Yves Blusseau <blusseau@zetam.org>
12874
12875 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
12876
12877 2010-09-16 Yves Blusseau <blusseau@zetam.org>
12878
12879 * configure.ac: Avoid some annoying error messages if freetype-config
12880 program is not found.
12881
12882 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
12883
12884 Support RAID on virtio devices, and others.
12885
12886 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
12887 Rename to ...
12888 [__MINGW32__] (grub_find_device): ... this.
12889 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
12890 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
12891 reasonable default if dir is NULL.
12892 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
12893 ...
12894 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
12895 (grub_guess_root_device): Update callers.
12896 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
12897
12898 * util/raid.c (grub_util_getdiskname): Remove.
12899 (grub_util_raid_getmembers): Use grub_find_device rather than
12900 grub_util_getdiskname.
12901
12902 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
12903
12904 * docs/grub.texi (serial): Remove obsolete comment about GRUB
12905 needing to be compiled with serial support.
12906 (ls): Indicate that multiple files are accepted.
12907 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
12908 indicate that multiple files are accepted.
12909
12910 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
12911
12912 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
12913 libgrub_a_init.c, and util/bash-completion.d/grub.
12914
12915 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 * util/grub-setup.c (setup): Fix incorrect container semantics.
12918
12919 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12920
12921 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
12922 misusage.
12923 Reported by: J. Nick Terry
12924
12925 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12926
12927 Move embedding routines to partmap sources files.
12928
12929 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
12930 [GRUB_UTIL]: New variable.
12931 (gpt_partition_map_iterate): Set part.parent.
12932 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
12933 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
12934 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
12935 New function.
12936 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
12937 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
12938 (grub_partition_map) [GRUB_UTIL]: New field embed.
12939 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
12940 (setup): Use ->embed.
12941
12942 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12943
12944 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
12945 function.
12946 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
12947 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
12948
12949 2010-09-15 Yves Blusseau <blusseau@zetam.org>
12950
12951 Add function to get completions from usage.
12952
12953 * util/bash-completion.d/grub-completion.bash.in: Add function to get
12954 completions from usage. Use LC_ALL=C to get options properly.
12955
12956 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12957
12958 * grub-core/gnulib/basename-lgpl.c: Imported.
12959 * grub-core/gnulib/basename.c: Likewise.
12960 * grub-core/gnulib/dirname-lgpl.c: Likewise.
12961 * grub-core/gnulib/dirname.c: Likewise.
12962 * grub-core/gnulib/dirname.h: Likewise.
12963 * grub-core/gnulib/stripslash.c: Likewise.
12964
12965 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12966
12967 * grub-core/gnulib/error.c: Resynced.
12968 * grub-core/gnulib/getopt.c: Likewise.
12969 * grub-core/gnulib/getopt_int.h: Likewise.
12970 * grub-core/gnulib/regex.h: Likewise.
12971 * grub-core/gnulib/regex_internal.c: Likewise.
12972 * grub-core/gnulib/regex_internal.h: Likewise.
12973
12974 2010-09-15 Szymon Janc <szymon@janc.net.pl>
12975
12976 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
12977 CRC calculations and validity checks.
12978 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
12979 calculations.
12980
12981 2010-09-15 Szymon Janc <szymon@janc.net.pl>
12982
12983 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
12984
12985 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 Fix incorrect echo options handling.
12988 Reported by: Yves Blusseau.
12989
12990 * include/grub/command.h (grub_command_flags_t): New flags
12991 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
12992 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
12993 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
12994
12995 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
12998 users updated.
12999 (GRUB_COMMAND_FLAG_MENU): Likewise.
13000 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13001 (GRUB_COMMAND_FLAG_TITLE): Removed.
13002 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13003 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
13004 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
13005 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
13006 (grub_command_flags_t): New enum. All users updated.
13007
13008 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
13009
13010 Fix solaris compilation.
13011
13012 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
13013 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
13014 (grub-emu-list): Likewise.
13015
13016 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13017
13018 Remove deprecated root command.
13019
13020 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
13021 updated.
13022
13023 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * util/i386/pc/grub-setup.c: Merge this ...
13026 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
13027 * util/grub-setup.c: ... into this.
13028 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
13029 New struct.
13030
13031 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13032
13033 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
13034 possible.
13035
13036 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13037
13038 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
13039 allocate p.
13040
13041 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13044 explicit root argument to set to prevent UUID to be interpreted as
13045 argument to set.
13046
13047 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13048
13049 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
13050
13051 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13052
13053 Don't export grub_gate_a20.
13054
13055 * grub-core/kern/i386/pc/init.c: Remove leftovers.
13056 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
13057 to ...
13058 (grub_gate_a20): ... this. All users updated.
13059 * include/grub/i386/pc/init.h: Removed. All users updated.
13060
13061 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13062
13063 Create euro.pf2 which supports most European languages.
13064
13065 * Makefile.am (grubdata_DATA): Add euro.pf2.
13066 (euro.pf2): New target.
13067 (CLEANFILES): Add euro.pf2.
13068
13069 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13070
13071 * configure.ac: Disable emu-usb by default to prevent inadvertent
13072 device takeover.
13073
13074 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13075
13076 Disable usbserial on grub-emu since our libusb code isn't good enough
13077 yet.
13078
13079 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
13080 (usbserial_pl2303): Likewise.
13081 (usbserial_ftdi): Likewise.
13082
13083 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 * include/grub/disk.h (grub_disk): Remove has_partitions.
13086 All users updated.
13087 * disk/loopback.c (grub_loopback): Remove has_partitions.
13088 All users updated.
13089 (options): Remove partitions. All users updated.
13090 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
13091 * util/i386/pc/grub-setup.c (setup): copy partition table only when
13092 actual partition table is found.
13093
13094 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 Remove readability checks (too many false negatives).
13097
13098 * util/grub-install.in: Remove readability checks.
13099 * util/grub-mkconfig.in: Likewise.
13100 * util/grub.d/10_hurd.in: Likewise.
13101 * util/grub.d/10_kfreebsd.in: Likewise.
13102 * util/grub.d/10_linux.in: Likewise.
13103 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
13104 way.
13105
13106 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13107
13108 Enable acpi shutdown on all ACPI platforms.
13109
13110 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
13111 on coreboo, multiboot and EFI.
13112 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
13113 (grub_acpi_halt): Likewise.
13114 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
13115 (grub_cmd_halt): Don't call grub_acpi_halt directly.
13116 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
13117 * grub-core/lib/i386/halt.c (grub_halt)
13118 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
13119
13120 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13121
13122 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
13123 context.
13124
13125 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13126
13127 * grub-core/video/efi_gop.c: Fix over-80-chars line.
13128 * grub-core/video/efi_uga.c: Likewise.
13129
13130 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13131
13132 Filter devaliases and never open same device twice.
13133
13134 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
13135 (last_ihandle): Likewise.
13136 (ofdisk_hash_ent): New member shortest.
13137 (ofdisk_hash_add): Add canonical path too.
13138 (scan): New function.
13139 (grub_ofdisk_iterate): Iterate over hashed entries.
13140 (compute_dev_path): Don't add :0.
13141 (grub_ofdisk_open): Don't really open the disk.
13142 (grub_ofdisk_close): Avoid closing unrelated disk.
13143 (grub_ofdisk_read): Implement reopen logic.
13144 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
13145 New function.
13146 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
13147 New proto.
13148
13149 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 Fix sparc64.
13152
13153 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
13154 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
13155 right address. Add sparc64_ieee1275_ldflags.
13156 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
13157 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
13158 to grub_host_to_target_addr
13159 (load_image): Likewise.
13160
13161 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13162
13163 * grub-core/normal/completion.c (complete_file): Handle device
13164 containing slash.
13165 Fix based on patch by Doug Nazar.
13166
13167 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 grub-mknetdir script.
13170
13171 * Makefile.util.def (grub-mknetdir): New module.
13172 * tests/util/grub-shell.in: Support boot=net
13173 * util/grub-mknetdir.in: New file.
13174
13175 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 videoinfo on non-vbe.
13178
13179 * grub-core/Makefile.core.def (vbeinfo): Removed.
13180 (vbetest): Removed.
13181 (videoinfo): New module.
13182 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
13183 * grub-core/commands/i386/pc/vbetest.c: Removed.
13184 * grub-core/commands/videoinfo.c: New file.
13185 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
13186 specification.
13187 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
13188 as vbetest.
13189 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
13190 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
13191 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
13192 mode_number. New parameter mode. All users updated.
13193 (grub_video_gop_iterate): New function.
13194 (grub_video_efi_gop): New member iterate.
13195 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
13196 (grub_vbe_set_video_mode): Remove setting useless fields.
13197 (vbe2videoinfo): New function.
13198 (grub_video_vbe_iterate): Likewise.
13199 (grub_video_vbe_setup): Use vbe2videoinfo.
13200 (grub_video_vbe_print_adapter_specific_info): New function.
13201 (grub_video_vbe_adapter): New fields iterate and
13202 print_adapter_specific_info.
13203 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
13204 All users updated.
13205 (grub_video_mode_info): New field mode_number.
13206 (grub_video_adapter): New fields iterate and
13207 print_adapter_specific_info.
13208
13209 2010-09-13 Tristan Gingold <gingold@free.fr>
13210 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
13211 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13212
13213 * grub-core/commands/efi/lsefisystab.c: New file.
13214 * grub-core/commands/efi/lssal.c: Likewise.
13215 * grub-core/Makefile.core.def (lsacpi): New module.
13216 (lsefisystab): Likewise.
13217 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
13218 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
13219 (grub_efi_sal_system_table): New struct.
13220 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
13221 (grub_efi_sal_system_table_memory_descriptor): Likewise.
13222 (grub_efi_sal_system_table_platform_features): Likewise.
13223 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
13224 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
13225 (grub_efi_sal_system_table_ap_wakeup): Likewise.
13226 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
13227
13228 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13229
13230 Support explicit user claim that a device is BIOS-visible.
13231
13232 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
13233 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
13234 * grub-core/kern/emu/hostdisk.c
13235 (convert_system_partition_to_system_disk): Support mdX.
13236 (find_system_device): New parameter add. All users updated.
13237 (grub_util_biosdisk_is_present): New function.
13238 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
13239 proto.
13240
13241 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13242
13243 Search hints support.
13244
13245 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
13246 All users updated.
13247
13248 2010-09-13 Yves Blusseau <blusseau@zetam.org>
13249
13250 Bash completion script for util commands
13251
13252 * Makefile.am: Add util/bash-completion.d directory
13253 * configure.ac: Likewise.
13254 * util/bash-completion.d/Makefile.am: New file.
13255 * util/bash-completion.d/grub-completion.bash.in: Likewise.
13256
13257 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
13260 (print_backlog): set backlog_ucs4 and backlog_glyphs.
13261 Reported by: Yves Blusseau.
13262
13263 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
13266 partition size and offset.
13267
13268 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
13271
13272 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13273
13274 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
13275
13276 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
13279 (grub_xvasprintf): Likewise.
13280
13281 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13282
13283 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
13284
13285 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
13288 args ending with NULL.
13289
13290 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13291
13292 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
13293 pointer.
13294
13295 2010-09-11 Szymon Janc <szymon@janc.net.pl>
13296
13297 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
13298
13299 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 Shutdown using ACPI.
13302
13303 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
13304 * grub-core/commands/acpihalt.c: New file.
13305 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
13306 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
13307 (grub_acpi_halt): New proto.
13308 (GRUB_ACPI_SLP_EN): New const.
13309 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
13310 (GRUB_ACPI_OPCODE_*): New enum.
13311 (GRUB_ACPI_EXTOPCODE_*): Likewise.
13312
13313 2010-09-11 Tristan Gingold <gingold@free.fr>
13314 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
13315 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 * commands/lsacpi.c: New file.
13318 * grub-core/Makefile.core.def (lsacpi): New module.
13319 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
13320 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
13321 (grub_acpi_madt_entry_header): New struct.
13322 (grub_acpi_madt): Likewise.
13323 (grub_acpi_madt_entry_interrupt_override): Likewise.
13324 (grub_acpi_madt_entry_sapic): Likewise.
13325 (grub_acpi_madt_entry_lsapic): Likewise.
13326 (grub_acpi_madt_entry_platform_int_source): Likewise.
13327 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
13328 (PRIuGRUB_UINT32_T): Likewise.
13329 (PRIxGRUB_UINT64_T): Likewise.
13330
13331 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13332
13333 Implement loading palette on ieee1275_fb.
13334
13335 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
13336 (have_setcolors): Likewise.
13337 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
13338 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
13339 (grub_video_ieee1275_set_palette): Implement.
13340
13341 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13342 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
13343
13344 * util/grub-install.in (grub_partition): New variable.
13345 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
13346 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
13347 Fixes a bug reported by Yves Blusseau.
13348
13349 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 Fix emu on mipsel.
13352
13353 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
13354 =grub_cpu_flush_cache on all mips and not only yeeloong.
13355 * configure.ac (COND_mips): New conditional.
13356 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
13357 platforms.
13358 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
13359 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
13360 [GRUB_LINKER_HAVE_INIT]: New function.
13361 (grub_emu_post_init): Likewise.
13362 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
13363 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
13364 * include/grub/cache.h (_mips): Include mips/cache.h.
13365 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
13366 LVM and RAID prototypes.
13367 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
13368 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
13369 function.
13370
13371 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
13372
13373 * util/grub-install.in: Don't try to verify core.img until after
13374 running grub-mkimage to create it.
13375
13376 2010-09-10 Robert Millan <rmh@gnu.org>
13377
13378 * util/grub.d/10_hurd.in: Add misc readability checks.
13379 * util/grub.d/10_kfreebsd.in: Likewise.
13380 * util/grub.d/10_linux.in: Likewise.
13381
13382 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
13383
13384 * util/grub-install.in: ${imgext} won't be defined here until the
13385 install branch is merged. For the meantime, only verify core.img on
13386 i386-pc and sparc64-ieee1275 platforms.
13387
13388 2010-09-10 Robert Millan <rmh@gnu.org>
13389
13390 Solaris support in grub_find_zpool_from_dir(). Thanks
13391 Seth Goldberg for referring to getextmntent() facility.
13392
13393 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
13394 `sys/mkdev.h'.
13395 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
13396 `<sys/mnttab.h>'.
13397 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
13398 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
13399 method for finding zpool name.
13400
13401 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
13402
13403 grub-fstest needs the host and hostfs modules while other utilities
13404 actively require those modules to be absent, so grub-fstest needs
13405 its own initialisation and finalisation code.
13406
13407 * Makefile.am (grub_fstest.pp): New target.
13408 (grub_fstest_init.lst): Likewise.
13409 (grub_fstest_init.c): Likewise.
13410 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
13411
13412 2010-09-10 Robert Millan <rmh@gnu.org>
13413
13414 * configure.ac: Check for `struct statfs.f_fstypename' and
13415 `struct statfs.f_mntfromname'.
13416
13417 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
13418 kFreeBSD-specific code.
13419
13420 2010-09-10 Robert Millan <rmh@gnu.org>
13421
13422 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
13423 on ZFS. Now non-main filesystems are supported as / too.
13424
13425 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
13426
13427 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
13428 and grub-core/disk/host.c to ...
13429 (grub-fstest): ... here. Having the host disk implementation
13430 present confuses grub-probe and other utility programs.
13431
13432 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
13433 when writing to a file, not when writing to stdout.
13434
13435 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
13436
13437 * tests/partmap_test.in: New test for partitions.
13438 * Makefile.util.def: Rules for new test.
13439
13440 2010-09-09 Robert Millan <rmh@gnu.org>
13441
13442 * util/grub-probe.c (probe): Fix a pair of unhandled error
13443 conditions.
13444
13445 2010-09-09 Robert Millan <rmh@gnu.org>
13446
13447 Basic Btrfs support (detection and UUID).
13448
13449 * grub-core/fs/btrfs.c: New file.
13450 * Makefile.util.def (library): Register btrfs.c.
13451 * grub-core/Makefile.core.def: Likewise.
13452
13453 2010-09-08 Robert Millan <rmh@gnu.org>
13454
13455 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
13456 with (optional) parameters to specify device and relative path.
13457 * util/grub-install.in: Use is_path_readable_by_grub() to
13458 verify readability of a few critical files.
13459 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
13460 verify readability of grub.cfg.new.
13461
13462 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13463
13464 Split minix.mod into minix.mod and minix2.mod.
13465
13466 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
13467 * grub-core/Makefile.core.def (minix2): New module.
13468 * grub-core/fs/minix.c: Use definitions instead of runtime version
13469 checking.
13470 * grub-core/fs/minix2.c: New file.
13471
13472 2010-09-08 Yves Blusseau <blusseau@zetam.org>
13473
13474 Add new --boot-directory option to replace --root-directory
13475
13476 * util/grub-install.in: Add new --boot-directory option
13477 * util/grub-reboot.in: Likewise.
13478 * util/grub-set-default.in: Likewise.
13479
13480 2010-09-08 Yves Blusseau <blusseau@zetam.org>
13481
13482 * util/grub-mkconfig.in: Use new variable.
13483
13484 2010-09-08 Yves Blusseau <blusseau@zetam.org>
13485
13486 * configure.ac: Define some useful variables.
13487
13488 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13489
13490 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13491 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
13492 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
13493 Use terminfo and don't use cursor-on/cursor-off unless it's known
13494 to work.
13495 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13496 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13497
13498 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
13499
13500 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13501 starts with "(,", fill the drive containing the loaded image in
13502 between those two characters, but expect that a full partition
13503 specification including partition map names will follow.
13504
13505 2010-09-08 Robert Millan <rmh@gnu.org>
13506
13507 * configure.ac: Remove `--enable-grub-fstest' option.
13508 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13509
13510 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13511 `grub-fstest' instead of `grub-probe' for readability verification.
13512 * util/grub-probe.c (probe): Remove readability verification kludge.
13513
13514 2010-09-08 Robert Millan <rmh@gnu.org>
13515
13516 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13517 initializing `GRUB_FS'.
13518
13519 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13520
13521 Not command (!) support to GRUB script.
13522
13523 * tests/grub_script_not.in: New test.
13524 * Makefile.util.def: Rules for new test.
13525
13526 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13527 ! command as a special case.
13528 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13529
13530 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13531
13532 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13533 grub_free.
13534
13535 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13536
13537 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13538
13539 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13540
13541 * docs/grub.texi (Shell-like scripting): Documentation for break,
13542 continue, shift and return commands.
13543
13544 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13545
13546 Rename CD-ROM to cd on BIOS.
13547
13548 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13549 "cd".
13550 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13551
13552 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13553
13554 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13555 * util/grub-probe.c (main): Likewise.
13556 * util/i386/pc/grub-setup.c (main): Likewise.
13557 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13558 Reported and debugged by: alexxy
13559
13560 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13563 diagnostic info.
13564
13565 2010-09-05 Jo Shields <directhex@apebox.org>
13566
13567 * util/grub.d/30_os-prober.in: Add missing classes.
13568
13569 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 * docs/grub.texi (Theme file format): Document new position format.
13572
13573 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13576 a table. Use @code instead of @verbatim.
13577
13578 2010-09-05 Colin D Bennett <colin@gibibit.com>
13579
13580 Gfxmenu documentation.
13581
13582 * docs/grub.texi (Theme file format): New chapter.
13583
13584 2010-09-05 Szymon Janc <szymon@janc.net.pl>
13585
13586 * grub-core/Makefile.core.def (xzio): New module.
13587 * grub-core/io/xzio.c: New file.
13588 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13589 * grub-core/lib/xzembed/xz_config.h: Likewise.
13590 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13591 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13592 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13593 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13594 * grub-core/lib/xzembed/xz_private.h: Likewise.
13595 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13596 * include/grub/file.h (grub_file_filter_id): New compression filter
13597 GRUB_FILE_FILTER_XZIO.
13598
13599 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13602 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13603 size.
13604
13605 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13608 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13609
13610 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13611
13612 Uncompressed checksum support.
13613
13614 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13615 (check_list): New parameter uncompress.
13616 (grub_cmd_hashsum): Handle --uncompress.
13617
13618 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 Reintroduce testload.
13621
13622 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13623 from here ...
13624 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13625 (GRUB_MOD_INIT): New function.
13626 (GRUB_MOD_FINI): Likewise.
13627 * grub-core/Makefile.core.def (testload): New module.
13628
13629 2010-09-05 Szymon Janc <szymon@janc.net.pl>
13630
13631 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13632 (uint8_t): New type.
13633 (uint16_t): Likewise.
13634 (uint32_t): Likewise.
13635 (uint64_t): Likewise.
13636
13637 2010-09-05 Szymon Janc <szymon@janc.net.pl>
13638
13639 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13640
13641 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13644 Made static.
13645 (grub_gzfile_open): Removed. All users updated.
13646 (GRUB_MOD_INIT): New function.
13647 (GRUB_MOD_FINI): Likewise.
13648 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13649 (grub_file_filters_enabled): Likewise.
13650 (grub_file_open): Handle filters.
13651 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13652 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13653 * include/grub/file.h (grub_file_filter_id_t): New type.
13654 (grub_file_filter_t): Likewise.
13655 (grub_file_filters_all): New extern variable.
13656 (grub_file_filters_enabled): Likewise.
13657 (grub_file_filter_register): New inline function.
13658 (grub_file_filter_unregister): Likewise.
13659 (grub_file_filter_disable): Likewise.
13660 (grub_file_filter_disable_compression): Likewise.
13661 * include/grub/gzio.h: Removed.
13662
13663 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13664
13665 Filename expansion support for wildcards in GRUB script.
13666
13667 * tests/grub_script_expansion.in: New test.
13668 * Makefile.util.def: Rule for new test.
13669
13670 * grub-core/commands/wildcard.c: New file, implements filename
13671 expansion support for GRUB script.
13672 * grub-core/Makefile.core.def: Rule update for regexp.mod.
13673 * grub-core/script/argv.c: Cosmetic changes.
13674 * grub-core/script/execute.c (grub_script_arglist_to_argv):
13675 Refactored to perform wildcard expansion on arguments.
13676 * include/grub/script_sh.h (grub_script_wildcard_translator): New
13677 struct.
13678
13679 * tests/util/grub-shell.in: Fix quoting for read input.
13680
13681 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13682
13683 Support for updating environment variables with matched substrings
13684 of regexp.
13685
13686 * tests/grub_cmd_regexp.in: New test.
13687 * Makefile.util.def: Rule for new test.
13688
13689 * grub-core/commands/regexp.c: New option -s to update environment
13690 variables with regexp matches.
13691
13692 2010-09-04 Szymon Janc <szymon@janc.net.pl>
13693
13694 * include/grub/file.h (grub_file): New member not_easly_seekable.
13695 (grub_file_seekable): New inline function.
13696 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
13697 easily seekable.
13698 (grub_gzio_open): Set not_easly_seekable.
13699 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
13700 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
13701
13702 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13703
13704 Support for options to appear multiple times on cmdline.
13705
13706 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
13707 * grub-core/commands/extcmd.c: Support for repeatable option.
13708 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
13709 repeatable option support.
13710
13711 Refactor menuentry into a regular command.
13712
13713 * grub-core/commands/menuentry.c: New file, menuentry command
13714 implementation.
13715 * grub-core/Makefile.core.def: Rule update for normal.mod.
13716 * grub-core/normal/main.c: Moved menuentry creation to
13717 grub-core/commands/menuentry.c.
13718 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
13719 (grub_menu_execute_entry_real): Removed.
13720 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
13721 function.
13722 (grub_script_execute_menuentry): Removed.
13723 * grub-core/script/parser.y (menuentry): Removed.
13724 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
13725 * grub-core/script/yylex.l (menuentry): Removed.
13726 * include/grub/menu.h (grub_menu_init): New prototype.
13727 (grub_menu_fini): New prototype.
13728 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
13729 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
13730 (grub_script_execute_sourcecode): New prototype.
13731
13732 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13733
13734 "return" command for GRUB script functions.
13735
13736 * tests/grub_script_return.in: New test.
13737 * Makefile.util.def: Rules for new test.
13738
13739 * grub-core/script/execute.c (grub_script_return): New function.
13740 * grub-core/script/main.c: Register/unregister return commaond.
13741 * include/grub/script_sh.h (grub_script_return): New prototype.
13742
13743 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13744
13745 "setparams" command to update positional parameters.
13746
13747 * tests/grub_script_setparams.in: New test.
13748 * Makefile.util.def: Rules for new test.
13749
13750 * grub-core/script/argv.c (grub_script_argv_make): New function.
13751 * grub-core/script/execute.c (replace_scope): New function.
13752 (grub_script_setparams): New function.
13753 * grub-core/script/lexer.c: Remove unused variables.
13754 * grub-core/script/main.c: Register/unregister setparams command.
13755 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13756 (grub_script_setparams): New prototype.
13757
13758 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13759
13760 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13761 grub_free order.
13762
13763 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13764
13765 Support for passing block of commands as an argument to extcmds.
13766
13767 * Makefile.util.def: Rules for new test.
13768 * tests/grub_script_blockarg.in: New test.
13769 * grub-core/tests/test_blockarg.c: New file, block argument
13770 command used in the test.
13771
13772 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13773 (grub_register_extcmd_prio): New function prototype.
13774 (grub_extcmd_dispatcher): New function prototype.
13775 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
13776 type.
13777 * include/grub/script_sh.h (struct grub_script): New members
13778 `children', `next_siblings' and `refcnt' for block arguments and
13779 reference counting.
13780 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
13781 (grub_script_arg): New member `script' for block argument.
13782 (grub_script_argv): New member `script' for block argument.
13783 (grub_parser_param): New member `scripts' for block argument.
13784 (grub_script_mem_free): New extern function prototype.
13785 (grub_script_ref): New function prototype.
13786 (grub_script_unref): New function prototype.
13787
13788 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
13789 extcmd form to support block arguments.
13790 * grub-core/script/argv.c: Block arguments support.
13791 * grub-core/script/execute.c: Likewise.
13792 * grub-core/script/lexer.c: Likewise.
13793 * grub-core/script/main.c: Likewise.
13794 * grub-core/script/script.c: Likewise.
13795 * grub-core/script/parser.y: Likewise. New `block' and `block0'
13796 non-terminals.
13797
13798 * grub-core/commands/acpi.c: Update extcmd implementations with
13799 grub_extcmd_context_t.
13800 * grub-core/commands/cat.c: Likewise.
13801 * grub-core/commands/echo.c: Likewise.
13802 * grub-core/commands/extcmd.c: Likewise.
13803 * grub-core/commands/hashsum.c: Likewise.
13804 * grub-core/commands/hdparm.c: Likewise.
13805 * grub-core/commands/help.c: Likewise.
13806 * grub-core/commands/hexdump.c: Likewise.
13807 * grub-core/commands/i386/cpuid.c: Likewise.
13808 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13809 * grub-core/commands/i386/pc/halt.c: Likewise.
13810 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13811 * grub-core/commands/iorw.c: Likewise.
13812 * grub-core/commands/keystatus.c: Likewise.
13813 * grub-core/commands/loadenv.c: Likewise.
13814 * grub-core/commands/ls.c: Likewise.
13815 * grub-core/commands/lspci.c: Likewise.
13816 * grub-core/commands/memrw.c: Likewise.
13817 * grub-core/commands/probe.c: Likewise.
13818 * grub-core/commands/search_wrap.c: Likewise.
13819 * grub-core/commands/setpci.c: Likewise.
13820 * grub-core/commands/sleep.c: Likewise.
13821 * grub-core/disk/loopback.c: Likewise.
13822 * grub-core/hello/hello.c: Likewise.
13823 * grub-core/loader/i386/bsd.c: Likewise.
13824 * grub-core/loader/xnu.c: Likewise.
13825 * grub-core/term/gfxterm.c: Likewise.
13826 * grub-core/term/serial.c: Likewise.
13827 * grub-core/tests/lib/functional_test.c: Likewise.
13828
13829 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13830
13831 Multi-line quoted strings support.
13832
13833 * grub-core/script/lexer.c (append_newline): Removed.
13834 (grub_script_lexer_yywrap): Refactored.
13835 (grub_script_lexer_init): Refactored.
13836 * grub-core/script/yylex.l (yywrap): New function.
13837 (grub_lexer_resplit): New function.
13838 (grub_lexer_unput): New function.
13839 * include/grub/script_sh.h (grub_lexer_param): New members, unput
13840 and resplit.
13841 * tests/grub_script_echo1.in: Added few more testcases.
13842
13843 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13844
13845 * grub-core/kern/misc.c: Don't add abort alias in utils.
13846 Reported by: echoline.
13847
13848 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
13849
13850 Add missing files into "make dist" tarball for other platforms.
13851
13852 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
13853 * conf/Makefile.common (dist_noinst_DATA): New variable.
13854 * conf/Makefile.extra-dist: Added missing make dist files.
13855 * grub-core/Makefile.core.def: Likewise.
13856
13857 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13858
13859 Compress grub_prefix.
13860
13861 * grub-core/boot/i386/pc/lnxboot.S: Use
13862 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
13863 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
13864 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
13865 GRUB_MACHINE_PREFIX_END. All users updated.
13866 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
13867 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
13868 + 0x40.
13869 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13870 * util/grub-mkimage.c (image_target_desc): Change data_end to
13871 prefix_end. All users updated.
13872
13873 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
13876 value.
13877 (grub_openbsd_boot): Likewise.
13878 (grub_netbsd_boot): Likewise.
13879 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
13880 (grub_xnu_boot): Likewise.
13881
13882 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 * configure.ac: Clean LIBS variable after tests.
13885
13886 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
13887
13888 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
13889
13890 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13891
13892 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
13893 echo if libdevmapper will be used.
13894
13895 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
13896
13897 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
13898 constant for the same file.
13899
13900 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13901
13902 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
13903
13904 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
13905
13906 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
13907 grub-core/*.pp.
13908
13909 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
13910
13911 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
13912 required by the boot protocol.
13913
13914 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
13915 ebp and edi members.
13916 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
13917 state.ebp and state.edi.
13918 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
13919 %ebp and %edi according to grub_relocator32_ebp and
13920 grub_relocator32_edi respectively.
13921 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
13922 and state.edi.
13923
13924 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13925
13926 Add i386-pc-pxe image target.
13927
13928 * util/grub-mkimage.c (image_target_desc): New enum value
13929 IMAGE_I386_PC_PXE.
13930 (image_targets): New target i386-pc-pxe.
13931 (generate_image): Handle i386-pc-pxe image.
13932
13933 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13934
13935 Fix grub_pxe_scan.
13936
13937 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
13938 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
13939 All users updated.
13940 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
13941 (grub_pxe_pxenv): Correct type.
13942
13943 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
13944
13945 * NEWS: Document most of the important changes since 1.98.
13946
13947 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
13948
13949 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
13950 generated manual page) a little.
13951
13952 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
13953
13954 * docs/grub.texi: Add myself as an author.
13955
13956 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13957
13958 * Makefile.util.def (libgrub.a): Add missing sunpc.
13959 Reported by: Seth Goldberg.
13960
13961 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 Interrupt wrapping and code simplifications.
13964
13965 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
13966 x86_noieee1275 which are functionaly equivalent in this case.
13967 (grub-install): Make source on each platform explicit. Enable on
13968 all noemu.
13969 * gentpl.py (x86_efi_pc): Removed group.
13970 (x86_noefi): Likewise.
13971 (i386_noefi): Likewise.
13972 (x86_noieee1275): Likewise.
13973 (i386_noieee1275): Likewise.
13974 (i386_noefi_noieee1275): Likewise.
13975 (i386_pc_qemu_coreboot): Likewise.
13976 (i386_coreboot_multiboot): Likewise.
13977 (i386_pc_coreboot_multiboot_qemu): Likewise.
13978 (x86_noefi_mips): Likewise.
13979 (noieee1275): Likewise.
13980 (ieee1275_mips): Likewise.
13981 (noemu_noieee1275): Likewise.
13982 (cmos): New group.
13983 (usb): Likewise.
13984 (videoinkernel): Likewise.
13985 (videomodules): Likewise.
13986 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
13987 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
13988 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
13989 include/grub/loader.h, include/grub/msdos_partition.h,
13990 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
13991 include/grub/machine/console.h, include/grub/machine/vga.h,
13992 include/grub/machine/vbe.h, include/grub/machine/init.h,
13993 include/grub/machine/kernel.h, include/grub/cpu/time.h,
13994 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
13995 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
13996 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
13997 * grub-core/Makefile.core.def (kernel): Explicit the source for
13998 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
13999 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
14000 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
14001 Use videoinkernel tag.
14002 (usb): Enable on all usb.
14003 (usbserial_common): Likewise.
14004 (usbserial_pl2303): Likewise.
14005 (usbserial_ftdi): Likewise.
14006 (uhci): Enable on all x86.
14007 (ohci): Enable on all pci.
14008 (cmostest): Enable on all CMOS.
14009 (acpi): Include commands/acpi.c on all platforms.
14010 (halt): Add relevant lib/*/halt.c.
14011 (hdparm): Enable on all pci.
14012 (lspci): Likewise.
14013 (usbtest): Enable on all usb.
14014 (ata): Enable on all pci.
14015 (ata_pthru): Likewise.
14016 (usbms): Enable on all usb.
14017 (usb_keyboard): Likewise.
14018 (font): Use tag videomodules.
14019 (bufio): Likewise.
14020 (datetime): Use tag cmos. Enable on all noemu.
14021 (mmap): Use tags common and x86.
14022 (gfxterm): Use tag videomodules.
14023 (bitmap): Likewise.
14024 (bitmap_scale): Likewise.
14025 (video_fb): Likewise.
14026 (video): Likewise.
14027 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
14028 adjust padding accordingly. All users updated.
14029 (grub_ohci_transaction): Fix bad format specification.
14030 (GRUB_MOD_INIT): Add asserts for struct size.
14031 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
14032 (grub_alloc_td): Likewise.
14033 (grub_free_queue): Likewise.
14034 (grub_uhci_transfer): Likewise.
14035 (grub_uhci_transaction): Fix bad format specification.
14036 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14037 (grub_usb_bulk_readwrite): Likewise.
14038 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
14039 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
14040 Made static.
14041 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
14042 Made static.
14043 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
14044 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
14045 Transformed into C.
14046 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
14047 Moved from here ...
14048 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
14049 ... here. Transformed into C. Made static.
14050 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
14051 Moved from here ...
14052 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
14053 ... here. Transformed into C. Made static.
14054 * grub-core/kern/i386/pc/startup.S
14055 (grub_biosdisk_check_int13_extensions): Moved from here ...
14056 * grub-core/disk/i386/pc/biosdisk.c
14057 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
14058 Made static.
14059 * grub-core/kern/i386/pc/startup.S
14060 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
14061 * grub-core/disk/i386/pc/biosdisk.c
14062 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
14063 Transformed into C. Made static.
14064 * grub-core/kern/i386/pc/startup.S
14065 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
14066 * grub-core/disk/i386/pc/biosdisk.c
14067 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
14068 Transformed into C. Made static.
14069 * grub-core/kern/i386/pc/startup.S
14070 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
14071 * grub-core/disk/i386/pc/biosdisk.c
14072 (grub_biosdisk_get_diskinfo_standard): ... here.
14073 Transformed into C. Made static.
14074 * grub-core/kern/i386/pc/startup.S
14075 (grub_biosdisk_get_num_floppies): Moved from here ...
14076 * grub-core/disk/i386/pc/biosdisk.c
14077 (grub_biosdisk_get_num_floppies): ... here.
14078 Transformed into C. Made static.
14079 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
14080 New function.
14081 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
14082 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
14083 Transformed into C. Made static.
14084 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
14085 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
14086 Transformed into C. Made static.
14087 * grub-core/kern/i386/ieee1275/init.c: Removed.
14088 * grub-core/kern/i386/misc.S: Likewise.
14089 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
14090 Splitted from here ...
14091 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
14092 Transformed into C. Made static. All users updated.
14093 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
14094 Transformed into C. Made static. All users updated.
14095 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
14096 Moved from here...
14097 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
14098 Transformed into C. Made static. All users updated.
14099 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
14100 Moved from here...
14101 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
14102 Transformed into C. Made static. All users updated.
14103 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
14104 Removed (replaced by C version).
14105 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
14106 Moved from here...
14107 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
14108 Transformed into C. Made static.
14109 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
14110 Moved from here...
14111 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
14112 ... here. Transformed into C.
14113 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
14114 Moved from here...
14115 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
14116 ... here. Transformed into C.
14117 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
14118 Moved from here...
14119 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
14120 ... here. Transformed into C. Made static.
14121 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
14122 Moved from here...
14123 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
14124 ... here. Transformed into C.
14125 * grub-core/kern/i386/pc/startup.S
14126 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
14127 * grub-core/video/i386/pc/vbe.c
14128 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
14129 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
14130 Moved from here...
14131 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
14132 ... here. Transformed into C.
14133 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
14134 Moved from here...
14135 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
14136 ... here. Transformed into C.
14137 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
14138 Moved from here...
14139 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
14140 ... here. Transformed into C.
14141 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
14142 Moved from here...
14143 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
14144 ... here. Transformed into C.
14145 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
14146 Moved from here...
14147 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
14148 ... here. Transformed into C. Made static.
14149 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
14150 Moved from here...
14151 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
14152 ... here. Transformed into C. Made static.
14153 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
14154 Moved from here...
14155 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
14156 ... here. Transformed into C. Made static.
14157 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
14158 pxe_rm_entry as third argument.
14159 (grub_bios_interrupt): New function.
14160 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
14161 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
14162 of calling grub_stop.
14163 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
14164 * grub-core/lib/efi/halt.c (grub_halt): ...here.
14165 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
14166 * grub-core/lib/emu/halt.c (grub_halt): ... here.
14167 * grub-core/lib/i386/halt.c: Moved from here ...
14168 * grub-core/lib/i386/halt.c: ... here.
14169 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
14170 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
14171 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
14172 grub_stop_floppy.
14173 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
14174 * include/grub/i386/coreboot/init.h: Removed.
14175 * include/grub/i386/multiboot/init.h: Likewise.
14176 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
14177 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
14178 * include/grub/i386/pc/int.h: New file.
14179 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
14180 (grub_pxe_scan): Removed.
14181 (grub_pxe_call): Update prototype.
14182 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
14183 prototypes.
14184 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
14185 * include/grub/i386/qemu/init.h: Removed.
14186 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
14187 noreturn.
14188 (grub_halt): Likewise.
14189 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
14190 (grub_reboot): Likewise.
14191 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
14192 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
14193 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
14194
14195 2010-08-30 Robert Millan <rmh@gnu.org>
14196
14197 * NEWS: Document addition of ZFS support in `grub-install' and
14198 `grub-mkconfig'.
14199
14200 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
14201
14202 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
14203 dprintf output.
14204
14205 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 Remove leftover embedding of font objects.
14208
14209 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14210 * util/grub-install.in (font): Removed.
14211 * util/grub-mkimage.c (generate_image): Remove font support. All users
14212 updated.
14213
14214 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14215
14216 Remove leftover embedding of font objects.
14217
14218 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14219 * util/grub-install.in (font): Removed.
14220 * util/grub-mkimage.c (generate_image): Remove font support. All users
14221 updated.
14222
14223 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 * docs/grub.texi (Network): Fix reference to pxe_blksize.
14226 Reported by: Ian Turner
14227
14228 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
14231 timeout to avoid indefinite boot stalling.
14232
14233 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14234
14235 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
14236 (grub_env_write_color_highlight): Likewise.
14237
14238 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14239
14240 * grub-core/normal/term.c (print_more): Return to normal and not
14241 to standard state after printing "---MORE---".
14242
14243 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14244
14245 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
14246 Mask out the bit 0x80 since it has other meaning that specifiing color.
14247
14248 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14249
14250 New relocator. Allows for more kernel support and more straightforward
14251 loader writing.
14252
14253 * Makefile.am (BOOTTARGET): New variable.
14254 (QEMU32): Likewise.
14255 (linux.init.x86_64): New target.
14256 (linux.init.i386): Likewise.
14257 (multiboot.elf): Likewise.
14258 (kfreebsd.elf): Likewise.
14259 (kfreebsd.aout): Likewise.
14260 (pc-chainloader.elf): Likewise.
14261 (pc-chainloader.bin): Likewise.
14262 (ntldr.elf): Likewise.
14263 (ntldr.bin): Likewise.
14264 (multiboot2.elf): Likewise.
14265 (kfreebsd.init.x86_64): Likewise.
14266 (kfreebsd.init.i386): Likewise.
14267 (knetbsd.init.i386): Likewise.
14268 (kopenbsd.init.i386): Likewise.
14269 (knetbsd.init.x86_64): Likewise.
14270 (kopenbsd.init.x86_64): Likewise.
14271 (linux-initramfs.i386): Likewise.
14272 (linux-initramfs.x86_64): Likewise.
14273 (kfreebsd-mfsroot.i386.img): Likewise.
14274 (knetbsd.image.i386): Likewise.
14275 (kopenbsd.image.i386): Likewise.
14276 (kopenbsd.image.x86_64): Likewise.
14277 (knetbsd.miniroot-image.i386.img): Likewise.
14278 (kfreebsd-mfsroot.x86_64.img): Likewise.
14279 (knetbsd.image.x86_64): Likewise.
14280 (knetbsd.miniroot-image.x86_64.img): Likewise.
14281 (kfreebsd-mfsroot.i386.gz): Likewise.
14282 (bootcheck-kfreebsd-i386): Likewise.
14283 (kfreebsd-mfsroot.x86_64.gz): Likewise.
14284 (bootcheck-kfreebsd-x86_64): Likewise.
14285 (knetbsd.miniroot-image.i386.gz): Likewise.
14286 (bootcheck-knetbsd-i386): Likewise.
14287 (bootcheck-kopenbsd-i386): Likewise.
14288 (bootcheck-kopenbsd-x86_64): Likewise.
14289 (knetbsd.miniroot-image.x86_64.gz): Likewise.
14290 (bootcheck-knetbsd-x86_64): Likewise.
14291 (bootcheck-linux-i386): Likewise.
14292 (bootcheck-linux-x86_64): Likewise.
14293 (bootcheck-linux16-i386): Likewise.
14294 (bootcheck-linux16-x86_64): Likewise.
14295 (bootcheck-multiboot): Likewise.
14296 (bootcheck-multiboot2): Likewise.
14297 (bootcheck-kfreebsd-aout): Likewise.
14298 (bootcheck-pc-chainloader): Likewise.
14299 (bootcheck-ntldr): Likewise.
14300 (CLEANFILES): Add new targets.
14301 (BOOTCHECKS): New variable.
14302 (.PHONY): Add bootchecks.
14303 (SUCCESSFUL_BOOT_STRING): New variable.
14304 (BOOTCHECK_TIMEOUT): Likewise.
14305 (bootcheck): New target
14306 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
14307 * configure.ac: Correct efiemu excuse.
14308 * docs/grub.texi (Supported kernels): New chapter.
14309 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
14310 include/grub/mm_private.h. Simplify inclusion of
14311 include/grub/boot.h, include/grub/loader.h
14312 and include/grub/msdos_partition.h
14313 (KERNEL_HEADER_FILES) [i386_coreboot]:
14314 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
14315 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
14316 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
14317 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
14318 include/grub/machine/loader.h.
14319 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
14320 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
14321 extra_dist.
14322 (pci.mod): Enable on i386-multiboot.
14323 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
14324 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
14325 i386-qemu.
14326 (relocator.mod): Rewritten.
14327 (aout.mod): Enable on all x86.
14328 (bsd.mod): Likewise.
14329 (ntldr.mod): New module.
14330 (linux.mod): Use loader/i386/linux.c on all x86.
14331 (xnu.mod): Enable on all x86.
14332 (vga_text.mod): disable on EFI and QEMU.
14333 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
14334 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
14335 * grub-core/efiemu/loadcore.c: Likewise.
14336 * grub-core/efiemu/main.c: Likewise.
14337 (grub_efiemu_exit_boot_services): Removed.
14338 (grub_efiemu_finish_boot_services): Likewise.
14339 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
14340 function.
14341 * grub-core/efiemu/i386/nocfgtables.c: New file.
14342 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
14343 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
14344 (grub_efi_finish_boot_services): Moved from here ...
14345 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
14346 Fille finish memory map and related data.
14347 (finish_mmap_buf): New variable.
14348 (grub_efi_uintn_t finish_mmap_size): Likewise.
14349 (grub_efi_uintn_t finish_key): Likewise.
14350 (grub_efi_uintn_t finish_desc_size): Likewise.
14351 (grub_efi_uint32_t finish_desc_version): Likewise.
14352 (grub_efi_is_finished): Likewise.
14353 (grub_efi_get_memory_map): Use saved memory map if EFI is already
14354 finished.
14355 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
14356 (grub_elf64_phdr_iterate): Likewise.
14357 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
14358 (grub_os_area_size): Likewise.
14359 (grub_machine_init): Don't reserve os area.
14360 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
14361 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14362 * grub-core/kern/i386/loader.S: Removed.
14363 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
14364 (grub_os_area_size): Likewise.
14365 (grub_machine_init): Don't reserve os area.
14366 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14367 Don't call grub_dl_unload_all.
14368 Don't include loader.S.
14369 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
14370 Declare the memory after _end as available.
14371 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
14372 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
14373 (GRUB_MM_ALLOC_MAGIC): Moved from here...
14374 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
14375 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
14376 * include/grub/mm_private.h (grub_mm_header): ... here.
14377 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
14378 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
14379 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
14380 (grub_mm_region): ..here. Removed addr. Added pre_size.
14381 All users updated.
14382 * grub-core/kern/mm.c (base): Renamed to ...
14383 (grub_mm_base): ... this. Made global.
14384 (grub_real_malloc): Alloc from end of region.
14385 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
14386 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
14387 * grub-core/kern/powerpc/cache_flush.S: ... here.
14388 * grub-core/lib/efi/relocator.c: New file.
14389 * grub-core/lib/i386/relocator.c: Rewritten.
14390 * grub-core/lib/i386/relocator16.S: New file.
14391 * grub-core/lib/i386/relocator32.S: Likewise.
14392 * grub-core/lib/i386/relocator64.S: Likewise.
14393 * grub-core/lib/i386/relocator_asm.S: Rewritten.
14394 * grub-core/lib/i386/relocator_common.S: New file.
14395 * grub-core/lib/ieee1275/relocator.c: Likewise.
14396 * grub-core/lib/mips/relocator.c: Rewritten.
14397 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
14398 stylistic adjustments.
14399 * grub-core/lib/powerpc/relocator.c: New file.
14400 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
14401 * grub-core/lib/relocator.c: Rewritten.
14402 * grub-core/lib/x86_64/relocator_asm.S: New file.
14403 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
14404 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
14405 (bsd_tag): New struct.
14406 (tags): New variable.
14407 (tags_last): Likewise.
14408 (netbsd_module): New struct.
14409 (netbsd_mods): New variable.
14410 (netbsd_mods_last): Likewise.
14411 (openbsd_opts): New parameter "serial".
14412 (OPENBSD_SERIAL_ARG): New definition.
14413 (netbsd_opts): New parameter "serial".
14414 (NETBSD_SERIAL_ARG): New definition.
14415 (grub_freebsd_add_meta): Reorganised into ...
14416 (grub_bsd_add_meta): ...this. All users updated.
14417 (grub_freebsd_add_mmap): Reorganised into ...
14418 (generate_e820_mmap): ...this...
14419 (grub_bsd_add_mmap): ...and this. All users updated.
14420 (grub_freebsd_list_modules): Use tags.
14421 (grub_netbsd_add_meta_module): New function.
14422 (grub_netbsd_list_modules): Likewise.
14423 (grub_freebsd_boot): Use relocator and finish EFI.
14424 (grub_openbsd_boot): Likewise.
14425 (grub_netbsd_setup_video): New function.
14426 (grub_netbsd_add_modules): Likewise.
14427 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
14428 and finish EFI.
14429 (grub_bsd_unload): Unload tags.
14430 (grub_bsd_load_aout): Use relocator.
14431 (grub_bsd_elf32_size_hook): New function.
14432 (grub_bsd_elf32_hook): Use relocator.
14433 (grub_bsd_elf64_size_hook): New function.
14434 (grub_bsd_elf64_hook): Use relocator.
14435 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
14436 (grub_bsd_load): Zero-out openbsd_ramdisk.
14437 (grub_bsd_load): Use relocator.
14438 (grub_cmd_openbsd): Support serial.
14439 (grub_cmd_netbsd): Support modules.
14440 (grub_cmd_freebsd_module): Use relocator.
14441 (grub_netbsd_module_load): New function.
14442 (grub_cmd_netbsd_module): Likewise.
14443 (grub_cmd_openbsd_ramdisk): Likewise.
14444 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
14445 kopenbsd_ramdisk.
14446 (GRUB_MOD_FINI): Unregister new commands.
14447 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
14448 (grub_freebsd_load_elfmodule_obj): Use relocator.
14449 (grub_freebsd_load_elfmodule): Likewise.
14450 (grub_freebsd_load_elf_meta): Likewise.
14451 (grub_netbsd_load_elf_meta): New function.
14452 (grub_openbsd_find_ramdisk): Likewise.
14453 * grub-core/loader/i386/bsd_helper.S: Removed.
14454 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
14455 * grub-core/loader/i386/bsd_trampoline.S: Removed.
14456 * grub-core/loader/i386/efi/linux.c: Likewise.
14457 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
14458 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
14459 (DEFAULT_VIDEO_MODE): Likewise.
14460 (real_mode_target): New variable.
14461 (prot_mode_target): Likewise.
14462 (initrd_mem_target): Likewise.
14463 (relocator): Likewise.
14464 (efi_mmap_buf): Likewise.
14465 (efi_mmap_size): Likewise.
14466 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
14467 (free_pages): Use relocator.
14468 (allocate_pages): Account for efi_mmap and use relocator. Return error.
14469 (grub_linux_setup_video): Return error.
14470 (grub_linux_trampoline_start): Removed.
14471 (grub_linux_trampoline_end): Likewise.
14472 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
14473 andd video parameters depending on firmware.
14474 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
14475 [GRUB_MACHINE_EFI]: Pass EFI parameters.
14476 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
14477 (grub_cmd_initrd): Use relocator.
14478 * grub-core/loader/i386/linux_trampoline.S: Removed.
14479 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
14480 (elf_sec_entsize): Likewise.
14481 (elf_sec_shstrndx): Likewise.
14482 (elf_sections): Likewise.
14483 (grub_multiboot_load): Use relocator.
14484 (grub_multiboot_get_mbi_size): Account for sections.
14485 (grub_multiboot_make_mbi): Use relocator and support sections.
14486 (grub_multiboot_add_elfsyms): New function.
14487 (grub_multiboot_free_mbi): Free sections.
14488 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
14489 (grub_linux_real_target): Likewise.
14490 (grub_linux_real_chunk): Likewise.
14491 (grub_linux16_prot_size): Likewise.
14492 (grub_linux16_boot): Use relocator.
14493 (grub_linux_unload): Unload relocator.
14494 (grub_cmd_linux): Use relocator.
14495 (grub_cmd_initrd): Likewise.
14496 * grub-core/loader/i386/pc/ntldr.c: New file.
14497 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14498 Don't try to guess CPU frequency.
14499 (grub_xnu_set_video): Stretch bitmap.
14500 (grub_xnu_boot): Use relocator.
14501 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14502 (grub_linux_unload): Free relocator.
14503 (grub_linux_load32): Use relocator.
14504 (grub_linux_load64): Likewise.
14505 (grub_cmd_initrd): Likewise.
14506 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14507 (grub_multiboot_unload): Unload relocator.
14508 (grub_cmd_multiboot): Use relocator.
14509 (grub_cmd_module): Likewise.
14510 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14511 Use relocator and support sections.
14512 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14513 (elf_sec_entsize): Likewise.
14514 (elf_sec_shstrndx): Likewise.
14515 (elf_sections): Likewise.
14516 (grub_multiboot_load): Use relocator.
14517 (grub_multiboot_get_mbi_size): Account for sections.
14518 (grub_multiboot_make_mbi): Use relocator and support sections.
14519 (grub_multiboot_add_elfsyms): New function.
14520 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14521 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14522 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14523 Prototype changed. All users updated.
14524 (grub_xnu_align_heap): Simplified.
14525 (grub_xnu_writetree_toheap): Likewise.
14526 (grub_xnu_unload): Unload relocator.
14527 (grub_cmd_xnu_kernel): Use relocator.
14528 (grub_cmd_xnu_kernel64): Likewise.
14529 (grub_xnu_register_memory): Simplified.
14530 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
14531 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14532 EFI is finished.
14533 (grub_console_checkkey): Likewise.
14534 (grub_console_getkey): Likewise.
14535 (grub_console_getwh): Likewise.
14536 (grub_console_getxy): Likewise.
14537 (grub_console_gotoxy): Likewise.
14538 (grub_console_cls): Likewise.
14539 (grub_console_setcolorstate): Likewise.
14540 (grub_console_setcursor): Likewise.
14541 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14542 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14543 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14544 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14545 * grub-core/tests/boot/kernel-8086.S: Likewise.
14546 * grub-core/tests/boot/kernel-i386.S: Likewise.
14547 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14548 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14549 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14550 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14551 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14552 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14553 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14554 * grub-core/tests/boot/linux.cfg: Likewise.
14555 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14556 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14557 * grub-core/tests/boot/linux16.cfg: Likewise.
14558 * grub-core/tests/boot/multiboot.cfg: Likewise.
14559 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14560 * grub-core/tests/boot/ntldr.cfg: Likewise.
14561 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14562 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14563 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14564 New definition.
14565 * include/grub/dl.h (grub_dl_unload_all): Removed.
14566 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14567 (grub_efi_finish_boot_services): Change prototype.
14568 (grub_efi_is_finished): New variable.
14569 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14570 Changed prototype.
14571 (grub_efiemu_finish_boot_services): Removed.
14572 (grub_machine_efiemu_init_tables): New prototype.
14573 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14574 (grub_elf64_phdr_iterate): Likewise.
14575 * include/grub/i386/bsd.h: Include relocator.h.
14576 (freebsd_tag_header): New struct.
14577 (grub_openbsd_bios_mmap): Removed.
14578 (grub_unix_real_boot): Removed.
14579 (grub_freebsd_load_elfmodule32): Changed prototype.
14580 (grub_freebsd_load_elfmodule_obj64): Likewise.
14581 (grub_freebsd_load_elf_meta32): Likewise.
14582 (grub_freebsd_load_elf_meta64): Likewise.
14583 (grub_freebsd_add_meta): Removed.
14584 (grub_netbsd_load_elf_meta32): New prototype.
14585 (grub_netbsd_load_elf_meta64): Likewise.
14586 (grub_bsd_add_meta): Likewise.
14587 (grub_openbsd_ramdisk_descriptor): New struct.
14588 (grub_openbsd_find_ramdisk32): New prototype.
14589 (grub_openbsd_find_ramdisk64): Likewise.
14590 * include/grub/i386/coreboot/loader.h: Removed.
14591 * include/grub/i386/efi/loader.h: Likewise.
14592 * include/grub/i386/ieee1275/loader.h: Likewise.
14593 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14594 to grub_uint32_t.
14595 * include/grub/i386/loader.h: Removed.
14596 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14597 value.
14598 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14599 (grub_phys_addr_t): New type.
14600 (grub_vtop): New inline function.
14601 (grub_map_memory): Likewise.
14602 (grub_unmap_memory): Likewise.
14603 * include/grub/i386/multiboot/loader.h: Removed.
14604 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14605 (NETBSD_BTINFO_CONSOLE): New definition.
14606 (NETBSD_BTINFO_SYMTAB): Likewise.
14607 (NETBSD_BTINFO_MODULES): Likewise.
14608 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14609 (grub_netbsd_bootinfo): New struct.
14610 (grub_netbsd_btinfo_common): Use explicit bitsize.
14611 (grub_netbsd_btinfo_mmap_entry): Removed.
14612 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14613 (grub_netbsd_btinfo_bootdisk): New struct.
14614 (grub_netbsd_btinfo_symtab): Likewise.
14615 (grub_netbsd_btinfo_serial): Likewise.
14616 (grub_netbsd_btinfo_modules): Likewise.
14617 (grub_netbsd_btinfo_framebuf): Likewise.
14618 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14619 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14620 Likewise.
14621 (grub_openbsd_bootargs): Use explicit bitsize.
14622 (grub_openbsd_bootarg_console): New struct.
14623 (GRUB_OPENBSD_COM_MAJOR): New definition.
14624 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14625 * include/grub/i386/pc/efiemu.h: Removed.
14626 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14627 * include/grub/i386/qemu/loader.h: Removed.
14628 * include/grub/i386/relocator.h: Rewritten.
14629 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14630 * include/grub/mips/memory.h: New file.
14631 * include/grub/mips/multiboot.h: Rewritten.
14632 * include/grub/mips/relocator.h: Rewritten.
14633 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14634 (grub_vtop): New function.
14635 (grub_map_memory): Likewise.
14636 (grub_unmap_memory): Likewise.
14637 * include/grub/misc.h (ALIGN_DOWN): New definition.
14638 * include/grub/mm.h (grub_mm_check_real): New proto.
14639 (GRUB_MM_CHECK): New definition.
14640 * include/grub/mm_private.h: New file.
14641 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14642 (grub_multiboot_get_mbi_size): Removed.
14643 (grub_multiboot_make_mbi): Change prottype.
14644 (grub_multiboot_set_accepts_video): New proto.
14645 (grub_multiboot_add_elfsyms): Likewise.
14646 (grub_multiboot_payload_eip): New variable.
14647 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14648 New prototype.
14649 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14650 New definition.
14651 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14652 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14653 * include/grub/powerpc/ieee1275/loader.h: Removed.
14654 * include/grub/powerpc/memory.h: New file.
14655 * include/grub/powerpc/relocator.h: Likewise.
14656 * include/grub/relocator.h: Likewise.
14657 * include/grub/relocator_private.h: Likewise.
14658 * include/grub/sparc64/ieee1275/loader.h: Removed.
14659 * include/grub/x86_64/memory.h: New file.
14660 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14661 (grub_xnu_heap_malloc): Likewise.
14662 (grub_xnu_heap_real_start): Removed.
14663 (grub_xnu_heap_start): Likewise.
14664 (grub_xnu_relocator): New variable.
14665 (grub_xnu_heap_target_start): Likewise.
14666 * tests/util/grub-shell.in: Support non-pc.
14667 * util/grub-mkimage.c (image_targets): Fix multiboot target.
14668
14669 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
14672 on malloc error.
14673 (grub_bidi_logical_to_visual): Check that malloc succeded.
14674 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
14675 puts.
14676 (grub_xputs_normal): Likewise.
14677
14678 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14679
14680 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
14681 extra_dist.
14682
14683 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14684
14685 * grub-core/efiemu/runtime/efiemu.sh: Removed.
14686
14687 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14688
14689 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
14690
14691 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
14694 dprintf.
14695
14696 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
14697
14698 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
14699
14700 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14701
14702 * grub-core/normal/term.c (print_more): Fix a memory leak.
14703 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
14704 (grub_xputs_normal): Likewise.
14705
14706 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14709 the begining of the string
14710
14711 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14712
14713 * grub-core/script/script.c (grub_script_parse): Free parsed on
14714 failure.
14715
14716 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14717
14718 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
14719 on failure.
14720
14721 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
14724 return.
14725
14726 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14727
14728 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
14729 (scroll_up): Fix a memory leak.
14730
14731 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
14734 errors.
14735
14736 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
14737
14738 Handle USB pendrives exposed as floppies.
14739
14740 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
14741 floppy.
14742 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14743 Check for partitions on all devices.
14744
14745 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14746
14747 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
14748 (readkey): Likewise.
14749
14750 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14751
14752 Multiple variable names support to "export" command.
14753
14754 * normal/context.c (grub_cmd_export): "export" command supports
14755 multiple variable names.
14756
14757 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14758
14759 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14760 --target=drive output to Mach device name.
14761
14762 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14763
14764 New Automake based build system for GRUB.
14765
14766 * ABOUT-NLS: New file.
14767 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14768 in Makefile.util.def file.
14769 * Makefile.util.def: New file. Autogen build definitions file for
14770 GRUB host utils.
14771 * conf/Makefile.common: New file. Common variables for GRUB host
14772 utils and target modules.
14773 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14774 * docs/Makefile.am: New file. Automake file for docs.
14775 * gentpl.py: New file. Python script to generate Autogen
14776 template.
14777 * grub-core/Makefile.am: New file. GRUB target modules' rules
14778 that doesn't fit in Makefile.core.def file.
14779 * grub-core/Makefile.core.def: New file. Autogen build
14780 definitions file for GRUB target modules.
14781 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
14782 specific setjmp.S file.
14783 * po/Makefile.am: New file.
14784
14785 * .bzrignore: New ignores.
14786 * INSTALL: New requirements, without Ruby.
14787 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
14788 * autogen.sh: Updated to invoke autogen as necessary.
14789 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
14790 and defines for Automake conditionals.
14791 * geninit.sh: Refactoring.
14792
14793 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
14794 necessary.
14795 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
14796 New prototype.
14797
14798 * include/grub/test.h: Fix functional test modules' naming.
14799 * grub-core/tests/example_functional_test.c: Fix test module name.
14800
14801 * util/misc.c: Hosted versions' of grub functions for libgrub.a
14802 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
14803 * util/grub-editenv.c: Likewise.
14804 * util/grub-fstest.c: Likewise.
14805 * util/grub-mkdevicemap.c: Likewise.
14806 * util/grub-mkfont.c: Likewise.
14807 * util/grub-mkimage.c: Likewise.
14808 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14809 * util/grub-probe.c: Likewise.
14810 * util/grub-script-check.c: Likewise.
14811 * util/i386/pc/grub-setup.c: Likewise.
14812 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14813
14814 * tests/util/grub-shell.in: Fix override directory path.
14815 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
14816 * util/import_gcry.py: Create Makefile.gcry.def file instead.
14817
14818 * util/lvm.c: Update #includes.
14819 * util/raid.c: Likewise.
14820 * util/resolve.c: Likewise.
14821 * grub-core/bus/emu/pci.c: Likewise.
14822 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
14823 * grub-core/lib/posix_wrap/string.h: Likewise.
14824 * grub-core/kern/emu/main.c: Likewise.
14825
14826 * grub-core/gensymlist.sh: New file. Script for generating kernel
14827 symbols file.
14828 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
14829
14830 * grub-core/gentrigtables.c: Fix unused variable warnings.
14831
14832 * Makefile.in: Removed.
14833 * conf/any-emu.rmk: Removed.
14834 * conf/common.rmk: Removed.
14835 * conf/i386-coreboot.rmk: Removed.
14836 * conf/i386-efi.rmk: Removed.
14837 * conf/i386-ieee1275.rmk: Removed.
14838 * conf/i386-multiboot.rmk: Removed.
14839 * conf/i386-pc.rmk: Removed.
14840 * conf/i386-qemu.rmk: Removed.
14841 * conf/i386.rmk: Removed.
14842 * conf/mips-yeeloong.rmk: Removed.
14843 * conf/mips.rmk: Removed.
14844 * conf/powerpc-ieee1275.rmk: Removed.
14845 * conf/sparc64-ieee1275.rmk: Removed.
14846 * conf/tests.rmk: Removed.
14847 * conf/x86-efi.rmk: Removed.
14848 * conf/x86_64-efi.rmk: Removed.
14849 * gendistlist.sh: Removed.
14850 * geninitheader.sh: Removed.
14851 * genkernsyms.sh.in: Removed.
14852 * genmk.rb: Removed.
14853 * gensymlist.sh.in: Removed.
14854 * mkinstalldirs: Removed.
14855 * boot: Moved ...
14856 * grub-core/boot: ... to here.
14857 * bus: Moved ...
14858 * grub-core/bus: ... to here.
14859 * commands: Moved ...
14860 * grub-core/commands: ... to here.
14861 * disk: Moved ...
14862 * grub-core/disk: ... to here.
14863 * efiemu: Moved ...
14864 * grub-core/efiemu: ... to here.
14865 * font: Moved ...
14866 * grub-core/font: ... to here.
14867 * fs: Moved ...
14868 * grub-core/fs: ... to here.
14869 * gencmdlist.sh: Moved ...
14870 * grub-core/gencmdlist.sh: ... to here.
14871 * genemuinit.sh: Moved ...
14872 * grub-core/genemuinit.sh: ... to here.
14873 * genemuinitheader.sh: Moved ...
14874 * grub-core/genemuinitheader.sh: ... to here.
14875 * genfslist.sh: Moved ...
14876 * grub-core/genfslist.sh: ... to here.
14877 * genhandlerlist.sh: Moved ...
14878 * grub-core/genhandlerlist.sh: ... to here.
14879 * genmoddep.awk: Moved ...
14880 * grub-core/genmoddep.awk: ... to here.
14881 * genmodsrc.sh: Moved ...
14882 * grub-core/genmodsrc.sh: ... to here.
14883 * genpartmaplist.sh: Moved ...
14884 * grub-core/genpartmaplist.sh: ... to here.
14885 * genparttoollist.sh: Moved ...
14886 * grub-core/genparttoollist.sh: ... to here.
14887 * genterminallist.sh: Moved ...
14888 * grub-core/genterminallist.sh: ... to here.
14889 * gentrigtables.c: Moved ...
14890 * grub-core/gentrigtables.c: ... to here.
14891 * genvideolist.sh: Moved ...
14892 * grub-core/genvideolist.sh: ... to here.
14893 * gettext: Moved ...
14894 * grub-core/gettext: ... to here.
14895 * gfxmenu: Moved ...
14896 * grub-core/gfxmenu: ... to here.
14897 * gnulib: Moved ...
14898 * grub-core/gnulib: ... to here.
14899 * hello: Moved ...
14900 * grub-core/hello: ... to here.
14901 * hook: Moved ...
14902 * grub-core/hook: ... to here.
14903 * io: Moved ...
14904 * grub-core/io: ... to here.
14905 * kern: Moved ...
14906 * grub-core/kern: ... to here.
14907 * lib: Moved ...
14908 * grub-core/lib: ... to here.
14909 * loader: Moved ...
14910 * grub-core/loader: ... to here.
14911 * mmap: Moved ...
14912 * grub-core/mmap: ... to here.
14913 * normal: Moved ...
14914 * grub-core/normal: ... to here.
14915 * partmap: Moved ...
14916 * grub-core/partmap: ... to here.
14917 * parttool: Moved ...
14918 * grub-core/parttool: ... to here.
14919 * script: Moved ...
14920 * grub-core/script: ... to here.
14921 * term: Moved ...
14922 * grub-core/term: ... to here
14923 * tests/example_functional_test.c: Moved ...
14924 * grub-core/tests/example_functional_test.c: ... to here.
14925 * tests/lib/functional_test.c: Moved ...
14926 * grub-core/tests/lib/functional_test.c: ... to here.
14927 * tests/lib/test.c: Moved ...
14928 * grub-core/tests/lib/test.c: ... to here.
14929 * video: Moved ...
14930 * grub-core/video: ... to here.
14931
14932 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14933
14934 Replace --enable-grub-emu-modules with grub-emu-lite.
14935
14936 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
14937 cache.S.
14938
14939 * include/grub/emu/misc.h (grub_emu_init): New prototype.
14940 * kern/emu/full.c: New file. For grub-emu specific initialization.
14941 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
14942 * kern/emu/main.c: Call initialization function grub_emu_init.
14943
14944 * Makefile.in: Include grub-emu-lite in install.
14945 * commands/parttool.c: Use grub_no_autoload to differentiate
14946 between grub-emu and grub-emu-lite.
14947 * include/grub/misc.h: New variable grub_no_autoload.
14948
14949 * conf/any-emu.rmk: New rules for grub-emu-lite.
14950 * configure.ac: Remove --enable-grub-emu-modules.
14951 * genmk.rb: Cleanup unnecessary rules.
14952 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
14953
14954 * normal/main.c: Don't load list files on grub-emu-lite.
14955 * util/misc.c (grub_arch_sync_caches): Removed.
14956
14957 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
14958
14959 * kern/mips/startup.S (grub_prefix): Update comment to refer to
14960 grub-mkimage rather than grub-mkelfimage.
14961 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14962
14963 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
14966 a key after CapsLock or NumLock. It's just a qemu bug.
14967
14968 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14969
14970 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
14971 needed by libusb wrapper.
14972
14973 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14974
14975 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
14976
14977 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
14980 --nounzip is passed.
14981
14982 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
14983
14984 USB hotunplugging and USB serial support.
14985
14986 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
14987 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
14988 (grub_uhci_transfer): Respect timeout and set *actual.
14989 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
14990 non-standard length.
14991 (grub_usb_device_attach): Autoload modules.
14992 (GRUB_MOD_INIT): Set grub_term_poll_usb.
14993 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
14994 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14995 users updated.
14996 (grub_usb_add_hub): Fill nports and children.
14997 (attach_root_port): Receive hub instead of controller.
14998 All users updated. Fill hub->devices.
14999 (grub_usb_root_hub): Allocate hub->devices.
15000 (detach_device): New function.
15001 (poll_nonroot_hub): Fill children and detach devices.
15002 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
15003 actual arguments. All users updated.
15004 (grub_usb_bulk_read_extended): New function.
15005 * bus/usb/serial/common.c: New file.
15006 * bus/usb/serial/ftdi.c: Likewise.
15007 * bus/usb/serial/pl2303.c: Likewise.
15008 * commands/terminal.c (handle_command): Support wildcard.
15009 * commands/usbtest.c: Output "Unknown" instead of empty string.
15010 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
15011 (usbserial_common_mod_SOURCES): New variable.
15012 (usbserial_common_mod_CFLAGS): Likewise.
15013 (usbserial_common_mod_LDFLAGS): Likewise.
15014 (pkglib_MODULES): Add usbserial_pl2303.mod.
15015 (usbserial_pl2303_mod_SOURCES): New variable.
15016 (usbserial_pl2303_mod_CFLAGS): Likewise.
15017 (usbserial_pl2303_mod_LDFLAGS): Likewise.
15018 (pkglib_MODULES): Add usbserial_ftdi.mod.
15019 (usbserial_ftdi_mod_SOURCES): New variable.
15020 (usbserial_ftdi_mod_CFLAGS): Likewise.
15021 (usbserial_ftdi_mod_LDFLAGS): Likewise.
15022 (pkglib_MODULES): Add serial.mod.
15023 (serial_mod_SOURCES): New variable.
15024 (serial_mod_CFLAGS): Likewise.
15025 (serial_mod_LDFLAGS): Likewise.
15026 * conf/i386-pc.rmk: Likewise.
15027 * conf/mips-yeeloong.rmk: Likewise.
15028 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
15029 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15030 * disk/usbms.c (first_available_slot): New variable.
15031 (grub_usbms_attach): Don't reuse free slots due to potential cache
15032 problems.
15033 * include/grub/serial.h: Moved to ..
15034 * include/grub/ns8250.h: ...this.
15035 * include/grub/serial.h: New file.
15036 * include/grub/term.h (grub_term_poll_usb): New variable.
15037 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
15038 readkey. All users updated.
15039 (grub_terminfo_output_state): Pass term to put.
15040 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
15041 (grub_usb_controller_dev): Add timeout and actual arguments to
15042 transfer. All users updated.
15043 (grub_usb_interface): New field detach_data.
15044 (grub_usb_device): New fields children and nports.
15045 (grub_usb_ep_type_t): New type.
15046 (grub_usb_get_ep_type): New function.
15047 (grub_usb_bulk_read_extended): Likewise.
15048 * include/grub/usbdesc.h (grub_usb_desc): New type.
15049 * include/grub/usbserial.h: New file.
15050 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
15051 * kern/term.c (grub_term_poll_usb): New variable.
15052 (grub_getkey): Call grub_term_poll_usb if set.
15053 (grub_checkkey): Likewise.
15054 (grub_getkeystatus): Likewise.
15055 * term/serial.c: Moved controller-specific parts to ...
15056 * term/ns8250.c: ... here.
15057 * term/serial.c: Mostly rewritten.
15058 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
15059 according to spec.
15060
15061 2010-08-20 Robert Millan <rmh@gnu.org>
15062
15063 Make kFreeBSD code more generic to support ext2fs as root, ufs as
15064 a separate module and maybe other interesting combinations.
15065
15066 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
15067 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
15068 (kfreebsd_entry): Add generic filesystem module load routine.
15069 Map GRUB `ext2' to kFreeBSD `ext2fs'.
15070
15071 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
15072
15073 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
15074 "numcenter" (I misunderstood the purpose of this entry).
15075 * docs/grub.texi (sendkey): Likewise.
15076
15077 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
15078
15079 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
15080 status flag options; simply omitting the option is equivalent and
15081 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
15082 (keysym_table): Rename "num5numlock" to "numlock".
15083 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
15084 can uniformly say that only the last of multiple `sendkey'
15085 invocations has any effect.
15086 * docs/grub.texi (sendkey): New section.
15087
15088 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
15089
15090 * commands/i386/pc/sendkey.c (options): Fix three typos.
15091
15092 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15093
15094 Implement sendkey support.
15095
15096 * commands/i386/pc/sendkey.c: New file.
15097 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
15098 (sendkey_mod_SOURCES): New variable.
15099 (sendkey_mod_CFLAGS): Likewise.
15100 (sendkey_mod_LDFLAGS): Likewise.
15101
15102 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
15103
15104 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
15105 fix warnings from Autoconf.
15106
15107 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
15108
15109 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
15110 to avoid false positives with some assemblers that output things
15111 like "someprefix_func" as part of their output.
15112
15113 2010-08-15 Robert Millan <rmh@gnu.org>
15114
15115 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
15116 errors.
15117 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
15118 grub_get_libzfs_handle() errors.
15119
15120 2010-08-14 Robert Millan <rmh@gnu.org>
15121
15122 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
15123 filesystem is not ZFS.
15124
15125 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15126
15127 Fix for misspelled color names defaulting to black/black (bug
15128 reported by Doug Nazar)
15129
15130 * include/grub/normal.h (grub_parse_color_name_pair): Add return
15131 status to prototype.
15132 * normal/color.c (grub_parse_color_name_pair): Return failure
15133 status.
15134 (grub_env_write_color_normal): Ignore bad color names.
15135 (grub_env_write_color_highlight): Likewise.
15136 * normal/main.c (GRUB_MOD_INIT): Set default color names.
15137
15138 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15139
15140 "shift" command support to GRUB script.
15141
15142 * include/grub/script_sh.h (grub_script_shift): New prototype.
15143 * script/execute.c (grub_script_shift): New function.
15144 * script/main.c (grub_script_init): Register shift command.
15145 (grub_script_fini): Unregister shift command.
15146 * util/grub-script-check.c (grub_script_cmd_shift): New function.
15147
15148 * tests/grub_script_shift.in: New testcase.
15149 * conf/tests.rmk: Rules for new testcase.
15150
15151 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15152
15153 "continue" command support to GRUB script.
15154
15155 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
15156 (grub_script_break): Continue support.
15157 * script/main.c (grub_script_init): Register continue command.
15158 (grub_script_fini): Unregister continue command.
15159
15160 * tests/grub_script_continue.in: New testcase.
15161 * conf/tests.rmk: Rules for new testcase.
15162
15163 2010-08-12 BVK Chaitanya <bvk@dbook>
15164
15165 "break" command support to GRUB script.
15166
15167 * conf/common.rmk: Rule updates to grub-script-check.
15168 * include/grub/misc.h (grub_min): New function.
15169 * include/grub/script_sh.h (grub_script_init): New prototype.
15170 (grub_script_fini): New prototype.
15171 (grub_script_break): New prototype.
15172 * script/main.c (grub_script_init): New function.
15173 (grub_script_fini): New function.
15174 * script/execute.c (grub_script_break): New function.
15175 * normal/main.c: Calls to grub_script_{init,fini}.
15176 * util/grub-script-check.c (grub_script_break): New function.
15177
15178 * tests/grub_script_break.in: New testcase.
15179 * conf/tests.rmk: Rules for new test case.
15180
15181 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15182
15183 Function parameters support to GRUB script.
15184
15185 * script/yylex.l (VARIABLE): Regular expression update.
15186 * script/function.c (grub_script_function_call): Moved ...
15187 * script/execute.c (grub_script_function_call): ... to here.
15188 (grub_script_execute_arglist_to_argv): Removed.
15189 (grub_script_arglist_to_argv): New function.
15190 * script/argv.c: New file.
15191 (grub_script_argv_free): New function.
15192 (grub_script_argv_next): Likewise.
15193 (grub_script_argv_append): Likewise.
15194 (grub_script_argv_split_append): Likewise.
15195 * include/grub/script_sh.h (grub_script_argv): New struct.
15196 (grub_script_argv_free): New function.
15197 (grub_script_argv_next): Likewise.
15198 (grub_script_argv_append): Likewise.
15199 (grub_script_argv_split_append): Likewise.
15200
15201 * conf/common.rmk (normal.mod): New source script/argv.c.
15202
15203 * tests/grub_script_echo1.in: More tests.
15204 * tests/grub_script_vars1.in: Likewise.
15205 * tests/grub_script_functions.in: New test case.
15206 * conf/tests.rmk: Rules for new testcase.
15207
15208 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15209
15210 Remove grub_script_cmdblock struct.
15211
15212 * include/grub/script_sh.h: Remove grub_script_cmdblock.
15213 * script/parser.y: Likewise.
15214 * script/execute.c: Rename cmdblock suffix to cmdlist.
15215 * script/script.c: Likewise.
15216 * util/grub-script-check.c: Likewise.
15217
15218 2010-08-11 Yves Blusseau <blusseau@zetam.org>
15219
15220 * .bzrignore: add grub-macho2img
15221
15222 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15223
15224 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
15225
15226 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15227
15228 Remove the dump of sm712 initialisation sequence.
15229
15230 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
15231 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
15232 (GRUB_VGA_IO_MISC_WRITE): Likewise.
15233 (GRUB_VGA_CR_*): Added many registers.
15234 (GRUB_VGA_SR_*): Likewise.
15235 (GRUB_VGA_GR_*): Likewise.
15236 (grub_vga_write_arx): New function.
15237 (grub_video_hw_config): New struct.
15238 (grub_vga_set_geometry): New function.
15239 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
15240 GRUB_PCI_CLASS_SUBCLASS_VGA.
15241 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
15242 * video/sm712.c (grub_sm712_write_reg): New function
15243 (grub_sm712_read_reg): Likewise.
15244 (grub_sm712_sr_write): Likewise.
15245 (grub_sm712_gr_write): Likewise.
15246 (grub_sm712_cr_write): Likewise.
15247 (grub_sm712_write_arx): Likewise.
15248 (grub_sm712_cr_shadow_write): Likewise.
15249 (grub_sm712_write_dda_lookup): Likewise.
15250 (grub_video_sm712_setup): Initialise the video rather then
15251 blindly replay the dump.
15252 (main) [TEST]: Add a routine to be able to compile as standalone for
15253 tests.
15254 * video/sm712_init.c (sm712_init): Removed.
15255 (sm712_sr_seq1): New array.
15256 (sm712_sr_seq2): Likewise.
15257
15258 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15259
15260 * include/grub/vga.h: Add missing grub/pci.h include.
15261
15262 2010-08-10 Yves Blusseau <blusseau@zetam.org>
15263
15264 * util/grub-macho2img.c (main): fix typo
15265
15266 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
15269 (grub_vga_gr_read): Likewise.
15270 (grub_vga_cr_write): Likewise.
15271 (grub_vga_cr_read): Likewise.
15272 (grub_vga_sr_write): Likewise.
15273 (grub_vga_sr_read): Likewise.
15274 (grub_vga_palette_read): Likewise.
15275 (grub_vga_palette_write): Likewise.
15276 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
15277 (grub_sm712_sr_read): New function.
15278 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
15279 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
15280
15281 2010-08-09 Robert Millan <rmh@gnu.org>
15282
15283 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
15284 out unused variables on non-ZFS build.
15285
15286 2010-08-08 Robert Millan <rmh@gnu.org>
15287
15288 Fix path generation for sub-filesystems in ZFS.
15289
15290 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
15291 missing slash.
15292
15293 2010-08-08 Robert Millan <rmh@gnu.org>
15294
15295 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
15296
15297 2010-08-08 Robert Millan <rmh@gnu.org>
15298
15299 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
15300 exist, issue a proper error message (rely on `ls' for translated
15301 strings).
15302
15303 2010-08-08 Robert Millan <rmh@gnu.org>
15304
15305 Fix grub-probe invocation.
15306
15307 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
15308
15309 2010-08-04 Robert Millan <rmh@gnu.org>
15310
15311 * configure.ac: Remove checks for getfsstat() and getmntany().
15312 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
15313 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
15314 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
15315 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
15316 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
15317 function.
15318 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
15319 via find_mount_point_from_dir() and getfsstat() / getmntany().
15320
15321 2010-08-04 Robert Millan <rmh@gnu.org>
15322
15323 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15324 (grub_find_zpool_from_mount_point): Merge into ...
15325 (grub_find_zpool_from_dir): ... this.
15326 * kern/emu/misc.c: Likewise.
15327
15328 * kern/emu/misc.c
15329 (grub_make_system_path_relative_to_its_root): Replace
15330 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
15331 with grub_find_zpool_from_dir().
15332 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
15333
15334 2010-08-04 Robert Millan <rmh@gnu.org>
15335
15336 Support OpenSolaris in ZFS device resolution.
15337
15338 * configure.ac: Check for getmntany().
15339 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
15340 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
15341 support.
15342
15343 2010-08-03 Robert Millan <rmh@gnu.org>
15344
15345 Fix grub-emu build.
15346
15347 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
15348 * include/grub/emu/misc.h: ... here.
15349
15350 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
15351 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
15352
15353 * util/misc.c: Remove `<grub/util/libzfs.h>'.
15354 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
15355 (grub_get_libzfs_handle): Move to ...
15356 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
15357 (grub_get_libzfs_handle): ... here.
15358
15359 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
15360
15361 * script/execute.c (grub_script_execute_cmdline): Check for NULL
15362 as command name case.
15363
15364 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
15365
15366 * disk/raid.c (insert_array): Select unique numbers for named arrays
15367 as well, for use as keys in the disk cache.
15368
15369 2010-08-01 Robert Millan <rmh@gnu.org>
15370
15371 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
15372 kFreeBSD device name, except on ZFS where the filesystem label is
15373 used.
15374 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
15375 `/boot/zfs/zpool.cache'.
15376 Set mountfrom kernel variable using ${kfreebsd_device}.
15377
15378 2010-08-01 Robert Millan <rmh@gnu.org>
15379
15380 Make it even harder to use uninitialized `libzfs_handle' (and
15381 make the interface a bit simpler).
15382
15383 * include/grub/util/misc.h (grub_util_init_libzfs)
15384 (libzfs_handle): Remove.
15385 (grub_get_libzfs_handle): New prototype.
15386
15387 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
15388 attribute.
15389 (grub_util_init_libzfs): Remove.
15390 (grub_get_libzfs_handle): New function.
15391
15392 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
15393 grub_get_libzfs_handle() to obtain a libzfs handle instead of
15394 accessing `libzfs_handle' directly.
15395
15396 2010-08-01 Robert Millan <rmh@gnu.org>
15397
15398 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15399 (grub_find_zpool_from_mount_point): New function prototypes.
15400
15401 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15402 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15403
15404 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15405 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15406 `static' attribute.
15407
15408 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15409 finding zpool from mount point into ...
15410 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15411
15412 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15413 requested path is part of a ZFS pool, use
15414 grub_find_zpool_from_mount_point() to detect its filesystem name,
15415 and generate a path with `/fsname@path' syntax.
15416
15417 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
15418
15419 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
15420 (void) rather than () so that this is a proper prototype.
15421
15422 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15423
15424 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
15425
15426 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
15429 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
15430
15431 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
15432
15433 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
15434
15435 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
15436
15437 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
15438
15439 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
15440
15441 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
15442 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
15443 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
15444 disable gfxpayload.
15445 (Shell-like scripting): Add real content.
15446 (Serial terminal): Suggest `terminal_input serial; terminal_output
15447 serial' rather than putting the two commands on separate lines,
15448 since console input will be inoperative after the first command.
15449 (menuentry): Document --class, --users, and --hotkey options.
15450 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
15451 Vladimir Serbinenko).
15452
15453 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15454 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
15455
15456 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
15457
15458 2010-08-01 Robert Millan <rmh@gnu.org>
15459
15460 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15461 (grub_find_zpool_from_mount_point): New function prototypes.
15462
15463 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15464 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15465
15466 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15467 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15468 `static' attribute.
15469
15470 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15471 finding zpool from mount point into ...
15472 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15473
15474 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15475 requested path is part of a ZFS pool, use
15476 grub_find_zpool_from_mount_point() to detect its filesystem name,
15477 and generate a path with `/fsname@path' syntax.
15478
15479 2010-08-01 Robert Millan <rmh@gnu.org>
15480
15481 Prevent accidental use of uninitialized libzfs_handle.
15482
15483 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
15484 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
15485 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
15486
15487 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
15488
15489 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
15490 util/grub.d/10_linux.in). Fixes Debian bug #591093.
15491
15492 2010-08-01 Robert Millan <rmh@gnu.org>
15493
15494 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
15495
15496 2010-07-31 Robert Millan <rmh@gnu.org>
15497
15498 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15499
15500 2010-07-31 Robert Millan <rmh@gnu.org>
15501
15502 * kern/emu/misc.c: Add missing license header.
15503
15504 2010-07-31 Robert Millan <rmh@gnu.org>
15505
15506 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15507
15508 * include/grub/util/libnvpair.h: Include `<config.h>'.
15509 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15510 declaring libnvpair prototypes ourselves.
15511 * include/grub/util/libzfs.h: Include `<config.h>'.
15512 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15513 declaring libzfs prototypes ourselves.
15514
15515 (libzfs_handle): Moved to ...
15516 * include/grub/util/misc.h (libzfs_handle): ... here.
15517 Include `<grub/util/libzfs.h>'.
15518
15519 2010-07-30 Robert Millan <rmh@gnu.org>
15520
15521 * include/grub/emu/misc.h: Add missing license header.
15522
15523 2010-07-30 Robert Millan <rmh@gnu.org>
15524
15525 Enable `grub-probe -t device' resolution on ZFS.
15526
15527 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15528 * include/grub/util/libnvpair.h: New file.
15529 * include/grub/util/libzfs.h: New file.
15530
15531 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15532 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15533 `<grub/util/libnvpair.h>'.
15534 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15535
15536 (find_mount_point_from_dir): New static function.
15537 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15538 function.
15539 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15540 find_root_device_from_libzfs() before ressorting to find_root_device().
15541
15542 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15543 prototype.
15544 * util/misc.c: Include `<grub/util/libzfs.h>'.
15545 (grub_util_init_libzfs): New function.
15546 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15547 [HAVE_LIBZFS] (fini_libzfs): New static function.
15548 (grub_util_init_libzfs): New function.
15549 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15550
15551 2010-07-30 Robert Millan <rmh@gnu.org>
15552
15553 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15554 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15555 `warn_unused_result' attribute.
15556 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15557 (grub_xasprintf, grub_xvasprintf): Likewise.
15558 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15559
15560 2010-07-29 Robert Millan <rmh@gnu.org>
15561
15562 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15563 (probe): Handle `PRINT_FS_LABEL'.
15564 (main): Handle `-t fs_label'.
15565
15566 2010-07-29 Robert Millan <rmh@gnu.org>
15567
15568 * configure.ac: Remove grub-mkisofs checks.
15569
15570 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15571
15572 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15573 Reported by: Lennart Sorensen.
15574
15575 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15576
15577 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15578 prior to terminal_input/terminal_output separation. It's been over 1.5
15579 years and those versions weren't widely deployed.
15580
15581 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
15582
15583 * disk/raid.c (insert_array): Don't count named arrays when looking
15584 for unused array numbers.
15585 Reported and tested by: Michael Guntsche.
15586
15587 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
15588
15589 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15590 implementation of this so that grub-emu links again, with a note
15591 that this should support hotplugging in the future.
15592
15593 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
15594
15595 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15596
15597 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
15598
15599 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15600 handle on failure.
15601 (grub_loopback_close): Remove empty function.
15602 (grub_loopback_dev): Remove close method.
15603
15604 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
15605
15606 Disable EFI cursor when the EFI console becomes inactive.
15607
15608 * term/efi/console.c (grub_efi_console_init): New function.
15609 (grub_efi_console_fini): New function.
15610 (grub_console_term_output): Register init and fini methods.
15611
15612 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15613
15614 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15615 sh script.
15616
15617 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15618
15619 * disk/loopback.c (grub_loopback): Replace filename with file.
15620 (delete_loopback): Handle new semantics.
15621 (grub_cmd_loopback): Likewise.
15622 (grub_loopback_iterate): Likewise.
15623 (grub_loopback_close): Likewise.
15624
15625 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15626
15627 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15628 with -p "".
15629 Reported by: Tito Keitel.
15630
15631 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15632
15633 * docs/grub.texi (Naming convention): Document new naming convention.
15634
15635 2010-07-20 Vadim Solomin <vadic052@gmail.com>
15636 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
15637
15638 Generate device.map in something closer to the old ordering.
15639
15640 * util/deviceiter.c (struct device): New declaration.
15641 (compare_file_names): Rename to ...
15642 (compare_devices): ... this. Sort by kernel name in preference to
15643 the stable by-id name, but keep the latter as a fallback comparison.
15644 Update header comment.
15645 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15646 of `struct device' rather than of plain file names.
15647
15648 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15649
15650 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15651 on i386.
15652
15653 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15654
15655 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15656 hardcoding size.
15657 (setv1table): Likewise.
15658
15659 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
15660
15661 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15662 removing the homehost if present.
15663 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15664 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15665 removing the homehost if present.
15666 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15667 if possible.
15668 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
15669
15670 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
15671 parameter. Set its pointer target to 0.
15672 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
15673 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
15674 `data_offset' value from the superblock for 1.x metadata.
15675 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
15676 data on the device.
15677 (insert_array): Record the start sector of data on the device.
15678 (grub_raid_register): Pass start_sector parameters to
15679 grub_raid_list->detect and insert_array.
15680 * include/grub/raid.h (struct grub_raid_array): Add start_sector
15681 member.
15682 (struct grub_raid): Add start_sector parameter to `detect'.
15683
15684 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
15685 __attribute__ ((packed)), leaving a comment.
15686 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
15687 (grub_mdraid_detect_09): ... here and ...
15688 (grub_mdraid_detect_1x): ... here.
15689
15690 2010-07-20 Peter Henn <peter.henn@web.de>
15691
15692 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
15693 chunk size and disk size, which are already given as sector counts
15694 as distinct from the 0.90 units. Fetch the correct device number
15695 from the role table instead of using the table index.
15696
15697 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
15698
15699 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
15700 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
15701 (WriteMostly1): New macro.
15702 Set array->name to NULL for metadata format 0.90. Add support for
15703 metadata 1.x. Fix some comments.
15704 * disk/raid.c (): Add support for name based RAID arrays. Fix a
15705 few comments.
15706 * util/getroot.c (grub_util_get_grub_dev): Add support for
15707 /dev/md/name style devices.
15708
15709 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
15710
15711 * .bzrignore: Ignore 20_linux_xen.
15712
15713 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
15714
15715 * util/import_unicode.py: Remove unnecessary imports.
15716
15717 2010-07-17 Aleš Nesrsta <starous@volny.cz>
15718
15719 Hotplugging and USB hub support.
15720
15721 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
15722 (grub_ohci): Likewise.
15723 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
15724 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
15725 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
15726 (GRUB_OHCI_CTRL_EDS): Likewise.
15727 (GRUB_OHCI_BULK_EDS): Likewise.
15728 (GRUB_OHCI_TDS): Likewise.
15729 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
15730 (grub_ohci_ed_phys2virt): New function.
15731 (grub_ohci_virt_to_phys): Likewise.
15732 (grub_ohci_td_phys2virt): Likewise.
15733 (grub_ohci_td_virt2phys): Likewise.
15734 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
15735 attachment.
15736 (grub_ohci_find_ed): New function.
15737 (grub_ohci_alloc_td): Likewise.
15738 (grub_ohci_free_td): Likewise.
15739 (grub_ohci_free_tds): Likewise.
15740 (grub_ohci_transfer): Use previously allocated memory.
15741 (grub_ohci_portstatus): Reset status changed bit.
15742 (grub_ohci_detect_dev): Supply status changed.
15743 (grub_ohci_fini_hw): Free memory.
15744 (grub_ohci_restore_hw): Reallocate memory.
15745 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
15746 Reset status change.
15747 (grub_uhci_detect_dev): Supply status_change.
15748 * bus/usb/usb.c (attach_hooks): New var.
15749 (grub_usb_device_attach): New function.
15750 (grub_usb_register_attach_hook_class): Likewise.
15751 (grub_usb_unregister_attach_hook_class): Likewise.
15752 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15753 (grub_usb_add_hub): Reset connection changed bit.
15754 (attach_root_port): New function.
15755 (grub_usb_root_hub): Likewise.
15756 (poll_nonroot_hub): Likewise.
15757 (grub_usb_poll_devices): Likewise.
15758 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15759 * disk/usbms.c (grub_usbms_open): Use device hooks.
15760 (grub_usbms_iterate) :Poll devices.
15761 (grub_usbms_finddevs): Split into ...
15762 (grub_usbms_attach): ... this ...
15763 (grub_usbms_attach): ... and this.
15764 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15765 in detect_dev.
15766 (grub_usb_interface): New fields attached and detach_hook.
15767 (grub_usb_attach_hook_class): New type.
15768 (grub_usb_attach_desc): New struct.
15769 (grub_usb_register_attach_hook_class): New function.
15770 (grub_usb_unregister_attach_hook_class): Likewise.
15771 (grub_usb_poll_devices): Likewise.
15772 (grub_usb_device_attach): Likewise.
15773 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15774 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15775
15776 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
15779 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
15780 delta determination style. Works with most NetBSD partitions too.
15781
15782 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
15785 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
15786
15787 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15788
15789 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
15790
15791 2010-07-14 Anton Blanchard <anton@samba.org>
15792
15793 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
15794 ET_DYN files.
15795
15796 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15797
15798 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
15799
15800 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15801
15802 * kern/partition.c (grub_partition_check_containment): New function to
15803 check that a partition is physically contained in a parent. Since
15804 offsets are relative (and non-negative), this reduces to checking that
15805 the partition ends before its parent.
15806 (grub_partition_map_probe): Discard out-of-range sub-partitions.
15807 (grub_partition_iterate): Likewise.
15808 * include/grub/partition.h (grub_partition_map): Slightly more detailed
15809 comments.
15810 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
15811 partitions that start before their parent, and add debug printfs.
15812
15813 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
15814
15815 * Makefile.in (.SUFFIX): Spell correctly, as ...
15816 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
15817 bare module name without `.mod', e.g. `test') tried to invoke a
15818 Modula-2 compiler.
15819
15820 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
15821
15822 * README: Point to the Info manual.
15823
15824 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
15825
15826 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
15827 2nd superblock position from partition size.
15828
15829 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
15830
15831 * Makefile.in (MAINTAINER_CLEANFILES): Remove
15832 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
15833 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
15834 outputs.
15835
15836 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15837
15838 Restructure SCSI .id handling.
15839 Reported and tested by: Aleš Nesrsta.
15840
15841 * disk/ata.c (grub_atapi_close): Removed. All users updated.
15842 (grub_atapi_dev): Changed .name to "ata". New field .id.
15843 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
15844 (grub_usbms_dev): New field .id.
15845 * disk/scsi.c (grub_scsi_iterate): Generate name.
15846 (grub_scsi_open): Parse name.
15847 * include/grub/scsi.h (grub_make_scsi_id): New function.
15848 (grub_scsi_dev): Change iterate and open to number instead of naming
15849 busses. All users updated.
15850 (grub_scsi): Remove name. Add .bus.
15851
15852 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15853
15854 * commands/help.c (grub_cmd_help): Fix a typo.
15855
15856 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
15859 Reported and tested by: Colin Watson.
15860
15861 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15862
15863 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
15864 in this context.
15865
15866 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15867
15868 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
15869
15870 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
15871
15872 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
15873 indentation.
15874
15875 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
15876
15877 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
15878 and disk/raid6_recover.c.
15879 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15880 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15881
15882 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
15883
15884 * term/gfxterm.c (repaint_schedulded): Rename to ...
15885 (repaint_scheduled): ... this. Update all callers.
15886 (repaint_was_schedulded): Rename to ...
15887 (repaint_was_scheduled): ... this. Update all callers.
15888
15889 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
15890
15891 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
15892 which we expect to be handled by upper layers.
15893
15894 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
15895
15896 * bus/usb/usbhub.c: #include time.h header.
15897
15898 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
15899
15900 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
15901 entry_name also for entries without stat blocks (e.g. ".."); fixes
15902 corruption of the first entry in a directory.
15903
15904 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
15905
15906 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
15907 after setting gfxterm as the active terminal. GRUB_BACKGROUND
15908 doesn't work otherwise.
15909
15910 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
15911
15912 * docs/grub.texi (Features): Update list of supported file systems.
15913 (GNU/Linux): Update for GRUB 2.
15914 (Serial terminal): Remove mention of --disable-serial, which was a
15915 GRUB Legacy configure option. Update instructions to use
15916 `terminal_input' and `terminal_output' rather than `terminal'.
15917 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
15918 configuration' and `Installing GRUB using grub-install'.
15919 (Menu entry editor): Update for GRUB 2.
15920 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
15921 Document new -a, -u, and -v options.
15922 (initrd): New section.
15923 (initrd16): New section.
15924 (linux): New section.
15925 (linux16): New section.
15926 (search): The `var' argument to `--set' is optional.
15927 (GRUB only offers a rescue shell): Go into a little more detail on
15928 drive ordering.
15929
15930 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
15931
15932 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
15933
15934 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
15935
15936 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
15937 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
15938
15939 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
15940
15941 * util/i386/pc/grub-setup.c (setup): Rename prefix to
15942 install_prefix, in line with install_dos_part and install_bsd_part.
15943 Add new prefix variable, which is copied to install_prefix after
15944 comparing core.img in memory with the one read from disk in the
15945 no-embedding case, and use that rather than overwriting
15946 install_prefix immediately when installing to a partition.
15947 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
15948 Bicakci.
15949
15950 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15951
15952 * configure.ac: Avoid == in test command, it's not portable.
15953 * util/grub.d/30_os-prober.in: Likewise.
15954
15955 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
15956
15957 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
15958
15959 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15960
15961 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
15962 multiple (top-level) partmaps.
15963
15964 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15965
15966 * util/i386/efi/grub-install.in: Don't use empty grub_device.
15967 Reported by: Tino Keitel.
15968
15969 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15970
15971 Bidi and diacritics support.
15972
15973 * Makefile.in (widthspec.bin): New target.
15974 (widthspec.h): Likewise.
15975 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
15976 * autogen.sh: Generate unidata.c.
15977 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
15978 * commands/ls.c (grub_ls_list_devices): Likewise.
15979 (grub_ls_list_files): Likewise.
15980 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
15981 (grub_mini_cmd_lsmod): Likewise.
15982 * commands/read.c: Likewise.
15983 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
15984 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
15985 * lib/arg.c (grub_arg_show_help): Likewise.
15986 * lib/crypto.c (grub_password_get): Likewise.
15987 * normal/auth.c (grub_username_get): Likewise.
15988 * normal/misc.c (grub_normal_print_device_info): Likewise.
15989 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
15990 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
15991 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
15992 (normal/charset.c_DEPENDENCIES): New variable.
15993 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
15994 (pkglib_MODULES): Remove charset.mod.
15995 (charset_mod_SOURCES): Removed.
15996 (charset_mod_CFLAGS): Likewise.
15997 (charset_mod_LDFLAGS): Likewise.
15998 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
15999 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
16000 and term/tparm.c.
16001 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16002 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16003 (kernel_img_HEADERS): Add terminfo.h.
16004 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
16005 Fill ->font. Reverse ascii bitmaps.
16006 (grub_font_get_xheight): New function.
16007 * font/font.c (grub_font_get_string_width): Moved from here ...
16008 * gfxmenu/font.c (grub_font_get_string_width): ... here.
16009 * font/font.c (grub_font_draw_string): Moved from here ...
16010 * gfxmenu/font.c (grub_font_draw_string): ... here.
16011 * font/font.c (grub_font_dup_glyph): New function.
16012 (grub_font_blit_glyph): Likewise.
16013 (grub_font_blit_glyph_mirror): Likewise.
16014 (blit_comb): Likewise.
16015 (grub_font_construct_dry_run): Likewise.
16016 (grub_font_get_constructed_device_width): Likewise.
16017 (grub_font_construct_glyph): Likewise.
16018 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
16019 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
16020 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
16021 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
16022 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
16023 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
16024 (grub_font_get_xheight): New proto.
16025 (grub_font_get_constructed_device_width): Likewise.
16026 (grub_font_construct_glyph): Likewise.
16027 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
16028 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
16029 * include/grub/font.h (grub_font_draw_string): Moved from here ...
16030 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
16031 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
16032 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
16033 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
16034 (grub_console_getcharwidth): Likewise.
16035 * include/grub/misc.h (grub_xputs): New proto.
16036 (grub_puts): Inlined.
16037 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
16038 (grub_normal_get_line_counter): Removed.
16039 (grub_install_newline_hook): Likewise.
16040 (grub_normal_get_char_counter): New proto.
16041 (grub_normal_reset_more): Likewise.
16042 (grub_xputs_normal): Likewise.
16043 * include/grub/powerpc/ieee1275/console.h: Removed.
16044 * include/grub/sparc64/ieee1275/console.h: Likewise.
16045 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
16046 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
16047 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
16048 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
16049 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
16050 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
16051 (grub_term_input): Pass reference to self. All users updated.
16052 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
16053 Pass reference to self. New fields normal_color, highlight_color and
16054 data. All users updated.
16055 (grub_putchar): Removed.
16056 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
16057 (grub_unicode_estimate_width): New function.
16058 (grub_term_getcharwidth): Add defaults.
16059 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
16060 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
16061 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
16062 (grub_cls): Remove EXPORT_FUNC.
16063 (grub_setcolorstate): Inline.
16064 (grub_newline_hook): Removed.
16065 * include/grub/terminfo.h: Rewritten. All users updated.
16066 * include/grub/unicode.h: New file.
16067 * include/grub/video.h (grub_video_signed_rect): New type.
16068 * kern/emu/console.c (grub_console_highlight_color): Removed.
16069 (grub_console_normal_color): Likewise.
16070 (grub_console_standard_color): Made static.
16071 (grub_ncurses_putchar): Remove mapping.
16072 (grub_ncurses_getcharwidth): Removed.
16073 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16074 (grub_ncurses_setcolor): Removed.
16075 (grub_ncurses_getcolor): Likewise.
16076 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
16077 (grub_console_putchar): ... this.
16078 (grub_console_putchar): Handle argument difference.
16079 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
16080 console_init_early and console_init_lately.
16081 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
16082 * kern/misc.c (grub_puts): Removed.
16083 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
16084 (grub_vsnprintf_real): Remove str = NULL support.
16085 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
16086 * normal/charset.c (grub_utf8_to_ucs4): ... here.
16087 * kern/term.c (grub_putcode): Renamed to ...
16088 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
16089 (grub_putchar): Removed.
16090 (grub_xputs_dumb): New function.
16091 (grub_xputs): New variable.
16092 * lib/charset.c: Move from here ...
16093 * normal/charset.c: ... to here.
16094 (grub_ucs4_to_utf8): New function.
16095 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
16096 (join_types): New variable.
16097 (unpack_join): New function.
16098 (bidi_types): New variable.
16099 (unpack_bidi): New function.
16100 (get_bidi_type): Likewise.
16101 (get_join_type): Likewise.
16102 (is_mirrored): Likewise.
16103 (grub_unicode_get_comb_type): Likewise.
16104 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
16105 (is_type_after): Likewise.
16106 (grub_unicode_aglomerate_comb): Likewise.
16107 (bidi_line_wrap): Likewise.
16108 (grub_bidi_line_logical_to_visual): Likewise.
16109 (grub_bidi_logical_to_visual): Likewise.
16110 (grub_unicode_mirror_code): Likewise.
16111 (grub_unicode_shape_code): Likewise.
16112 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
16113 Don't use grub_putchar.
16114 * normal/main.c (grub_normal_init_page): Use grub_putcode.
16115 (grub_normal_reader_init): Likewise.
16116 (grub_xputs_saved): New variable.
16117 (GRUB_MOD_INIT): Set grub_xputs.
16118 (GRUB_MOD_FINI): Restore grub_xputs.
16119 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
16120 (menu_init): Avoid printing gfxmenu error.
16121 (show_menu): Use grub_normal_get_char_counter.
16122 * normal/menu_entry.c (update_screen): Fix out-of-array.
16123 (complete): Avoid NULL dereferencing.
16124 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
16125 * normal/menu_text.c (print_spaces): Removed.
16126 (grub_print_ucs4): Likewise.
16127 (grub_print_message_indented): Use grub_print_ucs4.
16128 (print_message): Use grub_putcode.
16129 (print_entry): Hanlde diacritics.
16130 * normal/term.c (term_state): New type.
16131 (grub_more_lines): Removed.
16132 (term_states): New variable.
16133 (grub_normal_line_counter): Renamed to ..
16134 (grub_normal_char_counter): ...this. All users updated.
16135 (grub_normal_get_line_counter): Renamed to ...
16136 (grub_normal_get_char_counter): ... this.
16137 (grub_normal_reset_more): New function.
16138 (process_newline): Removed.
16139 (print_more): New function.
16140 (grub_install_newline_hook): Removed.
16141 (map_code): New function.
16142 (grub_puts_terminal): Use grub_print_ucs4.
16143 (putglyph): New function.
16144 (putcode_real): Likewise.
16145 (grub_putcode): Use putcode_real.
16146 (get_maxwidth): New function.
16147 (get_startwidth): Likewise.
16148 (print_ucs4_terminal): Likewise.
16149 (find_term_state): Likewise.
16150 (put_glyphs_terminal): Likewise.
16151 (print_backlog): Likewise.
16152 (print_ucs4_real): Likewise.
16153 (grub_print_ucs4): Likewise.
16154 (grub_xputs_normal): Likewise.
16155 * term/efi/console.c (grub_console_putchar): Output diacritics.
16156 (grub_console_getcharwidth): Removed.
16157 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16158 * term/gfxterm.c (clear_char): Free chars.
16159 (scroll_up): Avoid leaking memory.
16160 (grub_gfxterm_putchar): Support diacritics.
16161 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16162 * term/i386/pc/console.c (grub_console_term_output): Declare as
16163 GRUB_TERM_CODE_TYPE_VGA.
16164 * term/i386/pc/vga.c (grub_vga_term): Declare as
16165 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
16166 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
16167 GRUB_TERM_CODE_TYPE_VGA.
16168 * term/i386/vga_common.c (map_char): Removed.
16169 (grub_console_putchar): Likewise.
16170 (grub_console_getcharwidth): Likewise.
16171 * term/ieee1275/ofconsole.c: Simplify using terminfo.
16172 (colors): Reordered to match terminfo.
16173 (grub_ofconsole_normal_color): Removed.
16174 (grub_ofconsole_writeesc): Likewise.
16175 (grub_ofconsole_highlight_color): Likewise.
16176 (grub_ofconsole_getcharwidth): Likewise.
16177 (grub_ofconsole_setcolorstate): Likewise.
16178 (grub_ofconsole_setcolor): Likewise.
16179 (grub_ofconsole_getcolor): Likewise.
16180 (grub_ofconsole_readkey): Renamed to ...
16181 (readkey): ... this. Remove escape sequence handling. Return -1 on no
16182 key.
16183 (grub_ofconsole_checkkey): Removed.
16184 (grub_ofconsole_getkey): Likewise.
16185 (grub_ofconsole_getxy): Likewise.
16186 (grub_ofconsole_gotoxy): Likewise.
16187 (grub_ofconsole_cls): Likewise.
16188 (grub_ofconsole_refresh): Likewise.
16189 (grub_ofconsole_terminfo_input): New struct.
16190 (grub_ofconsole_terminfo_output): Likewise.
16191 (grub_ofconsole_term_input): Use terminfo.
16192 (grub_ofconsole_term_output): Likewise.
16193 (grub_console_init): Split into ...
16194 (grub_console_init_early): ...this and ...
16195 (grub_console_init_lately): ...this. Use terminfo.
16196 (grub_ofconsole_putchar): Renamed to ...
16197 (put): ... this. Remove mapping.
16198 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16199 * term/serial.c: Simplify using terminfo.
16200 (xpos): Removed.
16201 (ypos): Likewise.
16202 (keep_track): Likewise.
16203 (registered): Likewise.
16204 (input_buf): Likewise.
16205 (npending): Likewise.
16206 (serial_translate_key_sequence): Likewise.
16207 (fill_input_buf): Likewise.
16208 (grub_serial_checkkey): Likewise.
16209 (grub_serial_getkey): Likewise.
16210 (grub_serial_getxy): Likewise.
16211 (grub_serial_gotoxy): Likewise.
16212 (grub_serial_putchar): Likewise.
16213 (grub_serial_cls): Likewise.
16214 (grub_serial_setcolorstate): Likewise.
16215 (grub_serial_setcursor): Likewise.
16216 (serial_hw_init): Use serial_hw_fetch.
16217 (grub_serial_terminfo_input): New variable.
16218 (grub_serial_terminfo_output): Likewise.
16219 (grub_serial_term_input): Use terminfo.
16220 (grub_serial_term_output): Likewise.
16221 * term/terminfo.c (putstr): Use put.
16222 (grub_terminfo_all_free): New function
16223 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
16224 (grub_terminfo_output_register): New function.
16225 (grub_terminfo_output_unregister): Likewise.
16226 (grub_terminfo_getxy): Likewise.
16227 (grub_terminfo_readkey): Likewise.
16228 (grub_terminfo_checkkey): Likewise.
16229 (grub_terminfo_getkey): Likewise.
16230 (grub_terminfo_input_init): Likewise.
16231 (print_terminfo): Likewise.
16232 (grub_cmd_terminfo): Handle encoding.
16233 (grub_terminfo_gotoxy): Track position.
16234 (grub_terminfo_cls): Likewise.
16235 (grub_terminfo_putchar): Likewise.
16236 (grub_terminfo_setcolorstate): Handle colors
16237 (grub_terminfo_cursor_on): This ...
16238 (grub_terminfo_cursor_off): ... and this merged into ...
16239 (grub_terminfo_setcursor): ... this.
16240 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
16241 * unicode/ArabicShaping.txt: New file (imported from Unicode).
16242 * unicode/BidiMirroring.txt: Likewise.
16243 * unicode/UnicodeData.txt: Likewise.
16244 * unicode/COPYING: Likewise.
16245 * util/grub-editenv.c (grub_putchar): Removed.
16246 (grub_xputs_real): New function.
16247 (grub_xputs): New variable.
16248 * util/grub-fstest.c (grub_putchar): Removed.
16249 (grub_xputs_real): New function.
16250 (grub_xputs): New variable.
16251 * util/grub-mkdevicemap.c (grub_putchar): Removed.
16252 (grub_xputs_real): New function.
16253 (grub_xputs): New variable.
16254 * util/grub-probe.c (grub_putchar): Removed.
16255 (grub_xputs_real): New function.
16256 (grub_xputs): New variable.
16257 * util/grub-script-check.c (grub_putchar): Removed.
16258 (grub_xputs_real): New function.
16259 (grub_xputs): New variable.
16260 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
16261 (grub_xputs_real): New function.
16262 (grub_xputs): New variable.
16263 * util/import_unicode.py: New file.
16264 * util/grub-mkfont.c (ft_errmsgs): New array.
16265 (grub_glyph_info): Make bitmap a pointer.
16266 (file_formats): New type WIDTH_SPEC.
16267 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
16268 (options): Add width-spec.
16269 (help): Likewise.
16270 (add_char): Renamed to ...
16271 (add_glyph): ... this.
16272 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
16273 (glyph_replace): New type.
16274 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
16275 (add_char): New function.
16276 (add_subst): Likewise.
16277 (process_cursive): Likewise.
16278 (add_font): Handle GSUB.
16279 (write_font_width_spec): New function.
16280 (main): Sort glyphs.
16281 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
16282 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
16283 * kern/term.c (grub_cls): Moved from here...
16284 * normal/term.c (grub_cls): ... here.
16285
16286 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
16287
16288 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
16289 suitable for using within the format argument of printf when
16290 converting grub_size_t.
16291 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
16292 "x" to convert grub_size_t arguments.
16293
16294 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
16297 too long captions.
16298 (list_get_minimal_size): Take selection box into account.
16299
16300 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16301
16302 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
16303 NULL font.
16304
16305 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
16306
16307 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
16308 devices when iterating over /dev/disk/by-id; they will be handled
16309 later if appropriate, which they aren't always (e.g. LVM).
16310
16311 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
16312
16313 * include/grub/misc.h (grub_reboot): Declare as noreturn.
16314 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
16315 fails.
16316 (grub_halt): Likewise.
16317 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
16318 reset-all fails.
16319 (grub_halt): Don't return, even if all of shut-down, power-off, and
16320 poweroff fail.
16321
16322 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
16323
16324 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
16325 arguments, not three.
16326
16327 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
16328
16329 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
16330 * util/grub.d/10_linux.in: Use it to check for LVM, so that
16331 LVM-on-RAID is handled correctly.
16332
16333 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
16334
16335 * docs/grub.texi (Changes from GRUB Legacy): New section.
16336 (Future): Fix typo.
16337
16338 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
16339
16340 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
16341 grub.d/README accidentally ends up executable for one reason or
16342 another. Ignore it.
16343
16344 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16345
16346 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
16347 (gpt_partition_map_iterate): Support non-512B sectors.
16348
16349 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16350
16351 * kern/efi/init.c (grub_efi_init): Disable watchdog.
16352 Tested by: Seth Goldberg.
16353
16354 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16355
16356 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
16357 Properly align mbi.
16358 Reported by: Seth Goldberg.
16359
16360 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16361
16362 * util/grub-mkrescue.in: Avoid module duplication.
16363
16364 2010-07-01 Sean Finney <seanius@seanius.net>
16365
16366 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
16367
16368 2010-07-01 Sean Finney <seanius@seanius.net>
16369
16370 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
16371
16372 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16373
16374 * disk/lvm.c (grub_lvm_checkvalue): New function.
16375 (grub_lvm_check_flag): Likewise.
16376
16377 2010-07-01 Robert Millan <rmh@gnu.org>
16378
16379 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
16380 Support 'p' as partition separator on kernel of FreeBSD (used
16381 with GPT labels).
16382 (grub_util_biosdisk_get_grub_dev): Likewise.
16383
16384 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16385
16386 Yeeloong firmware port.
16387
16388 * boot/mips/yeeloong/fwstart.S: New file.
16389 * bus/cs5536.c (gpiodump): New const.
16390 (set_io_space): New function.
16391 (set_iod): Likewise.
16392 (set_p2d): Likewise.
16393 (grub_cs5536_init_geode): Likewise.
16394 * commands/mips/yeeloong/lsspd.c: New file.
16395 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
16396 (serial_mod_SOURCES): New variable.
16397 (serial_mod_CFLAGS): Likewise.
16398 (serial_mod_LDFLAGS): Likewise.
16399 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
16400 term/terminfo.c and term/tparm.c.
16401 (pkglib_IMAGES): Add fwstart.img.
16402 (fwstart_img_SOURCES): New variable.
16403 (fwstart_img_CFLAGS): Likewise.
16404 (fwstart_img_ASFLAGS): Likewise.
16405 (fwstart_img_LDFLAGS): Likewise.
16406 (fwstart_img_FORMAT): Likewise.
16407 (pkglib_MODULES): Add lsspd.mod.
16408 (lsspd_mod_SOURCES): New variable.
16409 (lsspd_mod_CFLAGS): Likewise.
16410 (lsspd_mod_LDFLAGS): Likewise.
16411 (pkglib_MODULES): Add halt.mod.
16412 (halt_mod_SOURCES): New variable.
16413 (halt_mod_CFLAGS): Likewise.
16414 (halt_mod_LDFLAGS): Likewise.
16415 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
16416 (serial_mod_SOURCES): Removed.
16417 (serial_mod_CFLAGS): Likewise.
16418 (serial_mod_LDFLAGS): Likewise.
16419 * disk/ata.c (check_device): New function.
16420 (grub_ata_device_initialize): Use check_device.
16421 (grub_ata_iterate): Recheck devices.
16422 (grub_ata_open): Likewise.
16423 (grub_atapi_iterate): Likewise.
16424 (grub_atapi_open): Likewise.
16425 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
16426 (GRUB_ATA_CH1_PORT1): Likewise.
16427 (GRUB_ATA_CH0_PORT2): Likewise.
16428 (GRUB_ATA_CH1_PORT2): Likewise.
16429 * include/grub/mips/loongson.h: New file.
16430 * include/grub/mips/yeeloong/ec.h: Likewise.
16431 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
16432 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
16433 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
16434 * include/grub/misc.h (grub_halt): Declare as noreturn.
16435 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
16436 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
16437 (UART_ENABLE_FIFO_TRIGGER1): New definition.
16438 (UART_ENABLE_DTRRTS): Likewise.
16439 (UART_ENABLE_MODEM): Removed.
16440 (UART_ENABLE_OUT2): New const.
16441 * include/grub/term.h (grub_term_register_input_active): New function.
16442 (grub_term_register_output_active): Likewise.
16443 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
16444 argument.
16445 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
16446 (init_pci): New function.
16447 (grub_machine_init): Execute platform init when firmware. Init serial.
16448 (grub_halt): Implement.
16449 (grub_exit): Likewise.
16450 (grub_reboot): Likewise.
16451 * term/serial.c (serial_hw_init): Update macros.
16452 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
16453 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
16454 (image_targets): New target mipsel-yeeloong-flash.
16455 (generate_image): Support IMAGE_YEELOONG_FLASH.
16456 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
16457 (grub_video_sm712_setup): Init card.
16458 (grub_video_sm712_set_palette): Removed.
16459 * video/sm712_init.c: New file.
16460
16461 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
16462
16463 * Makefile.in (install-local): Temporarily prepend $(builddir) to
16464 PATH when running help2man and then run it on the unadorned
16465 executable names, rather than passing $(builddir)/* paths to
16466 help2man. This avoids the build directory ending up in generated
16467 manual pages.
16468
16469 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
16470
16471 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
16472 to avoid accidents when debugging with 'sh -x'.
16473 * util/grub-mkrescue.in: Likewise.
16474 * util/grub.d/00_header.in: Likewise.
16475 * util/grub.d/10_hurd.in: Likewise.
16476 * util/grub.d/10_kfreebsd.in: Likewise.
16477 * util/grub.d/10_linux.in: Likewise.
16478 * util/grub.d/10_netbsd.in: Likewise.
16479 * util/grub.d/10_windows.in: Likewise.
16480 * util/grub.d/20_linux_xen.in: Likewise.
16481 * util/grub.d/30_os-prober.in: Likewise.
16482 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16483
16484 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
16485
16486 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
16487 last character in the buffer.
16488 Reported by: Vladimir Serbinenko.
16489
16490 2010-06-29 Robert Millan <rmh@gnu.org>
16491
16492 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
16493 (Command-line and menu entry commands): Document `badram' command.
16494
16495 2010-06-28 Robert Millan <rmh@gnu.org>
16496
16497 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16498 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16499 command using ${GRUB_BADRAM} as parameter.
16500
16501 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
16502
16503 * docs/grub.texi (Device map): New section.
16504 (Themes): New section (stub).
16505 * Makefile.in (docs/grub.info): The info documentation now builds
16506 without errors. Make sure it stays that way.
16507
16508 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16509
16510 Use normal parser for menu entries.
16511 Reported by: Thomas Frauendorfer
16512
16513 * include/grub/parser.h (grub_parser_execute): Don't export.
16514 * normal/menu.c (grub_menu_execute_entry_real): New function.
16515 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16516
16517 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
16518
16519 * docs/grub.texi (Embedded configuration): New section (replacing
16520 old "Preset Menu" stub).
16521 (Images): New section.
16522 (configfile): Note that any menu entries defined in `file' are shown
16523 immediately.
16524
16525 2010-06-28 Josh Triplett <josh@joshtriplett.org>
16526
16527 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16528
16529 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
16530
16531 * util/grub-install.in: Add --debug-image= option.
16532
16533 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
16534
16535 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16536 possible on Linux.
16537
16538 * util/deviceiter.c (check_device): Rename to ...
16539 (check_device_readable_unique): ... this. Update all callers.
16540 Maintain and check a list of which devices (by canonicalized name)
16541 have already been seen.
16542 (clear_seen_devices): New function.
16543 (compare_file_names) [__linux__]: New function.
16544 (grub_util_iterate_devices): Clear the list of seen devices on exit
16545 and (just in case) on entry.
16546 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16547 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16548 seen-devices list, superseded by general code in check_device.
16549
16550 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
16551
16552 * commands/cat.c (options): New variable.
16553 (grub_cmd_cat): Parse options. If the --dos option is given, print
16554 DOS-style "\r\n" line endings as simple newlines (Debian bug
16555 #586358).
16556 (GRUB_MOD_INIT): Use extcmd.
16557 (GRUB_MOD_FINI): Likewise.
16558 * docs/grub.texi (cat): Document --dos.
16559
16560 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16561
16562 XEN with Linux grub-mkconfig support.
16563
16564 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16565 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16566 GRUB_CMDLINE_XEN_DEFAULT.
16567 * util/grub.d/20_linux_xen.in: New file.
16568
16569 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 Initialise VGA video on qemu ourselves.
16572
16573 * boot/i386/qemu/boot.S: Don't call 0xc000.
16574 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16575 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16576 (kernel_img_HEADERS): Add pci.h.
16577 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16578 * configure.ac: Force unifont on qemu and yeeloong.
16579 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16580 (grub_vga_palette_write): Use correct register.
16581 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16582 Call grub_qemu_init_cirrus.
16583 * kern/i386/qemu/init.c: New file.
16584 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16585
16586 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16587
16588 2010-06-26 Pavel Roskin <proski@gnu.org>
16589
16590 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16591 13.
16592
16593 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
16594
16595 * docs/grub.texi (Simple configuration): Explain that
16596 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16597 set to `true' to disable their respective recovery entries, not
16598 merely set.
16599
16600 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
16601
16602 Make the `source' command slightly faster.
16603
16604 * normal/main.c (grub_normal_execute): Don't re-read list files when
16605 nested.
16606
16607 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
16608
16609 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16610 field position and mask size to red fields from mode_info, not
16611 green.
16612 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16613 Remove redundant tag->common.framebuffer_type assignment.
16614 Reported by: Seth Goldberg.
16615
16616 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
16617
16618 Sync up other versions of the Linux loader with Robert Millan's
16619 change of 2010-01-09, "Make loader output a bit more user-friendly".
16620
16621 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16622 grub_dprintf().
16623 (grub_cmd_linux): Likewise.
16624 (grub_cmd_initrd): Likewise.
16625 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16626 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16627
16628 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
16629
16630 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16631 larger than MEMORY_MAP_SIZE.
16632
16633 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16634
16635 Fix parallel build.
16636
16637 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16638 dependency.
16639 * script/parser.y: #include grub_script.tab.h header.
16640
16641 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16642
16643 Support >3GiB and <16MiB RAM in i386-qemu.
16644
16645 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16646 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16647 (grub_lower_mem): Removed.
16648 (grub_upper_mem): Likewise.
16649 (mem_size): Made static.
16650 (above_4g): New variable.
16651 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16652 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16653 support.
16654
16655 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16656
16657 Cirrus 5446 and Bochs video cards support.
16658
16659 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16660 video_bochs.mod
16661 (video_cirrus_mod_SOURCES): New variable.
16662 (video_cirrus_mod_CFLAGS): Likewise.
16663 (video_cirrus_mod_LDFLAGS): Likewise.
16664 (video_bochs_mod_SOURCES): Likewise.
16665 (video_bochs_mod_CFLAGS): Likewise.
16666 (video_bochs_mod_LDFLAGS): Likewise.
16667 * include/grub/vga.h: New file.
16668 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
16669 (grub_video_fb_set_page_t): New type.
16670 (grub_video_fb_setup): New prototype.
16671 (grub_video_fb_swap_buffers): Likewise.
16672 (grub_video_fb_get_info_and_fini): Likewise.
16673 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
16674 (CRTC_DATA_PORT): Likewise.
16675 (CRTC_CURSOR): Likewise.
16676 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16677 (CRTC_CURSOR_ADDR_LOW): Likewise.
16678 (CRTC_CURSOR_DISABLE): Likewise.
16679 (update_cursor): Use grub_vga_cr_write.
16680 (grub_vga_text_setcursor): Likewise.
16681 * video/bochs.c: New file.
16682 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
16683 (palette): Likewise.
16684 (palette_size): Likewise.
16685 (framebuffer): New variable.
16686 (grub_video_fb_init): Use 'framebuffer'.
16687 (grub_video_fb_fini): Likewise.
16688 (grub_video_fb_get_info): Likewise.
16689 (grub_video_fb_get_palette): Likewise.
16690 (grub_video_fb_set_palette): Likewise.
16691 (grub_video_fb_set_viewport): Likewise.
16692 (grub_video_fb_get_viewport): Likewise.
16693 (grub_video_fb_map_color): Likewise.
16694 (grub_video_fb_map_rgb): Likewise.
16695 (grub_video_fb_map_rgba): Likewise.
16696 (grub_video_fb_unmap_color): Likewise.
16697 (grub_video_fb_unmap_color_int): Likewise.
16698 (grub_video_fb_fill_rect): Likewise.
16699 (grub_video_fb_blit_bitmap): Likewise.
16700 (grub_video_fb_blit_render_target): Likewise.
16701 (grub_video_fb_scroll): Likewise.
16702 (grub_video_fb_create_render_target): Likewise.
16703 (grub_video_fb_doublebuf_blit_init): Likewise.
16704 (grub_video_fb_set_active_render_target): Handle doublebuffering.
16705 (doublebuf_pageflipping_update_screen): New function.
16706 (doublebuf_pageflipping_init): Likewise.
16707 (grub_video_fb_setup): Likewise.
16708 (grub_video_fb_swap_buffers): Likewise.
16709 (grub_video_fb_get_info_and_fini): Likewise.
16710 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
16711 All users updated.
16712 (doublebuf_pageflipping_commit): Restructured into ...
16713 (doublebuf_pageflipping_set_page): ... this.
16714 (doublebuf_pageflipping_update_screen): Removed.
16715 (doublebuf_pageflipping_init): Likewise.
16716 (double_buffering_init): Likewise.
16717 (grub_video_vbe_setup): Use grub_video_fb_setup.
16718 (grub_video_vbe_swap_buffers): Removed.
16719 (grub_video_vbe_set_active_render_target): Likewise.
16720 (grub_video_vbe_get_active_render_target): Likewise.
16721 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
16722 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
16723 grub_video_fb_set_active_render_target and
16724 grub_video_fb_get_active_render_target.
16725 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
16726 (SEQUENCER_DATA_PORT): Likewise.
16727 (MAP_MASK_REGISTER): Likewise.
16728 (CRTC_ADDR_PORT): Likewise.
16729 (CRTC_DATA_PORT): Likewise.
16730 (START_ADDR_HIGH_REGISTER): Likewise.
16731 (START_ADDR_LOW_REGISTER): Likewise.
16732 (GRAPHICS_ADDR_PORT): Likewise.
16733 (GRAPHICS_DATA_PORT): Likewise.
16734 (READ_MAP_REGISTER): Likewise.
16735 (INPUT_STATUS1_REGISTER): Likewise.
16736 (INPUT_STATUS1_VERTR_BIT): Likewise.
16737 (get_map_mask): Use grub_vga_sr_read.
16738 (set_map_mask): Use grub_vga_sr_write.
16739 (set_read_map): Use grub_vga_gr_write.
16740 (set_start_address): Use grub_vga_cr_write.
16741 * video/sm712.c (framebuffer): Remove leftover fields.
16742
16743 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
16744
16745 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
16746 setting GRUB_VIDEO_BACKEND. Make it available as a user override
16747 instead. Replace the gfxterm backend check with a check that
16748 ${GRUB_PREFIX}/video.lst is non-empty.
16749 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16750 again.
16751 (load_video): New generated function. Call it before loading
16752 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16753 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16754 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16755 * docs/grub.texi (Simple configuration): Document
16756 GRUB_VIDEO_BACKEND.
16757
16758 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 Use video functions in linux and xnu loaders.
16761
16762 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16763 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16764 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16765 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16766 loader/i386/pc/linux.c.
16767 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16768 (find_line_len): Removed.
16769 (find_framebuf): Likewise.
16770 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16771 * loader/i386/efi/xnu.c: Removed.
16772 * loader/i386/pc/xnu.c: Moved from here...
16773 * loader/i386/xnu.c: ...here.
16774
16775 Enable priorities in video drivers.
16776
16777 * include/grub/video.h (grub_video_adapter_prio_t): New type.
16778 (grub_video_adapter): New field prio.
16779 (grub_video_register): Respect prio when inserting.
16780 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
16781 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
16782 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
16783 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
16784 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
16785 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
16786 * video/sm712.c (grub_video_sm712_adapter): Likewise.
16787
16788 Fix SDL driver ID.
16789
16790 * include/grub/video.h (grub_video_driver_id_t): New value
16791 GRUB_VIDEO_DRIVER_SDL.
16792 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
16793
16794 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
16795
16796 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
16797 argument to printf.
16798 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16799
16800 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
16801
16802 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
16803 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16804
16805 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
16806
16807 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
16808 directly, and recommend grub-install instead.
16809 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16810
16811 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
16812
16813 Fix i386-pc prefix handling with nested partitions (Debian bug
16814 #585068). Note that the case where the core image is booted using
16815 multiboot and relocated from its original location still requires
16816 more work.
16817
16818 * kern/i386/pc/init.c (make_install_device): If the prefix starts
16819 with "(,", fill the boot drive in between those two characters, but
16820 expect that a full partition specification including partition map
16821 names will follow.
16822 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
16823 specified, write a prefix without the drive name but including a
16824 full partition specification.
16825
16826 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
16827
16828 * util/grub-mkconfig.in: Ignore non-option arguments, for
16829 compatibility with older versions (before 2010-06-12) which did the
16830 same. In particular, this makes it easier to ship an update-grub
16831 wrapper which is compatible with that used with GRUB Legacy (Debian
16832 bug #586056).
16833
16834 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16835
16836 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
16837 for manual page generation.
16838
16839 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16840
16841 * po/POTFILES: Remove leftover commands/handler.c.
16842
16843 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
16844
16845 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
16846 left this script non-functional.
16847
16848 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
16849
16850 * docs/man/grub-emu.h2m: New file.
16851
16852 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
16853
16854 * docs/grub.texi (Commands): Document reduced command set in rescue
16855 mode.
16856 (cpuid): New section.
16857
16858 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
16859
16860 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
16861 new partition naming style.
16862 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
16863
16864 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
16865
16866 Add "-o grub.iso" like cmdline options support.
16867
16868 * util/grub-install.in: Improve cmdline option parsing.
16869 * util/grub-mkconfig.in: Likewise.
16870 * util/grub-mkrescue.in: Likewise.
16871 * util/grub-reboot.in: Likewise.
16872 * util/grub-set-default.in: Likewise.
16873 * util/i386/efi/grub-install.in: Likewise.
16874 * util/ieee1275/grub-install.in: Likewise.
16875 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16876
16877 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
16878
16879 * .bzrignore: Ignore 41_custom.
16880
16881 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16882
16883 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
16884
16885 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
16886
16887 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
16888 prototype declarations.
16889
16890 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
16891 generating fs, partmap, and video lists.
16892 * include/grub/fs.h (grub_fs_register): Omit prototype if
16893 GRUB_LST_GENERATOR is defined.
16894 * include/grub/partition.h (grub_partition_map_register): Likewise.
16895 * include/grub/video.h (grub_video_register): Likewise.
16896
16897 2010-06-12 Javier Martín <lordhabbit@gmail.com>
16898
16899 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
16900
16901 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16902
16903 * util/grub-mkrescue.in: Support --xorriso argument.
16904
16905 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16906
16907 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
16908 Suggested by: Thomas Schmitt.
16909
16910 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16911
16912 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
16913 Suggested by: Thomas Schmitt.
16914
16915 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16916
16917 custom.cfg support.
16918
16919 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
16920 * util/grub.d/41_custom.in: New file.
16921
16922 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
16923
16924 * util/grub-mkrescue.in (make_image): Remove sh module, which has
16925 been merged back into normal.
16926
16927 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
16928
16929 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
16930 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
16931
16932 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
16933
16934 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
16935 when generating manual pages.
16936 * docs/man/grub-bin2h.h2m: New file.
16937 * docs/man/grub-editenv.h2m: New file.
16938 * docs/man/grub-fstest.h2m: New file.
16939 * docs/man/grub-install.h2m: New file.
16940 * docs/man/grub-macho2img.h2m: New file.
16941 * docs/man/grub-mkconfig.h2m: New file.
16942 * docs/man/grub-mkdevicemap.h2m: New file.
16943 * docs/man/grub-mkfont.h2m: New file.
16944 * docs/man/grub-mkimage.h2m: New file.
16945 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
16946 * docs/man/grub-mkrelpath.h2m: New file.
16947 * docs/man/grub-mkrescue.h2m: New file.
16948 * docs/man/grub-ofpathname.h2m: New file.
16949 * docs/man/grub-pe2elf.h2m: New file.
16950 * docs/man/grub-probe.h2m: New file.
16951 * docs/man/grub-reboot.h2m: New file.
16952 * docs/man/grub-script-check.h2m: New file.
16953 * docs/man/grub-set-default.h2m: New file.
16954 * docs/man/grub-setup.h2m: New file.
16955
16956 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
16957
16958 Use FOR_* macros instead of *_iterate whenever possible.
16959
16960 * commands/handler.c: Removed.
16961 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
16962 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
16963 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16964 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
16965 (grub_probe_SOURCES): Remove kern/parser.c.
16966 (util/grub-script-check.c_DEPENDENCIES): Removed.
16967 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
16968 and grub_script_check_init.c.
16969 (grub_script_check_init.lst): Removed.
16970 (grub_script_check_init.h): Likewise.
16971 (grub_script_check_init.c): Likewise.
16972 (pkglib_MODULES): Remove handler.mod and sh.mod.
16973 (handler_mod_SOURCES): Removed.
16974 (handler_mod_CFLAGS): Likewise.
16975 (handler_mod_LDFLAGS): Likewise.
16976 (normal_mod_SOURCES): Remove normal/handler.c.
16977 Add script/main.c, script/script.c, script/execute.c,
16978 script/function.c, script/lexer.c, grub_script.tab.c
16979 and grub_script.yy.c.
16980 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16981 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16982 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
16983 (grub_setup_SOURCES): Remove kern/parser.c.
16984 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16985 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
16986 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16987 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16988 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16989 (grub_setup_SOURCES): Remove kern/parser.c.
16990 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16991 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
16992 * include/grub/command.h (grub_command_iterate): Removed.
16993 (FOR_COMMANDS): New macro.
16994 * include/grub/dl.h (grub_dl): New member next.
16995 (grub_dl_iterate): Removed.
16996 (grub_dl_head): New variable declaration.
16997 (FOR_DL_MODULES): New macro.
16998 * include/grub/fs.h: Include list.h.
16999 (grub_fs): Make next first element.
17000 (grub_fs_list): New variable declaration.
17001 (grub_fs_register): Make inline.
17002 (grub_fs_unregister): Likewise.
17003 (grub_fs_iterate): Removed.
17004 (FOR_FILESYSTEMS): New macro.
17005 * include/grub/handler.h: Removed.
17006 * include/grub/list.h (grub_list_hook_t): Removed.
17007 (grub_list_test_t): Likewise.
17008 (grub_list_pop): Likewise.
17009 (grub_list_iterate): Likewise.
17010 (grub_list_insert): Likewise.
17011 (FOR_LIST_ELEMENTS): New macro.
17012 * include/grub/parser.h (grub_parser_class): Removed.
17013 (grub_parser_register): Likewise.
17014 (grub_parser_unregister): Likewise.
17015 (grub_parser_get_current): Likewise.
17016 (grub_parser_set_current): Likewise.
17017 (grub_register_rescue_parser): Likewise.
17018 (grub_rescue_parse_line): New function.
17019 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
17020 * include/grub/script_sh.h (grub_script_function_list): New variable
17021 declaration.
17022 (FOR_SCRIPT_FUNCTIONS): New macro.
17023 (grub_script_function_iterate): Removed.
17024 (grub_normal_parse_line): New prototype.
17025 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
17026 (FOR_DISABLED_TERM_INPUTS): Likewise.
17027 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17028 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17029 * include/grub/video.h (grub_video_adapter): Move 'next' to first
17030 element.
17031 (grub_video_register): Inline.
17032 (grub_video_unregister): Likewise.
17033 (grub_video_adapter_list): New variable declaration.
17034 (grub_video_iterate): Removed.
17035 (FOR_VIDEO_ADAPTERS): New macro.
17036 * kern/dl.c (grub_dl_list): Removed. All users updated.
17037 (grub_dl_iterate): Removed.
17038 * kern/fs.c (grub_fs_list): Make global.
17039 (grub_fs_register): Removed.
17040 (grub_fs_unregister): Likewise.
17041 (grub_fs_iterate): Likewise.
17042 * kern/handler.c: Removed.
17043 * kern/list.c (grub_list_pop): Removed.
17044 (grub_list_iterate): Likewise.
17045 (grub_list_insert): Likewise.
17046 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
17047 (grub_prio_list_insert): Don't use grub_list_insert.
17048 * kern/main.c (grub_register_rescue_parser): Don't call
17049 grub_register_rescue_parser.
17050 * kern/parser.c (grub_parser_class): Removed.
17051 (grub_parser_execute): Use grub_rescue_parse_line.
17052 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
17053 (grub_rescue_parser): Removed.
17054 (grub_register_rescue_parser): Likewise.
17055 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
17056 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
17057 (grub_auth_check_authentication): Likewise.
17058 * normal/completion.c (iterate_command): Removed.
17059 (grub_normal_do_completion): Use FOR_COMMANDS.
17060 * normal/handler.c: Removed.
17061 * normal/main.c (read_config_file): Remove parser changing.
17062 (grub_normal_execute): Don't call read_handler_list.
17063 (grub_normal_read_line_real): Statically allocate prompt.
17064 (grub_cmdline_run): Use grub_normal_parse_line.
17065 (GRUB_MOD_FINI): Don't call free_handler_list.
17066 * normal/menu_entry.c (run): Likewise.
17067 * script/function.c (grub_script_function_list): Make global.
17068 (grub_script_function_iterate): Removed.
17069 * script/main.c (grub_normal_parse_line): Make global.
17070 (grub_sh_parser): Removed.
17071 (GRUB_MOD_INIT): Likewise.
17072 (GRUB_MOD_FINI): Likewise.
17073 * tests/lib/functional_test.c (grub_functional_test): Use
17074 FOR_LIST_ELEMENTS.
17075 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
17076 (grub_test_run): Use FOR_LIST_ELEMENTS.
17077 * tests/lib/unit_test.c (main): Likewise.
17078 * util/deviceiter.c (grub_util_iterate_devices): Don't use
17079 grub_list_pop.
17080 * util/grub-fstest.c (grub_term_input_class): Removed.
17081 (grub_term_output_class): Likewise.
17082 * util/grub-probe.c: Likewise.
17083 * util/i386/pc/grub-setup.c: Likewise.
17084 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17085 * util/grub-script-check.c (main): Don't call grub_init_all and
17086 grub_fini_all.
17087 * video/video.c (grub_video_adapter_list): Make global.
17088 (grub_video_register): Removed.
17089 (grub_video_unregister): Likewise.
17090 (grub_video_iterate): Likewise.
17091
17092 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
17093
17094 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
17095 reported by Henrique Ferreiro.
17096
17097 2010-06-09 Robert Millan <rmh@gnu.org>
17098
17099 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
17100 ones, when both are available.
17101
17102 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17103
17104 Make --version uniform and avoid hard-coded program name.
17105
17106 * util/grub-mkimage.c (main): Use `program_name' instead of
17107 hard-coded string.
17108 * util/i386/pc/grub-setup.c (main): Likewise.
17109 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
17110 * util/grub-install.in: Save the basename of $0 in $self, and use the
17111 latter in informational messages. Use the same format for --version
17112 as the binary programs.
17113 * util/grub-mkconfig.in: Likewise.
17114 * util/grub-mkrescue.in: Likewise.
17115 * util/grub-reboot.in: Likewise.
17116 * util/grub-set-default.in: Likewise.
17117 * util/i386/efi/grub-install.in: Likewise.
17118 * util/ieee1275/grub-install.in: Likewise.
17119 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17120
17121 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17122
17123 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
17124 embedding area. Use <= instead of == when checking for non-emptiness.
17125
17126 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17127
17128 * configure.ac: Add `.' to the directories searched for unifont.
17129
17130 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
17131
17132 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
17133 grub_script.yy.h.
17134
17135 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
17136
17137 * docs/grub.texi (History): Expand to cover GRUB 2.
17138 (Serial terminal): Refer to `terminal_input' and `terminal_output'
17139 commands, not `terminal'.
17140 (serial): Likewise.
17141 (terminal_input): New section.
17142 (terminal_output): New section.
17143 (uppermem): New section (stub).
17144 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
17145
17146 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
17147
17148 * docs/grub.texi (Security): Menu entries are unrestricted by
17149 default, not restricted to superusers as I had previously thought.
17150 Reword to account for this.
17151
17152 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
17153
17154 * kern/emu/misc.c (device_mapper_null_log): New function.
17155 (grub_device_mapper_supported): New function.
17156 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
17157 prototype.
17158 * kern/emu/hostdisk.c (find_partition_start): Check whether
17159 device-mapper is supported before trying to use it.
17160 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
17161
17162 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
17163
17164 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
17165 (File name syntax): Likewise.
17166 (help): --all is no longer supported in GRUB 2. Be more precise
17167 about pattern matching.
17168
17169 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
17170
17171 * normal/completion.c (grub_normal_do_completion): When completing
17172 arguments to "set" and the current word contains an equals sign,
17173 skip to after the equals sign before starting completion.
17174
17175 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
17176
17177 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
17178
17179 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
17180
17181 * docs/grub.texi (Network): New section.
17182 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
17183 `(nd)' as in GRUB Legacy.
17184 (pxe_unload): New section.
17185
17186 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
17187
17188 * docs/grub.texi (Troubleshooting): `echo' is not usually available
17189 in the rescue shell, so recommend using `set' instead. Thanks,
17190 Jordan Uggla.
17191
17192 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
17193
17194 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
17195 (password): New section.
17196 (password_pbkdf2): New section.
17197 (search): New section.
17198 (Security): New section.
17199 (Troubleshooting): New section, currently very incomplete.
17200 (Invoking grub-mkpasswd-pbkdf2): New section.
17201 (Internals): New section, currently very incomplete.
17202
17203 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
17204
17205 * util/grub.d/00_header.in: Add some more quoting (of
17206 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
17207 work again.
17208 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
17209
17210 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
17211
17212 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
17213 to `count', fixing variable shadowing that broke the -c option.
17214
17215 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
17216
17217 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
17218 in case they contain spaces.
17219
17220 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
17221
17222 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
17223 "part_" to partmap module names, in line with grub-install.
17224 Reported by: Jindřich Makovička (Debian bug #584426).
17225
17226 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
17227
17228 * util/grub-mkimage.c: Make target-related error messages slightly
17229 more helpful; -O talks about "format". Explicitly point to the use
17230 of -O if no target is specified.
17231 Reported by: Didier Raboud (Debian bug #584415).
17232
17233 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
17234
17235 * INSTALL: Document several build requirements for optional features
17236 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
17237
17238 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17239
17240 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
17241 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
17242 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
17243
17244 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
17245
17246 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
17247 Thanks to Jordan Uggla for spotting this.
17248
17249 2010-06-02 Aleš Nesrsta <starous@volny.cz>
17250
17251 Finally make USB usable.
17252
17253 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
17254 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
17255 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
17256 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
17257 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
17258 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
17259 (GRUB_OHCI_FSMPS): Likewise.
17260 (GRUB_OHCI_PERIODIC_START): Likewise.
17261 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
17262 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
17263 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
17264 (GRUB_OHCI_SET_PORT_RESET): Likewise.
17265 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
17266 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
17267 (grub_ohci_transaction): Likewise.
17268 (grub_ohci_transfer): Improve condition detection algorithms.
17269 Handle toggle property. Program the transactions correctly.
17270 Improve error handling. Various important fixups.
17271 (grub_ohci_portstatus): Put register writes in right order.
17272 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
17273 (grub_uhci_transfer): Don't show "failed" message on success.
17274 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
17275 array.
17276 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
17277 determine its size.
17278 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
17279 before initialization is completed. Use IN direction for empty
17280 transfers. Use last_trans and compute toggle.
17281 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
17282 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
17283 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
17284 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
17285 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
17286 (grub_usb_device): Increase toggle to 256.
17287 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
17288 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
17289 GRUB_USBMS_SUBCLASS_SFF8070.
17290 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
17291 (grub_scsi_inquiry): New member page and alloc_length.
17292 (grub_scsi_request_sense): New structure.
17293 (grub_scsi_request_sense_data): Likewise.
17294 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
17295 control.
17296 * disk/scsi.c (grub_scsi_request_sense): New function.
17297 (grub_scsi_test_unit_ready): Likewise.
17298 (grub_scsi_inquiry): Fill new fields.
17299 (grub_scsi_read_capacity): Likewise.
17300 (grub_scsi_read10): Add request sense at the end.
17301 (grub_scsi_read12): Likewise.
17302 (grub_scsi_write10): Likewise.
17303 (grub_scsi_write12): Likewise.
17304 (grub_scsi_open): Add Test Unit Ready.
17305 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
17306 Support additional subclasses. Con't clear halt yet. Activate the
17307 proper config. Calculate LUNs correctly.
17308 (grub_usbms_transfer): Various important fixups.
17309
17310 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
17313 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
17314 (grub_ohci_fini_hw): New function.
17315 (grub_ohci_restore_hw): Likewise.
17316 (GRUB_MOD_INIT(ohci)): Register preboot hook.
17317 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
17318 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
17319
17320 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17321
17322 Dedicated DMA allocations.
17323
17324 * bus/pci.c (grub_memalign_dma32): New function
17325 (grub_dma_free): Likewise.
17326 (grub_dma_get_virt): Likewise.
17327 (grub_dma_get_phys): Likewise.
17328 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
17329 (grub_ohci_pci_iter): Use dma32_alloc.
17330 (grub_ohci_transfer): Likewise.
17331 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17332 (grub_usb_bulk_readwrite): Likewise.
17333 * include/grub/pci.h: Add declarations.
17334
17335 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17336
17337 CS5536 support.
17338
17339 * bus/cs5536.c: New file.
17340 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
17341 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
17342 (cs5536_mod_SOURCES): New variable.
17343 (cs5536_mod_CFLAGS): Likewise.
17344 (cs5536_mod_LDFLAGS): Likewise.
17345 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
17346 machine/pci.h.
17347 (kernel_img_SOURCES): Add bus/cs5536.c.
17348 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
17349 usb_keyboard.mod.
17350 (usb_mod_SOURCES): New variable.
17351 (usb_mod_CFLAGS): New variable.
17352 (usb_mod_LDFLAGS): New variable.
17353 (usbtest_mod_SOURCES): New variable.
17354 (usbtest_mod_CFLAGS): New variable.
17355 (usbtest_mod_LDFLAGS): New variable.
17356 (ohci_mod_SOURCES): New variable.
17357 (ohci_mod_CFLAGS): New variable.
17358 (ohci_mod_LDFLAGS): New variable.
17359 (usbms_mod_SOURCES): New variable.
17360 (usbms_mod_CFLAGS): New variable.
17361 (usbms_mod_LDFLAGS): New variable.
17362 (usb_keyboard_mod_SOURCES): New variable.
17363 (usb_keyboard_mod_CFLAGS): New variable.
17364 (usb_keyboard_mod_LDFLAGS): New variable.
17365 * include/grub/smbus.h: New file.
17366 * include/grub/cs5536.h: New file.
17367
17368 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
17369
17370 * util/grub.d/00_header.in: Add safety check to make sure that
17371 ${locale_dir} exists before trying to probe it.
17372
17373 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
17374
17375 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
17376 per the GNU Coding Standards; this is now too obscure to be worth
17377 documenting.
17378 (QNX): Likewise.
17379 (chainloader): Remove cross-reference to `SCO UnixWare'.
17380
17381 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
17382
17383 * docs/grub.texi (Chain-loading): New section.
17384 (DOS/Windows): New section, borrowed from GRUB Legacy with details
17385 adjusted for GRUB 2.
17386 (SCO UnixWare): Likewise.
17387 (QNX): Likewise.
17388 (chainloader): Add reference to `Block list syntax'.
17389 (drivemap): New section.
17390 (parttool): New section.
17391
17392 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
17393
17394 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
17395 the grub shell'.
17396 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
17397 (Installing GRUB using grub-install): Remove reference to the grub
17398 shell; mention `grub-mkimage' and `grub-setup' instead.
17399 (Invoking grub-install): Likewise.
17400 (Interface): Add reference to `Menu entry editor'.
17401 (serial): Remove `--device' option.
17402
17403 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
17404
17405 * docs/grub.texi (Configuration): New section, documenting
17406 configuration file generation using grub-mkconfig. I've left a slot
17407 for documenting the full shell scripting format but have not yet
17408 started on writing that up.
17409 (Invoking grub-mkconfig): New section.
17410
17411 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
17412
17413 * docs/grub.texi (direntry): Remove grub-terminfo reference.
17414 (GNU GRUB manual): Likewise.
17415 (General commands): Update description of `terminfo' for GRUB 2.
17416
17417 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
17418
17419 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
17420 (GRUB_MOD_INIT): Fix capitalisation.
17421 * docs/grub.texi (Command-line and menu entry commands): Document
17422 gettext and gptsync commands.
17423
17424 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
17425
17426 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
17427 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
17428
17429 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
17430
17431 Add btrfs probing support, currently only in the single-device case.
17432
17433 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
17434 function.
17435 (grub_guess_root_device): Call find_root_device_from_mountinfo
17436 before looking in /dev.
17437
17438 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17439
17440 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
17441 GRUB_DISK_SIZE_UNKNOWN.
17442 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
17443
17444 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
17445
17446 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
17447 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
17448 corrupted or not synced properly.
17449
17450 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17451
17452 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
17453 Reported by: Seth Goldberg.
17454
17455 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17456
17457 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
17458 addition of dest.
17459 Reported by: Seth Goldberg.
17460
17461 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17462
17463 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
17464 Reported by: Seth Goldberg.
17465
17466 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17467
17468 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
17469 64-bit address as signed on MIPS.
17470
17471 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
17472
17473 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
17474 to the empty string.
17475
17476 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
17477
17478 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
17479
17480 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
17481 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
17482 * kern/misc.c (__enable_execute_stack): Disable on
17483 GRUB_MACHINE_EMU.
17484
17485 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
17486
17487 Make grub-probe work with symbolic links under /dev/mapper as well
17488 as with real block devices. The Linux world seems to be (at best)
17489 in transition here, and GRUB shouldn't get caught in the middle.
17490
17491 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
17492 /dev/mapper.
17493
17494 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
17495
17496 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17497 input files (in which case exit zero).
17498
17499 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
17500
17501 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17502 return NULL for various reasons even if it has a maximum-length
17503 buffer: for example, there might be a symlink loop, or the path
17504 might exceed PATH_MAX. If this happens, return NULL.
17505
17506 2010-05-27 Robert Millan <rmh@gnu.org>
17507
17508 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17509 partmap module to handle cross-partmap setups.
17510 Reported by Orestes Mas. Gràcies!
17511
17512 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
17513
17514 * util/grub-mkrescue.in: Initialise override_dir rather than
17515 assuming that it's unset or empty in the environment.
17516
17517 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17518
17519 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17520 variable index into p_index to suppress a warning with -Wshadow.
17521
17522 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17523
17524 * INSTALL: Added flex >= 2.5.35 requirement.
17525
17526 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17527
17528 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17529
17530 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17531
17532 cmostest support.
17533
17534 * commands/i386/cmostest.c: New file.
17535 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17536 (cmostest_mod_SOURCES): New variable.
17537 (cmostest_mod_CFLAGS): Likewise.
17538 (cmostest_mod_LDFLAGS): Likewise.
17539 * conf/i386-pc.rmk: Likewise.
17540 * docs/grub.texi (Vendor power-on keys): New section.
17541 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17542 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17543 and GRUB_BUTTON_CMOS_ADDRESS.
17544 * util/grub.d/00_header.in: Handle powering-on by separate button.
17545
17546 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17547
17548 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17549 Removed drawing_scrollbar argument. All users updated
17550 Fixes #29792.
17551 Reported by Jo Shields
17552
17553 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17554
17555 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17556 buffer since gfxterm handles double repaint.
17557
17558 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17559
17560 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17561 * term/gfxterm.c (real_scroll): Likewise.
17562
17563 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17564
17565 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17566 before calling BIOS.
17567
17568 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17569
17570 * include/grub/i18n.h: Always enable grub_gettext.
17571
17572 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17573
17574 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17575 partition naming style.
17576
17577 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
17578
17579 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17580 not the first option.
17581
17582 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
17583
17584 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17585
17586 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
17587
17588 * util/misc.c: Move inclusion of <limits.h> to ...
17589 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17590
17591 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17592
17593 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17594 Fix merge error in NetBSD code.
17595 (find_partition_start) [__NetBSD__]: Likewise.
17596
17597 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17598
17599 Fix grub-mkrescue usage unit testing.
17600
17601 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17602
17603 2010-05-18 Christian Franke <franke@computer.org>
17604
17605 * util/grub.d/10_windows.in: Use path names instead of
17606 drive letters to prevent warning from Cygwin 1.7.
17607 Add drivemap command to menuentry if needed.
17608
17609 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17610
17611 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17612 gnumach and gnumach.gz.
17613
17614 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17615
17616 * include/grub/i18n.h (gettext): Inline instead of using #define.
17617 (grub_gettext): Likewise.
17618 (_): Likewise.
17619
17620 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17621
17622 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17623 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17624 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17625 (main): Add a slash after pkglibdirroot.
17626
17627 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17628
17629 * util/grub-install.in: Add missing "in" keyword.
17630
17631 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17632
17633 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17634 Reported by: Seth Goldberg.
17635
17636 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17637
17638 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17639
17640 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
17641
17642 * configure.ac: Check for Linux device-mapper support.
17643
17644 * util/hostdisk.c (device_is_mapped): New function.
17645 (find_partition_start): New function, partly broken out from
17646 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17647 device-mapper support added.
17648 (linux_find_partition): Use find_partition_start.
17649 (convert_system_partition_to_system_disk): Add `st' argument.
17650 Support Linux /dev/mapper/* devices if device-mapper support is
17651 available; only DM-RAID devices are understood at present.
17652 (find_system_device): Add `st' argument. Pass it to
17653 convert_system_partition_to_system_disk.
17654 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17655 find_system_device and convert_system_partition_to_system_disk. Use
17656 find_partition_start.
17657
17658 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17659 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17660 * util/deviceiter.c [__linux__]: Define MINOR.
17661 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17662 * util/mkdevicemap.c (grub_putchar): New function.
17663 (grub_getkey): New function.
17664 (grub_refresh): New function.
17665 (main): Set debug=all if -v -v is used.
17666
17667 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
17668
17669 Fix build with non-GNU libcs.
17670
17671 * util/misc.c (canonicalize_file_name): Move to ...
17672 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
17673 grub_make_system_path_relative_to_its_root.
17674
17675 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
17676
17677 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
17678 we handle finding grub-mkimage. Default to finding grub-mkimage in
17679 ${bindir} with program_transform_name applied, and provide a
17680 --grub-mkimage option to override this.
17681
17682 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17683
17684 Remove grub-mkisofs.
17685
17686 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
17687 (grub_mkisofs_SOURCES): Removed.
17688 (grub_mkisofs_CFLAGS): Removed.
17689 * util/mkisofs/defaults.h: Removed.
17690 * util/mkisofs/eltorito.c: Likewise.
17691 * util/mkisofs/exclude.h: Likewise.
17692 * util/mkisofs/hash.c: Likewise.
17693 * util/mkisofs/include/: Likewise.
17694 * util/mkisofs/include/fctldefs.h: Likewise.
17695 * util/mkisofs/include/mconfig.h: Likewise.
17696 * util/mkisofs/include/prototyp.h: Likewise.
17697 * util/mkisofs/include/statdefs.h: Likewise.
17698 * util/mkisofs/iso9660.h: Likewise.
17699 * util/mkisofs/joliet.c: Likewise.
17700 * util/mkisofs/match.c: Likewise.
17701 * util/mkisofs/match.h: Likewise.
17702 * util/mkisofs/mkisofs.c: Likewise.
17703 * util/mkisofs/mkisofs.h: Likewise.
17704 * util/mkisofs/msdos_partition.h: Likewise.
17705 * util/mkisofs/multi.c: Likewise.
17706 * util/mkisofs/name.c: Likewise.
17707 * util/mkisofs/rock.c: Likewise.
17708 * util/mkisofs/tree.c: Likewise.
17709 * util/mkisofs/write.c: Likewise.
17710
17711 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17712
17713 Unify grub-mkimage accross platforms.
17714
17715 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
17716 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
17717 (grub_mkelfimage_SOURCES): Removed.
17718 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
17719 (util/grub-mkimage.c_DEPENDENCIES): .. this.
17720 (bin_UTILITIES): Add grub-mkimage.
17721 (grub_mkimage_SOURCES): New variable.
17722 (kernel_img_HEADERS): Remove machine/kernel.h.
17723 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
17724 (pkglib_PROGRAMS): Add kernel.img.
17725 (kernel_img_HEADERS): Add machine/kernel.h.
17726 (kernel_img_FORMAT): Removed.
17727 (bin_UTILITIES): Remove grub-mkimage.
17728 (grub_mkimage_SOURCES): Removed.
17729 (grub_mkimage_CFLAGS): Likewise.
17730 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17731 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
17732 (pkglib_PROGRAMS): Add kernel.img.
17733 (bin_UTILITIES): Remove grub-mkimage.
17734 (grub_mkimage_SOURCES): Removed.
17735 (grub_mkimage_CFLAGS): Likewise.
17736 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17737 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
17738 (pkglib_PROGRAMS): Add kernel.img.
17739 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
17740 (pkglib_PROGRAMS): Add kernel.img.
17741 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
17742 (grub_mkimage_SOURCES): Removed.
17743 (grub_mkimage_CFLAGS): Likewise.
17744 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17745 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
17746 (pkglib_PROGRAMS): Add kernel.img.
17747 (bin_UTILITIES): Remove grub-mkimage.
17748 (grub_mkimage_SOURCES): Removed.
17749 (grub_mkimage_CFLAGS): Likewise.
17750 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17751 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17752 (grub_mkimage_SOURCES): Removed.
17753 (grub_mkimage_CFLAGS): Likewise.
17754 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17755 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17756 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17757 (grub_pe32_optional_header): ... this.
17758 (grub_pe64_optional_header): ... and this. All users updated.
17759 (GRUB_PE32_PE32_MAGIC): Split into ..
17760 (GRUB_PE32_PE32_MAGIC): .. this.
17761 (GRUB_PE32_PE64_MAGIC): .. and this.
17762 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17763 * include/grub/elf.h (PT_GNU_STACK): New definition.
17764 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17765 * include/grub/i386/efi/kernel.h: Likewise.
17766 * include/grub/i386/kernel.h: Likewise.
17767 * include/grub/i386/pc/kernel.h: Likewise.
17768 * include/grub/i386/qemu/boot.h: Likewise.
17769 * include/grub/mips/kernel.h: Likewise.
17770 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17771 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17772 * include/grub/powerpc/kernel.h: Likewise.
17773 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17774 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17775 * include/grub/sparc64/kernel.h: Likewise.
17776 * include/grub/x86_64/efi/kernel.h: Likewise.
17777 * include/grub/x86_64/kernel.h: Likewise.
17778 * include/grub/offsets.h: New file.
17779 * include/grub/kernel.h (grub_module_info): Split into ...
17780 (grub_module_info32): ... this.
17781 (grub_module_info64): ... and this.
17782 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
17783 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
17784 (grub_boot_blocklist): Moved from here ...
17785 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
17786 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
17787 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
17788 * include/grub/types.h (grub_target_to_host16): Removed.
17789 (grub_target_to_host32): Likewise.
17790 (grub_target_to_host64): Likewise.
17791 (grub_host_to_target16): Likewise.
17792 (grub_host_to_target32): Likewise.
17793 (grub_host_to_target64): Likewise.
17794 (grub_host_to_target_addr): Likewise.
17795
17796 Support grub-mkrescue for efi, coreboot and qemu.
17797
17798 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
17799 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
17800 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
17801 * util/grub-mkrawimage.c: Moved from here ...
17802 * util/grub-mkimage.c: ... here. All users updated.
17803 (ALIGN_ADDR): Use image_target.
17804 (TARGET_NO_FIELD): New const.
17805 (image_target_desc): New type.
17806 (image_targets): New array.
17807 (grub_target_to_host64): Use image_target.
17808 (grub_target_to_host32): Likewise.
17809 (grub_target_to_host16): Likewise.
17810 (grub_host_to_target64): Likewise.
17811 (grub_host_to_target32): Likewise.
17812 (grub_host_to_target16): Likewise.
17813 (grub_host_to_target_addr): Likewise.
17814 (generate_image): Handle multiimage.
17815 (main): Require -O parameter. All users updated.
17816 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
17817 util/efi/grub-mkimage.c
17818 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
17819 New option --rom-directory.
17820 Use xorriso.
17821 * util/i386/efi/grub-mkimage.c: Removed.
17822 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
17823 (grub_target_to_host32): Likewise.
17824 (grub_target_to_host64): Likewise.
17825 (grub_host_to_target16): Likewise.
17826 (grub_host_to_target32): Likewise.
17827 (grub_host_to_target64): Likewise.
17828 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
17829 (grub_target_to_host32): Likewise.
17830 (grub_target_to_host64): Likewise.
17831 (grub_host_to_target16): Likewise.
17832 (grub_host_to_target32): Likewise.
17833 (grub_host_to_target64): Likewise.
17834
17835 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
17836
17837 Source tree is reorganized for emu build.
17838
17839 * include/grub/util/console.h: Move from here...
17840 * include/grub/emu/console.h: ...to here.
17841 * include/grub/util/getroot.h: Move from here...
17842 * include/grub/emu/getroot.h: ...to here.
17843 * include/grub/util/hostdisk.h: Move from here...
17844 * include/grub/emu/hostdisk.h: ...to here.
17845 * util/console.c: Move from here...
17846 * kern/emu/console.c: ...to here.
17847 * util/getroot.c: Move from here...
17848 * kern/emu/getroot.c: ...to here.
17849 * util/grub-emu.c: Move from here...
17850 * kern/emu/main.c: ...to here.
17851 * util/hostdisk.c: Move from here...
17852 * kern/emu/hostdisk.c: ...to here.
17853 * util/hostfs.c: Move from here...
17854 * kern/emu/hostfs.c: ...to here.
17855 * util/mm.c: Move from here...
17856 * kern/emu/mm.c: ...to here.
17857 * util/pci.c: Move from here...
17858 * bus/emu/pci.c: ...to here.
17859 * util/sdl.c: Move from here...
17860 * video/emu/sdl.c: ...to here.
17861 * util/time.c: Move from here...
17862 * kern/emu/time.c: ...to here.
17863 * util/usb.c: Move from here...
17864 * bus/usb/emu/usb.c: ...to here.
17865
17866 * include/grub/emu/misc.h: New header for grub-emu functions.
17867 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
17868
17869 * conf/any-emu.rmk: Rule updates for above renames.
17870 * conf/common.rmk: Likewise.
17871 * conf/i386-pc.rmk: Likewise.
17872 * conf/i386-qemu.rmk: Likewise.
17873 * conf/mips.rmk: Likewise.
17874 * conf/sparc64-ieee1275.rmk: Likewise.
17875 * conf/x86-efi.rmk: Likewise.
17876
17877 * disk/lvm.h: #include updates for above renames.
17878 * util/grub-mkrelpath.c: Likewise.
17879 * util/grub-probe.c: Likewise.
17880 * util/i386/pc/grub-setup.c: Likewise.
17881 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17882 * kern/emu/console.c: Likewise.
17883 * kern/emu/getroot.c: Likewise.
17884 * kern/emu/hostdisk.c: Likewise.
17885 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
17886
17887 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
17888 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
17889 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
17890 * util/misc.c: Remove grub-emu functions.
17891
17892 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17893
17894 Fix gfxmenu crash.
17895 Reported by: Thorsten Grützmacher.
17896
17897 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
17898 timeout hook.
17899 (circprog_set_property): Register and unregister timeout hook.
17900 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
17901 (label_destroy): Free template. and unregister hook.
17902 (label_set_state): New function.
17903 (label_set_property): Handle templates and hooks.
17904 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
17905 timeout hook.
17906 (progress_bar_set_property): Register and unregister timeout hook.
17907 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
17908 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
17909 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
17910 (update_timeout_visit): Removed.
17911 (update_timeouts): New function.
17912 (redraw_timeouts): Likewise.
17913 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
17914 (grub_gfxmenu_clear_timeout): Likewise.
17915 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
17916 (grub_gfxmenu_timeout_notify): Likewise.
17917 (grub_gfxmenu_timeout_notifications): New external variable.
17918 (grub_gfxmenu_timeout_register): New function.
17919 (grub_gfxmenu_timeout_unregister): Likewise.
17920
17921 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17922
17923 Transform (broken) vga terminal into (working) vga video driver.
17924
17925 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
17926 video/i386/pc/vga.c.
17927 * include/grub/video.h (grub_video_driver_id):
17928 Add GRUB_VIDEO_DRIVER_VGA.
17929 * term/i386/pc/vga.c: Renamed to ...
17930 * video/i386/pc/vga.c: ...this
17931 (DEBUG_VGA): Removed.
17932 (CHAR_WIDTH): Likewise.
17933 (CHAR_HEIGHT): Likewise.
17934 (TEXT_WIDTH): Likewise.
17935 (TEXT_HEIGHT): Likewise.
17936 (DEFAULT_FG_COLOR): Likewise.
17937 (DEFAULT_BG_COLOR): Likewise.
17938 (colored_char): Likewise.
17939 (xpos): Likewise.
17940 (ypos): Likewise.
17941 (cursor_state): Likewise.
17942 (fg_color): Likewise.
17943 (bg_color): Likewise.
17944 (text_buf): Likewise.
17945 (page): Likewise.
17946 (font): Likewise.
17947 (framebuffer): New variable.
17948 (set_read_map): Disabled.
17949 (setup): New variable.
17950 (is_target): Likewise.
17951 (grub_vga_mod_init): Likewise.
17952 (grub_vga_mod_fini): Likewise.
17953 (check_vga_mem): Likewise.
17954 (write_char): Likewise.
17955 (write_cursor): Likewise.
17956 (scroll_up): Likewise.
17957 (grub_vga_putchar): Likewise.
17958 (grub_vga_getcharwidth): Likewise.
17959 (grub_vga_getwh): Likewise.
17960 (grub_vga_getxy): Likewise.
17961 (grub_vga_gotoxy): Likewise.
17962 (grub_vga_cls): Likewise.
17963 (grub_vga_setcolorstate): Likewise.
17964 (grub_vga_setcursor): Likewise.
17965 (grub_video_vga_init): New function.
17966 (grub_video_vga_setup): Likewise.
17967 (grub_video_vga_fini): Likewise.
17968 (update_target): Likewise.
17969 (grub_video_vga_blit_bitmap): Likewise.
17970 (grub_video_vga_blit_render_target): Likewise.
17971 (grub_video_vga_set_active_render_target): Likewise.
17972 (grub_video_vga_get_active_render_target): Likewise.
17973 (grub_video_vga_swap_buffers): Likewise.
17974 (grub_video_vga_set_palette): Likewise.
17975 (grub_video_vga_get_info_and_fini): Likewise.
17976 (grub_vga_term): Removed.
17977 (grub_video_vga_adapter): New variable.
17978 (GRUB_MOD_INIT): Register a video driver instead of terminal.
17979 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
17980
17981 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17982
17983 * video/readers/jpeg.c: Indented.
17984
17985 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 Various jpeg cleanups.
17988
17989 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
17990 (grub_jpeg_decode_quan_table): Use sizeof.
17991 (grub_jpeg_decode_du): Use ARRAY_SIZE.
17992
17993 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
17994
17995 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
17996 tables. Ignore non-last ac bit.
17997 (grub_jpeg_decode_quan_table): Likewise.
17998
17999 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
18002 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
18003 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18004 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
18005 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
18006 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
18007
18008 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18009
18010 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
18011 error.
18012
18013 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18014
18015 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
18016
18017 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18018
18019 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
18020 condition.
18021
18022 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18023
18024 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
18025 part.
18026
18027 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18028
18029 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
18030 pointers.
18031
18032 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
18035
18036 2010-05-01 Christian Franke <franke@computer.org>
18037
18038 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
18039 Remove broken Cygwin path conversion.
18040 * util/misc.c: [__CYGWIN__] Add include and define.
18041 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
18042 for Cygwin 1.7.
18043 (make_system_path_relative_to_its_root): Simplify loop, replace early
18044 return by break.
18045 [__CYGWIN__] Add conversion to win32 path.
18046 Include "/" case in trailing slash removal.
18047
18048 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 * kern/main.c (grub_load_config): Fix copy-pasted comment.
18051 Reported by: Seth Goldberg
18052
18053 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18054
18055 * commands/help.c (grub_cmd_help): Fix a typo.
18056 Reported by: Seth Goldberg
18057
18058 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18059
18060 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
18061 name and add N_.
18062 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
18063 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
18064 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
18065 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
18066 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
18067 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
18068 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18069 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18070 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18071 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18072 * normal/context.c (GRUB_MOD_INIT): Likewise.
18073 * normal/main.c (GRUB_MOD_INIT): Likewise.
18074 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18075 * term/serial.c (GRUB_MOD_INIT): Likewise.
18076 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18077
18078 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18079
18080 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
18081 extra == 0.
18082
18083 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18084
18085 * commands/iorw.c: New file.
18086 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
18087 (iorw_mod_SOURCES): New variable.
18088 (iorw_mod_CFLAGS): Likewise.
18089 (iorw_mod_LDFLAGS): Likewise.
18090
18091 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18092
18093 Hotkey support
18094
18095 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
18096 * normal/main.c (hotkey_aliases): New variable.
18097 (grub_normal_add_menu_entry): Parse "--hotkey".
18098 * normal/menu_text.c (run_menu): Handle hotkeys.
18099
18100 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18101
18102 * kern/i386/coreboot/init.c (grub_machine_init): Call
18103 grub_machine_mmap_init on qemu.
18104
18105 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18106
18107 * boot/i386/qemu/boot.S: Add a missing .code16.
18108
18109 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18110
18111 Use LBIO on coreboot.
18112
18113 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
18114 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
18115 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
18116 New declaration.
18117 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
18118 grub_machine_mmap_init on coreboot.
18119 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
18120 GRUB_LINUXBIOS_MEMBER_LINK.
18121 (grub_machine_mmap_iterate): Fix declaration.
18122 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
18123
18124 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18125
18126 Split coreboot and multiboot ports.
18127
18128 * conf/i386-multiboot.rmk: New file.
18129 * configure.ac: Add multiboot port.
18130 * include/grub/i386/multiboot/boot.h: New file.
18131 * include/grub/i386/multiboot/console.h: Likewise.
18132 * include/grub/i386/multiboot/init.h: Likewise.
18133 * include/grub/i386/multiboot/kernel.h: Likewise.
18134 * include/grub/i386/multiboot/loader.h: Likewise.
18135 * include/grub/i386/multiboot/memory.h: Likewise.
18136 * include/grub/i386/multiboot/serial.h: Likewise.
18137 * include/grub/i386/multiboot/time.h: Likewise.
18138 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
18139 * loader/multiboot.c: Likewise.
18140 * loader/multiboot_mbi2.c: Likewise.
18141 * util/grub-mkrescue.in: Generate multiboot rescue.
18142
18143 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18144
18145 * kern/parser.c (grub_parser_execute): Cope with read-only config.
18146
18147 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18148
18149 Merge handling of input and output terminals. Fix a hang.
18150
18151 * commands/terminal.c (abstract_terminal): New struct.
18152 (handle_command): New function. Based on grub_cmd_terminal_input.
18153 (grub_cmd_terminal_input): Use handle_command.
18154 (grub_cmd_terminal_output): Use handle_command.
18155
18156 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
18157
18158 Fix comment handling.
18159
18160 * tests/grub_script_comments.in: New testcase.
18161 * conf/tests.rmk: Rules for new testcase.
18162 * script/yylex.l: Updated flex rules.
18163
18164 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
18165
18166 * docs/grub.texi (play): Document that zero pitches produce rests.
18167 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
18168 if argc is 1.
18169
18170 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18171
18172 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
18173 autogen issues.
18174
18175 2010-04-26 Christian Franke <franke@computer.org>
18176
18177 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
18178 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
18179 (grub_get_prefix): Remove function.
18180 * util/grub-emu.c (main): Replace grub_get_prefix () call by
18181 make_system_path_relative_to_its_root ().
18182 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18183
18184 2010-04-24 Christian Franke <franke@computer.org>
18185
18186 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
18187 (kernel_img_LDFLAGS): Remove -static-libgcc.
18188
18189 2010-04-24 Christian Franke <franke@computer.org>
18190
18191 * configure.ac: Do not CHECK_BSS_START_SYMBOL
18192 and CHECK_END_SYMBOL if grub-emu is built.
18193 Unset TARGET_OBJ2ELF if grub-emu is built
18194 without module support.
18195
18196 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
18197
18198 Nilfs2 support.
18199
18200 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
18201 (grub_fstest_SOURCES): Likewise.
18202 (pkglib_MODULES): Add nilfs2.mod.
18203 (nilfs2_mod_SOURCES): New variable.
18204 (nilfs2_mod_CFLAGS): Likewise.
18205 (nilfs2_mod_LDFLAGS): Likewise.
18206 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18207 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18208 * fs/nilfs2.c: New file.
18209
18210 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
18211
18212 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
18213 is not supported.
18214
18215 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
18216
18217 Add grub-mkconfig support for NetBSD.
18218
18219 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
18220 * util/grub-mkconfig.in: export new NetBSD specific variables.
18221 * po/POTFILES-shell: added 10_netbsd.in.
18222 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
18223
18224 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
18225
18226 Fix emu build with grub-emu-pci and grub-emu-modules.
18227
18228 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
18229 functions.
18230 * include/grub/libpciaccess.h: New file.
18231 * conf/any-emu.rmk: Update kernel headers for emu build.
18232
18233 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18234
18235 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
18236
18237 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18238
18239 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
18240
18241 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18242
18243 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
18244 Retrieve chosen/bootpath if bootpath isn't hardcoded.
18245 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
18246 util/ieee1275/ofpath.c.
18247 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
18248 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
18249 * include/grub/sparc64/ieee1275/boot.h
18250 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
18251 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
18252 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
18253 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
18254 const char *.
18255 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
18256 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
18257 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
18258 install.
18259
18260 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18261
18262 * util/grub-mkconfig.in: Corrected two == equality tests.
18263 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
18264 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
18265 expect a number appended to it.
18266 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
18267 expects a number appended to it.
18268
18269 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18270
18271 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
18272
18273 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18274
18275 * util/hostdisk.c (make_device_name): Change to new partition naming.
18276
18277 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18278
18279 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
18280
18281 2010-04-17 Christian Franke <franke@computer.org>
18282
18283 * Makefile.in: Add missing localedir setting.
18284
18285 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
18286
18287 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
18288 mistake in r2156. Noticed by Anthony Fok.
18289
18290 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
18291 @localedir@.
18292 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18293
18294 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
18295
18296 Fix a spurious, uninitialized variable warning.
18297
18298 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
18299 Initialize variable, shdr.
18300 (grub_freebsd_load_elfmodule): Likewise.
18301 (grub_freebsd_load_elf_meta): Likewise.
18302
18303 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
18304
18305 Fix for escaped dollar in double quoted strings.
18306
18307 * script/yylex.l: Updated flex rules.
18308 * conf/tests.rmk: Rule for new testcase.
18309 * tests/grub_script_dollar.in: New testcase.
18310
18311 2010-04-13 Carles Pina i Estany <carles@pina.cat>
18312 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
18313
18314 Enclose all translated strings in grub.cfg in single quotes, and
18315 escape them appropriately (Ubuntu bug #552921).
18316
18317 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
18318 * util/grub.d/10_hurd.in: Use it.
18319 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18320 * util/grub.d/10_linux.in (linux_entry): Likewise.
18321
18322 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18323
18324 Fix cygwin compilation.
18325
18326 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
18327 * include/grub/misc.h (__register_frame_info)
18328 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
18329 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18330 * kern/misc.c (__register_frame_info)
18331 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
18332 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18333
18334 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
18337
18338 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18339
18340 Unify libgcc processing.
18341
18342 * Makefile.in (kernel_img_LDFLAGS): New variable.
18343 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
18344 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
18345 overwriting.
18346 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
18347 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
18348 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
18349 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
18350 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
18351 overwriting. Remove -lgcc and -static-libgcc
18352 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
18353 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18354 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18355 (kernel_img_LDFLAGS): Append instead of overwriting.
18356 Remove -lgcc and -static-libgcc
18357 * conf/sparc64-ieee1275.rmk: Likewise.
18358 * include/grub/powerpc/libgcc.h: Move to ...
18359 * include/grub/libgcc.h: .. this.
18360 * include/grub/libgcc.h: Don't export most of the function on x86.
18361 (__bswapsi2): New export.
18362 (__bswapdi2): Likewise.
18363 * include/grub/mips/libgcc.h: Removed.
18364 * include/grub/sparc64/libgcc.h: Likewise.
18365
18366 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18367
18368 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
18369 disk_info_msg (conflicts with gettexting into languages with cases).
18370
18371 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
18372
18373 Add grub-probe support for NetBSD.
18374
18375 * util/getroot.c (find_root_device): Convert block device to
18376 character device on NetBSD.
18377 * util/probe.c (probe): Require character device on NetBSD.
18378 * util/hostdisk.c: NetBSD specific headers.
18379 (configure_device_driver): new function to tune device driver
18380 parameters (currently only for NetBSD floppy driver).
18381 (grub_util_biosdisk_open): NetBSD specific code (get disk size
18382 via disklabel ioctl).
18383 (open_device): call configure_device_driver on NetBSD.
18384 (convert_system_partition_to_system_disk): NetBSD specific code.
18385 (device_is_wholedisk): Likewise.
18386 (grub_util_biosdisk_get_grub_dev): Likewise.
18387 (make_device_name): Fixed a typo in bsd_part_str.
18388 * configure.ac: check for opendisk() and getrawpartition() on
18389 NetBSD and set LIBUTIL.
18390 * Makefile.in: add LIBUTIL to LIBS.
18391
18392 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18393
18394 Documentation fix.
18395
18396 * util/grub-script-check.c: Better help message.
18397
18398 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18399
18400 Fix FreeBSD build.
18401
18402 * configure.ac: Flex version check.
18403 * conf/common.rmk: Add -Wno-error to sh.mod.
18404 * script/yylex.l: Remove all #pragma.
18405
18406 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18407
18408 * include/grub/util/misc.h (canonicalise_file_name): Add missing
18409 prototype.
18410 Reported by: Seth Goldberg.
18411
18412 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18413
18414 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
18415 Rename "module" to "module2".
18416 Reported by: Seth Goldberg.
18417
18418 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18419
18420 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
18421 EXPORT_FUNC.
18422 Reported by: Seth Goldberg.
18423
18424 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18425
18426 * lib/posix_wrap/locale.h: Add missing file.
18427 Reported by: Seth Goldberg.
18428
18429 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18430
18431 grub-emu module load support.
18432
18433 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
18434 NO_DYNAMIC_MODULES switched to this.
18435 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
18436 (CFLAGS): Likewise.
18437 * conf/any-emu.rmk: Generate symlist.
18438 (kernel_img_HEADERS): Add util/datetime.h.
18439 (kernel_img_HEADERS) [sdl]: Add sdl.h.
18440 (kernel_img_HEADERS) [libusb]: Add libusb.h.
18441 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
18442 kern/$(target_cpu)/cache.S.
18443 * configure.ac (grub-emu-modules): New option.
18444 * genmk.rb: Handle multiple source lists.
18445 * include/grub/sdl.h: New file.
18446 * include/grub/libusb.h: Likewise.
18447 * util/grub-emu.c (main): Hanle (host) root.
18448 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
18449 GRUB_ERR_UNKNOWN_DEVICE.
18450 * util/misc.c: Move mm functions to ...
18451 * util/mm.c: ... here. All users updated.
18452
18453 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18454
18455 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
18456 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
18457 missing files.
18458 (maintainer-clean): Remove libgcrypt-grub.
18459
18460 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18461
18462 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
18463
18464 2010-04-09 EFI Coder <eficoder@hotmail.com>
18465
18466 * normal/menu_text.c (print_message): Clean up the message and show
18467 the Fn information when on EFI
18468 * term/efi/console.c (grub_console_checkkey): Add F4 support.
18469
18470 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18471
18472 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
18473 All users updated.
18474 * normal/crypto.c (read_crypto_list): Likewise.
18475 * normal/dyncmd.c (read_command_list): Likewise.
18476 * normal/term.c (read_terminal_list): Likewise.
18477 * normal/main.c (read_lists): Use explicit prefix.
18478 (read_lists_hook): Use read_lists.
18479 (grub_normal_execute): Likewise.
18480
18481 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18482
18483 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
18484 Reported by: Thomas Schmitt.
18485 Add -no-emul-boot to grub-mkisofs parameters.
18486
18487 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18488
18489 * font/font.c: Indented.
18490
18491 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18492
18493 Elif support to GRUB script (by Deepak Vankadaru).
18494
18495 * tests/grub_script_if.in: New testcase.
18496 * conf/tests.rmk: Rule for new testcase.
18497 * script/parser.y: Grammar rules for elif.
18498
18499 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18500
18501 While and until loops support to GRUB script.
18502
18503 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18504 (grub_script_create_cmdwhile): New function prototype.
18505 (grub_script_execute_cmdwhile): New function prototype.
18506 * script/execute.c (grub_script_execute_cmdwhile): New function.
18507 * script/parser.y (command): New commands.
18508 (whilecmd): New grammar rule.
18509 (untilcmd): New grammar rule.
18510 * script/script.c (grub_script_create_cmdwhile): New function.
18511 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18512 function.
18513
18514 * tests/grub_script_while1.in: New testcase.
18515 * conf/tests.rmk: Rule for new testcase.
18516
18517 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18518
18519 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18520 as *.jpg.
18521
18522 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
18523
18524 GRUB_BACKGROUND support.
18525
18526 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18527 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18528
18529 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18530
18531 Load fonts and modules for gfxmenu in grub-mkconfig.
18532 Idea by: Mario Vazquez
18533
18534 * util/grub.d/00_header.in: Load pf2 and image modules.
18535
18536 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18537
18538 grub-mkconfig multiple terminal support.
18539
18540 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18541 * util/grub.d/00_header.in: Likewise.
18542
18543 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18544
18545 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18546 we use cd $(srcdir).
18547
18548 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
18549
18550 * util/grub.d/10_linux.in: Only use the first word of
18551 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18552 spaces in GRUB_DISTRIBUTOR.
18553 * util/grub.d/10_kfreebsd.in: Likewise.
18554 * util/grub.d/10_hurd.in: Likewise.
18555
18556 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18557
18558 Fix unit testing framework for Qemu 0.12.
18559
18560 * tests/util/grub-shell.in: Remove -serial stdio option.
18561
18562 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18563
18564 POSIX header file wrappers.
18565
18566 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18567 equivalents.
18568 * lib/posix_wrap/ctype.h: Likewise.
18569 * lib/posix_wrap/errno.h: Likewise.
18570 * lib/posix_wrap/langinfo.h: Likewise.
18571 * lib/posix_wrap/limits.h: Likewise.
18572 * lib/posix_wrap/localcharset.h: Likewise.
18573 * lib/posix_wrap/stdint.h: Likewise.
18574 * lib/posix_wrap/stdio.h: Likewise.
18575 * lib/posix_wrap/stdlib.h: Likewise.
18576 * lib/posix_wrap/string.h: Likewise.
18577 * lib/posix_wrap/sys/types.h: Likewise.
18578 * lib/posix_wrap/unistd.h: Likewise.
18579 * lib/posix_wrap/wchar.h: Likewise.
18580 * lib/posix_wrap/wctype.h: Likewise.
18581 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18582 (grub_script.yy.h): Likewise.
18583 * script/yylex.l: Remove POSIX emulation #defines.
18584 * Makefile.in (POSIX_CFLAGS): New variable.
18585 (GNULIB_UTIL_CFLAGS): Likewise.
18586
18587 Regexp support.
18588
18589 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18590 (regexp_mod_SOURCES): New variable.
18591 (regexp_mod_CFLAGS): Likewise.
18592 (regexp_mod_LDFLAGS): Likewise.
18593 * commands/regexp.c: New file.
18594 * gnulib/regcomp.c: New file. Imported from gnulib.
18595 * gnulib/regex.c: Likewise.
18596 * gnulib/regex_internal.c: Likewise.
18597 * gnulib/regex_internal.h: Likewise.
18598 * gnulib/regexec.c: Likewise.
18599 * gnulib/regex.h: Likewise.
18600
18601 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18602
18603 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18604 unsupported video mode types.
18605
18606 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18607
18608 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18609
18610 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18611
18612 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18613 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18614
18615 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18616
18617 Remove unused grub_vga_get_font.
18618
18619 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18620 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18621
18622 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18623
18624 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18625 * include/grub/misc.h: Likewise.
18626
18627 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18628
18629 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18630 for which failure is fatal.
18631
18632 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18633
18634 * util/grub-install.in: Use mkdir -p to create grub directory.
18635 * util/i386/efi/grub-install.in: Likewise.
18636 * util/ieee1275/grub-install.in: Likewise.
18637
18638 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18639
18640 * Makefile.in (LEX): new variable.
18641
18642 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18643
18644 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18645 `=' and added double quotes on operands of this equality test.
18646
18647 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18648
18649 * Makefile.in (uninstall): Remove a leftover debug echo.
18650 Reported by: Grégoire Sutre
18651
18652 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18653
18654 MIPS multiboot2 support.
18655
18656 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18657 (multiboot2_mod_SOURCES): New variable.
18658 (multiboot2_mod_CFLAGS): Likewise.
18659 (multiboot2_mod_LDFLAGS): Likewise.
18660 (multiboot2_mod_ASFLAGS): Likewise.
18661 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18662 definition.
18663 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18664 (MULTIBOOT_MBI_REGISTER): Likewise.
18665 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18666 (MULTIBOOT_ELF32_MACHINE): Likewise.
18667 (MULTIBOOT_ELF64_MACHINE): Likewise.
18668 * include/grub/mips/multiboot.h: New file.
18669 * include/grub/video.h (grub_video_driver_id): New type
18670 GRUB_VIDEO_DRIVER_SM712.
18671 (grub_video_get_info_and_fini): Export.
18672 (grub_video_get_palette): Likewise.
18673 (grub_video_get_driver_id): Likewise.
18674 * include/multiboot2.h: Resynced with spec.
18675 * loader/i386/multiboot.c: Moved from here ...
18676 * loader/multiboot.c: ... here. All users updated.
18677 (grub_multiboot_boot): Use platform-specific macros.
18678 * loader/i386/multiboot_elfxx.c: Moved from here ...
18679 * loader/multiboot_elfxx.c: ... here. All users updated.
18680 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
18681 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
18682 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
18683
18684 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18685
18686 Import gnulib argp module.
18687
18688 * gnulib/argp-ba.c: New file.
18689 * gnulib/argp-eexst.c: Likewise.
18690 * gnulib/argp-fmtstream.c: Likewise.
18691 * gnulib/argp-fmtstream.h: Likewise.
18692 * gnulib/argp-fs-xinl.c: Likewise.
18693 * gnulib/argp-help.c: Likewise.
18694 * gnulib/argp-namefrob.h: Likewise.
18695 * gnulib/argp-parse.c: Likewise.
18696 * gnulib/argp-pin.c: Likewise.
18697 * gnulib/argp-pv.c: Likewise.
18698 * gnulib/argp-pvh.c: Likewise.
18699 * gnulib/argp-version-etc.c: Likewise.
18700 * gnulib/argp-version-etc.h: Likewise.
18701 * gnulib/argp-xinl.c: Likewise.
18702 * gnulib/argp.h: Likewise.
18703
18704 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18705
18706 * kern/device.c (grub_device_iterate): Clear errors after failed
18707 opening device.
18708
18709 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18710
18711 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
18712 returned by firmware.
18713
18714 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18715
18716 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
18717 compilation on coreboot and qemu
18718
18719 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18720
18721 * include/multiboot2.h: Resync with spec.
18722
18723 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18724
18725 Multiboot2 tag support
18726
18727 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
18728 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
18729 Remove loader/multiboot_loader.c.
18730 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18731 (grub_multiboot2_real_boot): Likewise.
18732 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
18733 (grub_get_multiboot_mmap_count): New proto.
18734 (grub_fill_multiboot_mmap): Likewise.
18735 (grub_multiboot_set_video_mode): Likewise.
18736 (grub_multiboot_set_console): Likewise.
18737 (grub_multiboot_load): Likewise.
18738 (grub_multiboot_load_elf): Likewise.
18739 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
18740 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
18741 * include/multiboot.h: Resynced with specification.
18742 * include/multiboot2.h: Resynced with specification.
18743 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
18744 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
18745 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
18746 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
18747 users updated.
18748 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
18749 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18750 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18751 Removed.
18752 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18753 Moved from here...
18754 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18755 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18756 Moved from here...
18757 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18758 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18759 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18760 All users updated.
18761 * loader/i386/multiboot_mbi2.c: New file.
18762
18763 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18764
18765 Resync with gnulib.
18766
18767 * Makefile.in (GNULIB_CFLAGS): New variable.
18768 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18769 (grub_script_check_CFLAGS): New variable.
18770 * gnulib/alloca.h: Resync with gnulib.
18771 * gnulib/error.c: Likewise.
18772 * gnulib/error.h: Likewise.
18773 * gnulib/fnmatch.c: Likewise.
18774 * gnulib/fnmatch_loop.c: Likewise.
18775 * gnulib/getdelim.c: Likewise.
18776 * gnulib/getline.c: Likewise.
18777 * gnulib/getopt.c: Likewise.
18778 * gnulib/getopt1.c: Likewise.
18779 * gnulib/getopt_int.h: Likewise.
18780 * gnulib/gettext.h: Likewise.
18781 * gnulib/progname.c: Likewise.
18782 * gnulib/progname.h: Likewise.
18783
18784 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
18785
18786 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
18787 which is the case with --disabled-nls.
18788
18789 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
18790 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
18791 * util/misc.c: Likewise.
18792 * util/mkisofs/mkisofs.c: Likewise.
18793 * util/mkisofs/mkisofs.h: Likewise.
18794
18795 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18796
18797 Simplify Apple CC support.
18798
18799 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
18800 Add 0 byte at the end not to have a symbol with empty target.
18801 * mmap/i386/pc/mmap_helper.S: Likewise.
18802 * genmk.rb: Ignore errors 2030 and 2050.
18803 * kern/i386/pc/startup.S: Use LOCAL when possible.
18804
18805 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
18806
18807 Testcase and the fix for final semicolon on cmdline.
18808
18809 * tests/grub_script_final_semicolon.in: New testcase.
18810 * conf/tests.rmk: Rules for the new testcase.
18811 * script/parser.y: Grammar fix.
18812
18813 2010-03-26 BVK Chaitanya <bvk@localhost>
18814
18815 Blank lines testcase for GRUB script.
18816
18817 * tests/grub_script_blanklines.in: New testcase.
18818 * conf/tests.rmk: Rules for the new testcase.
18819
18820 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 Don't use __FILE__.
18823
18824 * genmk.rb: Add -DGRUB_FILE to all C targets.
18825 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
18826 * include/grub/list.h: Likewise.
18827 * include/grub/misc.h: Likewise.
18828 * include/grub/mm.h: Likewise.
18829 * include/grub/test.h: Likewise.
18830 * kern/mm.c: Likewise.
18831 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18832
18833 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18834
18835 Sunpc partitions support.
18836
18837 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
18838 (grub_fstest_SOURCES): Likewise.
18839 (pkglib_MODULES): Add part_sunpc.mod.
18840 (part_sunpc_mod_SOURCES): New variable.
18841 (part_sunpc_mod_CFLAGS): Likewise.
18842 (part_sunpc_mod_LDFLAGS): Likewise.
18843 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
18844 * partmap/sunpc.c: New file.
18845
18846 2010-03-26 BVK Chaitanya <bvk@localhost>
18847
18848 For loop support to GRUB script.
18849
18850 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
18851 (grub_script_create_cmdfor): New function prototype.
18852 (grub_script_execute_cmdfor): New function prototype.
18853 * script/execute.c (grub_script_execute_cmdfor): New function.
18854 * script/parser.y (command): New for command.
18855 (forcmd): New grammar rule.
18856 * script/script.c (grub_script_create_cmdfor): New function.
18857 * util/grub-script-check.c (grub_script_execute_cmdfor): New
18858 function.
18859 * tests/grub_script_for1.in: New testcase.
18860 * conf/tests.rmk: Rules for new testcase.
18861
18862 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18863
18864 Nested partitions
18865
18866 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
18867 'partition' is NULL, grub_partition_get_start already does that.
18868 * commands/loadenv.c (check_blocklists): Likewise.
18869 (write_blocklists): Likewise.
18870 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
18871 (grub_fstest_SOURCES): Likewise.
18872 (pkglib_MODULES): Add part_bsd.mod.
18873 (part_bsd_mod_SOURCES): New variable.
18874 (part_bsd_mod_CFLAGS): Likewise.
18875 (part_bsd_mod_LDFLAGS): Likewise.
18876 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
18877 (grub_emu_SOURCES): Likewise.
18878 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18879 * include/grub/bsdlabel.h: New file.
18880 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
18881 'get_name'.
18882 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
18883 (grub_partition_map_list): New variable.
18884 (grub_partition_map_register): Inline.
18885 (grub_partition_map_unregister): Likewise.
18886 (FOR_PARTITION_MAPS): New macro.
18887 (grub_partition_map_iterate): Removed.
18888 (grub_partition_get_start): Handle nested partitions.
18889 * include/grub/msdos_partition.h: Remove bsd-related entries.
18890 (grub_pc_partition): Remove.
18891 * kern/disk.c (grub_disk_close): Free partition data.
18892 (grub_disk_adjust_range): Handle nested partitions.
18893 * kern/partition.c (grub_partition_map_probe): New function.
18894 (grub_partition_probe): Parse name to number, handle subpartitions.
18895 (get_partmap): New function.
18896 (grub_partition_iterate): Handle subpartitions.
18897 (grub_partition_get_name): Likewise.
18898 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
18899 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
18900 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
18901 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
18902 Set 'number'.
18903 (acorn_partition_map_probe): Remove.
18904 (acorn_partition_map_get_name): Likewise.
18905 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
18906 Set 'number'.
18907 Set 'index' to 0 since there can be only one partition entry per sector.
18908 (amiga_partition_map_probe): Remove.
18909 (amiga_partition_map_get_name): Likewise.
18910 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
18911 Set 'number'.
18912 Set 'offset' and 'index' to real positions of partitions.
18913 (apple_partition_map_probe): Remove.
18914 (apple_partition_map_get_name): Likewise.
18915 * partmap/bsdlabel.c: New file.
18916 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
18917 Set 'number'.
18918 Allocate 'data' so it can be correctly freed.
18919 Set 'index' to offset inside sector.
18920 (gpt_partition_map_probe): Remove.
18921 (gpt_partition_map_get_name): Likewise.
18922 * partmap/msdos.c (grub_partition_parse): Remove.
18923 (pc_partition_map_iterate): Don't force raw access.
18924 Set 'number'.
18925 Make 'ext_offset' a local variable.
18926 (pc_partition_map_probe): Remove.
18927 (pc_partition_map_get_name): Remove.
18928 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
18929 Set 'number'.
18930 (sun_partition_map_probe): Remove.
18931 (sun_partition_map_get_name): Likewise.
18932 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
18933 (grub_pcpart_type): Likewise.
18934 * util/hostdisk.c (open_device): Handle new numbering scheme.
18935 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
18936 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
18937 * util/grub-probe.c (probe_partmap): Handle nested paritions.
18938 * util/grub-install.in: Insert all subpartition modules.
18939 * util/ieee1275/grub-install.in: Likewise.
18940
18941 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
18942
18943 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
18944 grammar.
18945
18946 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
18947
18948 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
18949
18950 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
18951
18952 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
18953 match where 'make install' puts them.
18954 * util/i386/efi/grub-install.in: Likewise.
18955
18956 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
18957
18958 * .bzrignore: Add gentrigtables, grub-script-check,
18959 grub_script_check_init.c, grub_script_check_init.h, and
18960 trigtables.c.
18961
18962 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
18963
18964 * kern/parser.c: Indented.
18965
18966 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18967
18968 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
18969
18970 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18971
18972 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
18973 alpha_mask_size == 0 case.
18974
18975 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
18976
18977 GRUB shell lexer and parser improvements.
18978
18979 * conf/any-emu.rmk: Build rule updates.
18980 * conf/common.rmk: Likewise.
18981 * conf/i386-coreboot.rmk: Likewise.
18982 * conf/i386-efi.rmk: Likewise.
18983 * conf/i386-ieee1275.rmk: Likewise.
18984 * conf/i386-pc.rmk: Likewise.
18985 * conf/powerpc-ieee1275.rmk: Likewise.
18986 * conf/x86_64-efi.rmk: Likewise.
18987
18988 * configure.ac: Configure check for flex.
18989
18990 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
18991 types.
18992 (grub_lexer_param): Struct member updates.
18993 (grub_parser_param): Likewise.
18994 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
18995 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
18996 (grub_script_lexer_init): Prototype update.
18997 (grub_script_lexer_record_start): Likewise.
18998 (grub_script_lexer_record_stop): Likewise.
18999 (grub_script_lexer_yywrap): New function prototype.
19000 (grub_script_lexer_fini): Likewise.
19001 (grub_script_execute_argument_to_string): Removed by...
19002 (grub_script_execute_argument_to_argv): ...better version.
19003
19004 * script/execute.c (ROUND_UPTO): New macro.
19005 (grub_script_execute_cmdline): Out of memory fixes.
19006 (grub_script_execute_menuentry): Likewise.
19007 (grub_script_execute_argument_to_string): Removed. Update all
19008 users by...
19009 (grub_script_execute_argument_to_argv): ...better version.
19010 * script/function.c (grub_script_function_create): Use
19011 grub_script_execute_argument_to_argv instead of
19012 grub_script_execute_argument_to_string.
19013
19014 * script/lexer.c (check_varstate): Removed.
19015 (check_textstate): Removed.
19016 (grub_script_lexer_record_start): Likewise.
19017 (grub_script_lexer_record_stop): Likewise.
19018 (recordchar): Replaced with...
19019 (grub_script_lexer_record): ...new function.
19020 (nextchar): Removed.
19021 (grub_script_lexer_init): Rewritten.
19022 (grub_script_yylex): Rewritten.
19023 (append_newline): New function.
19024 (grub_script_lexer_yywrap): New function.
19025 (grub_script_lexer_fini): New function.
19026 (grub_script_yyerror): Sets error flag.
19027
19028 * script/yylex.l: New file.
19029 (grub_lexer_yyfree): Wrapper for flex yyffre.
19030 (grub_lexer_yyalloc): Likewise.
19031 (grub_lexer_yyrealloc): Likewise.
19032 * script/parser.y: Refactored.
19033
19034 * script/script.c (grub_script_arg_add): Out of memory fixes.
19035 (grub_script_add_arglist): Likewise.
19036 (grub_script_create_cmdline): Likewise.
19037 (grub_script_create_cmdmenu): Likewise.
19038 (grub_script_add_cmd): Likewise.
19039 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
19040 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
19041 unnecessary code.
19042
19043 * tests/grub_script_echo1.in: New testcase.
19044 * tests/grub_script_vars1.in: New testcase.
19045 * tests/grub_script_echo_keywords.in: New testcase.
19046
19047 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19048
19049 Remove some redundancy in build system.
19050
19051 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
19052 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
19053 (TARGET_LDFLAGS): Add -nostdlib.
19054 (TARGET_IMG_LDFLAGS): Likewise.
19055 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
19056 anything since mmap isn't available.
19057 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
19058 Add util/time.c.
19059 (pkglib_MODULES): Remove reboot.mod.
19060 (reboot_mod_SOURCES): Removed.
19061 (reboot_mod_CFLAGS): Likewise.
19062 (reboot_mod_LDFLAGS): Likewise.
19063 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
19064 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
19065 (DEFSYMFILES): Add kernel_syms.lst.
19066 (kernel_img_HEADERS): Add common headers.
19067 (symlist.c): New target.
19068 (kernel_syms.lst): Likewise.
19069 (pkglib_MODULES): Add memdisk.mod.
19070 (memdisk_mod_SOURCES): New variable.
19071 (memdisk_mod_CFLAGS): Likewise.
19072 (memdisk_mod_LDFLAGS): Likewise.
19073 (pkglib_MODULES): Add reboot.mod.
19074 (reboot_mod_SOURCES): New variable.
19075 (reboot_mod_CFLAGS): Likewise.
19076 (reboot_mod_LDFLAGS): Likewise.
19077 (pkglib_MODULES): Add date.mod.
19078 (date_mod_SOURCES): New variable.
19079 (date_mod_CFLAGS): Likewise.
19080 (date_mod_LDFLAGS): Likewise.
19081 (pkglib_MODULES): Add datehook.mod.
19082 (datehook_mod_SOURCES): New variable.
19083 (datehook_mod_CFLAGS): Likewise.
19084 (datehook_mod_LDFLAGS): Likewise.
19085 (pkglib_MODULES): Add lsmmap.mod.
19086 (lsmmap_mod_SOURCES): New variable.
19087 (lsmmap_mod_CFLAGS): Likewise.
19088 (lsmmap_mod_LDFLAGS): Likewise.
19089 (pkglib_MODULES): Add boot.mod.
19090 (boot_mod_SOURCES): New variable.
19091 (boot_mod_CFLAGS): Likewise.
19092 (boot_mod_LDFLAGS): Likewise.
19093 * conf/i386-coreboot.rmk: Removed redundant parts.
19094 * conf/i386-ieee1275.rmk: Likewise.
19095 * conf/i386-pc.rmk: Likewise.
19096 * conf/mips-yeeloong.rmk: Likewise.
19097 * conf/mips.rmk: Likewise.
19098 * conf/powerpc-ieee1275.rmk: Likewise.
19099 * conf/sparc64-ieee1275.rmk: Likewise.
19100 * conf/x86_64-efi.rmk: Likewise.
19101 * conf/i386-coreboot.rmk: Moved qemu parts ..
19102 * conf/i386-qemu.rmk: ... here
19103 * conf/i386-efi.rmk: Moved common parts to...
19104 * conf/x86-efi.rmk: ... here.
19105 * conf/i386.rmk: Added modules common to all x86 variants.
19106 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
19107 * disk/memdisk.c: Remove grub/machine/kernel.h.
19108 * gensymlist.sh.in: Include symbol.h.
19109 * hook/datehook.c: Correct module name.
19110 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
19111 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
19112 * include/grub/i386/efi/serial.h: New file.
19113 * include/grub/x86_64/efi/serial.h: Likewise.
19114 * util/time.c: Likewise.
19115 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
19116
19117 2010-03-14 Colin King <colin.king@ubuntu.com>
19118 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
19119
19120 Shrink the pre-partition-table part of boot.img by eight bytes.
19121
19122 * boot/i386/pc/boot.S (ERR): New macro.
19123 (chs_mode): Use ERR.
19124 (geometry_error): Likewise.
19125 (hd_probe_error): Remove. This is only used once, so we wrwite
19126 it inline instead.
19127 (read_error): Instead of printing read_error_string, just set up
19128 %si and fall through to ...
19129 (error_message): ... this new function, also used by ERR.
19130
19131 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
19132
19133 Speed up consecutive hostdisk operations on the same device.
19134
19135 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
19136 (grub_util_biosdisk_open): Initialise disk->data.
19137 (struct linux_partition_cache): New structure.
19138 (linux_find_partition): Cache partition start positions; these are
19139 expensive to compute on every read and write.
19140 (open_device): Cache open file descriptor in disk->data, so that we
19141 don't have to reopen it and flush the buffer cache for consecutive
19142 operations on the same device.
19143 (grub_util_biosdisk_close): New function.
19144 (grub_util_biosdisk_dev): Set `close' member.
19145
19146 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
19147 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
19148 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19149 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19150 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
19151
19152 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19153
19154 Compile parts of grub-emu as modules.
19155
19156 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
19157 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
19158 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
19159 (all-local): Add $(GRUB_EMU).
19160 (install-local): Install $(GRUB_EMU).
19161 (uninstall): Uninstall $(GRUB_EMU).
19162 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
19163 * kern/dl.c: Likewise.
19164 * commands/sleep.c: Not include machine/time.h.
19165 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
19166 (COMMON_CFLAGS): Likewise.
19167 (sbin_UTILITIES): Remove grub-emu.
19168 (grub_emu_SOURCES): Removed.
19169 (kernel_img_RELOCATABLE): New variable.
19170 (pkglib_PROGRAMS): Add kernel.img.
19171 (kernel_img_SOURCES): New variable
19172 (kernel_img_CFLAGS): Likewise.
19173 (kernel_img_LDFLAGS): Likewise.
19174 (TARGET_NO_STRIP): Likewise.
19175 (TARGET_NO_DYNAMIC_MODULES): Likewise.
19176 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
19177 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
19178 (grub-emu): New target.
19179 (GRUB_EMU): New variable.
19180 * configure.ac: Whitelist -emu as possible x86_64 architecture.
19181 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
19182 * loader/xnu.c: Likewise.
19183 * include/grub/pci.h: Likewise.
19184 * genemuinit.sh: New file.
19185 * genemuinitheader.sh: Likewise.
19186 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
19187 Support TARGET_NO_DYNAMIC_MODULES.
19188 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
19189 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
19190 * disk/loopback.c: Likewise.
19191 * font/font_cmd.c: Likewise.
19192 * partmap/acorn.c: Likewise.
19193 * partmap/amiga.c: Likewise.
19194 * partmap/apple.c: Likewise.
19195 * partmap/gpt.c: Likewise.
19196 * partmap/msdos.c: Likewise.
19197 * partmap/sun.c: Likewise.
19198 * parttool/msdospart.c: Likewise.
19199 * term/gfxterm.c: Likewise.
19200 * video/bitmap.c: Likewise.
19201 * video/readers/jpeg.c: Likewise.
19202 * video/readers/png.c: Likewise.
19203 * video/readers/tga.c: Likewise.
19204 * video/video.c: Likewise.
19205 * util/grub-emu.c (read_command_list): Removed.
19206 (main): Don't call util_init_nls.
19207 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
19208 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
19209
19210 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19211
19212 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
19213 date.mod, datehook.mod.
19214 (datetime_mod_SOURCES): New variable.
19215 (datetime_mod_CFLAGS): Likewise.
19216 (datetime_mod_LDFLAGS): Likewise.
19217 (date_mod_SOURCES): Likewise.
19218 (date_mod_CFLAGS): Likewise.
19219 (date_mod_LDFLAGS): Likewise.
19220 (datehook_mod_SOURCES): Likewise.
19221 (datehook_mod_CFLAGS): Likewise.
19222 (datehook_mod_LDFLAGS): Likewise.
19223 * conf/sparc64-ieee1275.rmk: Likewise.
19224 * lib/ieee1275/datetime.c: New file.
19225
19226 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19227
19228 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
19229 (ieee1275_fb_mod_SOURCES): New variable.
19230 (ieee1275_fb_mod_CFLAGS): Likewise.
19231 (ieee1275_fb_mod_LDFLAGS): Likewise.
19232 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
19233 New proto.
19234 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
19235 (HEAP_MAX_ADDR): Likewise.
19236 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
19237 type.
19238 Correct stop condition.
19239 (grub_ieee1275_devices_iterate): New function.
19240 * video/ieee1275.c: New file.
19241
19242 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19243
19244 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
19245
19246 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
19247 as scratch.
19248 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
19249 SCRATCH_PAD_DISKBOOT as scratch.
19250 (bootit): Pass Openfirmware pointer in %o4.
19251 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
19252 of 0x200000.
19253 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
19254 with util/grub-mkrawimage.c.
19255 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
19256 * include/grub/aout.h (AOUT_MID_SUN): New definition.
19257 (grub_aout_get_type) [GRUB_UTIL]: Removed.
19258 (grub_aout_load) [GRUB_UTIL]: Likewise.
19259 * include/grub/kernel.h (grub_modules_get_end): New proto.
19260 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
19261 (SCRATCH_PAD_BOOT): New definition.
19262 (SCRATCH_PAD_DISKBOOT): Likewise.
19263 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
19264 * include/grub/sparc64/ieee1275/ieee1275.h
19265 (grub_ieee1275_original_stack): New variable
19266 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19267 New definition
19268 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
19269 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
19270 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
19271 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
19272 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
19273 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
19274 (grub_platform_image_format_t): New type.
19275 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
19276 * kern/main.c (grub_modules_get_end)
19277 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
19278 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
19279 (codestart): Switch stacks.
19280 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
19281 variable.
19282 (grub_heap_init): Use grub_modules_get_end.
19283 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
19284 stack.
19285 * util/grub-mkrawimage.c (generate_image): Support sparc64.
19286 (main): Likewise.
19287 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
19288
19289 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
19290
19291 * util/grub-mkrescue.in: Base ISO UUID on UTC.
19292
19293 2010-03-08 Matt Kraai <kraai@ftbfs.org>
19294
19295 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
19296 bug #559005).
19297
19298 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
19299
19300 * genmoddep.awk: Output all missing symbols and not only first.
19301
19302 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19303
19304 * NEWS: Put the date of 1.98 release.
19305
19306 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19307
19308 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
19309 ft2build.h.
19310
19311 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19312
19313 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
19314 completition in the middle of string.
19315
19316 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19317
19318 * util/grub-mkrescue.in: Use mktemp with explicit template.
19319
19320 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19321
19322 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
19323
19324 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19325
19326 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
19327 right pointer.
19328
19329 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19330
19331 Fix FreeBSD compilation.
19332
19333 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
19334 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
19335
19336 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19337
19338 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
19339
19340 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19341
19342 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
19343
19344 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19345
19346 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
19347
19348 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
19349
19350 Support relative image path in theme file.
19351
19352 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
19353 (image_set_property): Handle theme_dir and relative path.
19354
19355 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19356
19357 * configure.ac: Alias amd64 to x86_64.
19358
19359 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19360
19361 * NEWS: mention multiboot on EFI.
19362
19363 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19364
19365 * kern/main.c (grub_load_modules): Handle errors from init functions of
19366 embeded modules.
19367
19368 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19369
19370 * normal/autofs.c (autoload_fs_module): Handle errors.
19371
19372 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19373
19374 Disable linux.mod on qemu-mips since it's not functional and leads
19375 to compilation failure.
19376
19377 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
19378 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
19379 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
19380 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
19381 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
19382 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
19383 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
19384 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
19385 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
19386 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
19387 Reported by: BVK Chaitanya
19388
19389 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
19390
19391 * INSTALL: Add gettext as a dependency and add qemu to a new section
19392 "Prerequisites for make-check".
19393
19394 2010-03-04 Christian Franke <franke@computer.org>
19395
19396 * util/grub-pe2elf.c: Add missing include "progname.h".
19397
19398 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19399
19400 * normal/crypto.c (read_crypto_list): Fix a typo.
19401 Reported by: Seth Goldberg.
19402
19403 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19404
19405 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
19406 Reported by: Seth Goldberg.
19407
19408 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19409
19410 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
19411 ascii.bitmaps.
19412
19413 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19414
19415 * genmk.rb: Remove terminal*.lst in make clean.
19416 Reported by: Seth Goldberg.
19417
19418 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19419
19420 * util/i386/efi/grub-install.in: Copy gettext files.
19421
19422 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19423
19424 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
19425
19426 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 Wait for user entry basing on presence of output rather than on errors.
19429
19430 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
19431 (grub_install_newline_hook): Likewise.
19432 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
19433 * normal/menu.c (show_menu): Check line_counter to determine presence
19434 of output.
19435 * normal/term.c (grub_normal_line_counter): New variable.
19436 (grub_normal_get_line_counter): New function.
19437 (grub_install_newline_hook): Likewise.
19438
19439 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19440
19441 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
19442
19443 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19444
19445 * configure.ac: Update version to 1.98.
19446
19447 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19448
19449 * util/grub.d/10_linux.in (linux_entry): Don't default to
19450 gfxpayload=keep if Linux doesn't support video handover.
19451
19452 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
19453
19454 Don't compile video modules on yeeloong since video subsystem is part
19455 of kernel.
19456
19457 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
19458 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
19459 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
19460 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19461 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
19462 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
19463 * include/grub/bitmap_scale.h: Likewise.
19464 * include/grub/bufio.h: Likewise.
19465 * include/grub/font.h: Likewise.
19466 * include/grub/gfxterm.h: Likewise.
19467 * include/grub/video.h: Likewise.
19468 * include/grub/vbe.h: Don't include video_fb.h.
19469 * video/i386/pc/vbe.c: Include video_fb.h.
19470 * commands/i386/pc/vbetest.c: Include video.h.
19471
19472 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
19473
19474 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
19475 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
19476 default entry if GRUB_SAVEDEFAULT=true. This allows using
19477 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
19478 saving a new default on every boot.
19479
19480 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19481
19482 * normal/crypto.c (read_crypto_list): Fix a memory leak.
19483 * normal/term.c (read_terminal_list): Likewise.
19484 * normal/main.c (grub_normal_init_page): Likewise.
19485 (grub_normal_read_line_real): Likewise.
19486
19487 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19488
19489 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
19490 memory leak.
19491 Reported by: Seth Goldberg.
19492
19493 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
19494
19495 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19496 duplicate declaration of `start'.
19497
19498 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19499
19500 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19501 filename.
19502 Reported by: Georgy Buranov
19503
19504 2010-02-20 Carles Pina i Estany <carles@pina.cat>
19505
19506 * util/grub-mkrawimage.c (usage): Change string formatting to
19507 improve gettext.
19508
19509 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19510
19511 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19512 backspace keys.
19513
19514 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19515
19516 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19517 Reported by: Michael Suchanek.
19518
19519 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
19520
19521 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19522 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19523
19524 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 Remove any reference to non-free fonts.
19527
19528 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19529 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19530 uses non-free components.
19531 * font/font.c (grub_font_get_name): Remove example name.
19532 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19533 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19534 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19535 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19536
19537 2010-02-16 Georgy Buranov <gburanov@gmail.com>
19538
19539 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19540
19541 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19542
19543 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19544 Double divisor.
19545 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19546 features.
19547 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19548
19549 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19550
19551 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19552
19553 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19554
19555 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19556 * docs/grub.texi (Command-line and menu entry commands): Document play
19557 command.
19558
19559 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19560
19561 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19562 parse arguments as inline tempo and notes. Move code for playing notes
19563 to...
19564 (play): ... new function.
19565
19566 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19567
19568 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19569 grub_uint16_t instead of short.
19570 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19571 disk from little endian to cpu endianness.
19572
19573 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19574
19575 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19576 GRUB_TICKS_PER_SECOND instead of 120.
19577
19578 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19579
19580 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19581 escape sequence after \e.
19582
19583 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19584
19585 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19586 non-ASCII characters.
19587
19588 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19589
19590 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19591 set root in single quotes to prevent \, from being unescaped.
19592
19593 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19594
19595 Prevent unknown commands from stopping menuentry execution.
19596
19597 * script/execute.c (grub_script_execute_cmdline): Print error after
19598 unknown command.
19599
19600 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19601
19602 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19603 Reported by: Pavel Pisa.
19604
19605 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19606
19607 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19608
19609 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 Merge grub_ieee1275_map_physical into grub_map and rename to
19612 grub_ieee1275_map
19613
19614 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19615 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19616 Remove.
19617 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19618 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19619 necessary.
19620 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19621
19622 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19623
19624 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19625 opening and not after.
19626
19627 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19628
19629 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19630 constants.
19631
19632 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19633
19634 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19635 (alloc_phys): Use ALIGN_UP instead of align_addr.
19636
19637 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19638
19639 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19640
19641 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19642
19643 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19644
19645 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19646
19647 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19648 verbose dprintf.
19649
19650 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19651
19652 Fix over-4GiB seek on sparc64.
19653
19654 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19655 Replace pos_i and pos_lo with pos. All users updated.
19656 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19657 New constant.
19658 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19659 Likewise.
19660 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19661 and pos_lo.
19662
19663 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19664
19665 * util/grub-mkrawimage.c (main): Call set_program_name.
19666
19667 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19668
19669 Properly align 64-bit targets.
19670
19671 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
19672 (generate_image): Use ALIGN_ADDR.
19673
19674 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19675
19676 Properly create cross-endian images.
19677
19678 * include/grub/types.h (grub_host_to_target_addr): New macro
19679 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
19680
19681 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19682
19683 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
19684
19685 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19686
19687 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
19688
19689 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
19690 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
19691 (grub_linux_boot): Divide by 64K when on VESA.
19692
19693 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19694
19695 Support GRUB_GFXPAYLOAD_LINUX.
19696
19697 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
19698 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
19699
19700 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19701
19702 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
19703 to show messages instead of discarding them.
19704 Process errors after executing command and not before. Keep old method
19705 too as precaution.
19706
19707 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
19708
19709 * configure.ac: Check for ft2build.h.
19710
19711 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19712
19713 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
19714
19715 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19716
19717 * genkernsyms.sh.in: Use TARGET_CC.
19718
19719 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
19720
19721 * NEWS: Update.
19722
19723 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19724
19725 * include/grub/multiboot2.h: Remove leftover file.
19726 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
19727 * include/grub/partition.h [GRUB_UTIL]: Likewise.
19728
19729 2010-02-07 Yves Blusseau <blusseau@zetam.org>
19730
19731 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
19732
19733 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19734
19735 Fix warnings in grub-emu when compiling with maximum warning options.
19736
19737 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
19738 (grub_arch_modules_addr): Return 0 and not NULL.
19739 * util/misc.c (ENABLE_RELOCATABLE): New definition.
19740 (xstrdup): Use newstr instead of dup.
19741 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
19742 of disk to dsk to avoid shadowing.
19743 (find_free_slot): Fix prototype.
19744 * util/getroot.c (grub_util_is_dmraid): Make static.
19745 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
19746 Add missing prototype.
19747 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
19748
19749 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19750
19751 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19752 appropriately.
19753
19754 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19755
19756 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19757 code out.
19758
19759 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19760
19761 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19762 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19763 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19764 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19765 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19766 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19767
19768 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19769
19770 * include/grub/err.h (grub_err_printf): Don't export.
19771
19772 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19773
19774 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19775
19776 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19777
19778 * include/grub/i18n.h (grub_gettext_dummy): Removed.
19779 * kern/misc.c (grub_gettext_dummy): Make static.
19780
19781 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19782
19783 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
19784 by non-valid ones.
19785 * kern/term.c (grub_putchar): Likewise.
19786
19787 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19788
19789 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
19790 buggy hook call and memory leak.
19791
19792 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19793
19794 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
19795
19796 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19797
19798 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19799
19800 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19801
19802 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
19803 modevar.
19804 Return grub_errno on allocation error.
19805
19806 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19807
19808 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
19809
19810 2010-02-06 Yves Blusseau <blusseau@zetam.org>
19811
19812 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
19813 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
19814
19815 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19816
19817 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
19818 non-pxe disk.
19819 (grub_pxefs_open): Likewise.
19820
19821 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19822
19823 * util/grub.d/10_hurd.in: Add --class information to menuentries.
19824 * util/grub.d/10_kfreebsd.in: Likewise.
19825 * util/grub.d/10_linux.in: Likewise.
19826
19827 2010-02-06 Colin D Bennett <colin@gibibit.com>
19828
19829 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
19830 (gfxmenu_mod_SOURCES): New variable.
19831 (gfxmenu_mod_CFLAGS): Likewise.
19832 (gfxmenu_mod_LDFLAGS): Likewise.
19833 * include/grub/term.h (grub_term_set_current_output): Declare
19834 argument as const.
19835 * docs/gfxmenu-theme-example.txt: New file.
19836 * gfxmenu/gfxmenu.c: Likewise.
19837 * gfxmenu/gui_box.c: Likewise.
19838 * gfxmenu/gui_canvas.c: Likewise.
19839 * gfxmenu/gui_circular_progress.c: Likewise.
19840 * gfxmenu/gui_image.c: Likewise.
19841 * gfxmenu/gui_label.c: Likewise.
19842 * gfxmenu/gui_list.c: Likewise.
19843 * gfxmenu/gui_progress_bar.c: Likewise.
19844 * gfxmenu/gui_string_util.c: Likewise.
19845 * gfxmenu/gui_util.c: Likewise.
19846 * gfxmenu/icon_manager.c: Likewise.
19847 * gfxmenu/model.c: Likewise.
19848 * gfxmenu/named_colors.c: Likewise.
19849 * gfxmenu/theme_loader.c: Likewise.
19850 * gfxmenu/view.c: Likewise.
19851 * gfxmenu/widget-box.c: Likewise.
19852 * include/grub/gfxmenu_model.h: Likewise.
19853 * include/grub/gfxmenu_view.h: Likewise.
19854 * include/grub/gfxwidgets.h: Likewise.
19855 * include/grub/gui.h: Likewise.
19856 * include/grub/gui_string_util.h: Likewise.
19857 * include/grub/icon_manager.h: Likewise.
19858
19859 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19860
19861 Agglomerate scrolling in gfxterm.
19862
19863 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
19864 (grub_virtual_screen_setup): Initialise 'total_screen'.
19865 (write_char): Split to ...
19866 (paint_char): ... this ...
19867 (write_char): ... and this.
19868 (paint_char): Handle delayed scrolling.
19869 (draw_cursor): Likewise.
19870 (scroll_up): Split to ...
19871 (real_scroll): ... this ...
19872 (scroll_up): ... and this.
19873 (real_scroll): Handle multi-line scroll and draw below-the-bottom
19874 characters.
19875 (grub_gfxterm_refresh): Call real_scroll.
19876
19877 2010-02-06 Colin D Bennett <colin@gibibit.com>
19878
19879 * include/grub/misc.h (grub_iscntrl): New inline function.
19880 (grub_isalnum): Likewise.
19881 (grub_strtol): Likewise.
19882
19883 2010-02-06 Colin D Bennett <colin@gibibit.com>
19884
19885 * normal/menu_text.c (get_entry_number): Move from here ...
19886 * normal/menu.c (get_entry_number): ... moved here.
19887 * include/grub/menu.h (grub_menu_get_default_entry_index):
19888 New prototype.
19889 * normal/menu.c (grub_menu_get_default_entry_index): New function.
19890 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
19891 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
19892 (grub_menu_viewer_should_return): Likewise.
19893 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
19894 * normal/menu_text.c (run_menu): Enable menu switching.
19895 * normal/menu_viewer.c (should_return): New variable.
19896 (menu_viewer_changed): Likewise.
19897 (grub_menu_viewer_show_menu): Handle menu viewer changes.
19898 (grub_menu_viewer_should_return): New function.
19899 (menuviewer_write_hook): Likewise.
19900 (grub_menu_viewer_init): Likewise.
19901
19902 2010-02-06 Colin D Bennet <colin@gibibit.com>
19903 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19904
19905 Support for gfxterm in a window.
19906
19907 * include/grub/gfxterm.h: New file.
19908 * include/grub/video.h (struct grub_video_rect): New declaration.
19909 (grub_video_rect_t): Likewise.
19910 * term/gfxterm.c (struct grub_gfxterm_window): New type.
19911 (refcount): New variable.
19912 (render_target): Likewise.
19913 (window): Likewise.
19914 (repaint_callback): Likewise.
19915 (grub_virtual_screen_setup): Use 'render_target'.
19916 (init_window): New function.
19917 (grub_gfxterm_init_window): Likewise.
19918 (grub_gfxterm_init): Check reference counter.
19919 Use init_window.
19920 (destroy_window): New function.
19921 (grub_gfxterm_destroy_window): Likewise.
19922 (grub_gfxterm_fini): Check reference counter.
19923 Use destroy_window.
19924 (redraw_screen_rect): Restore viewport.
19925 Use 'render_target' and 'window'.
19926 Call 'repaint_callback'.
19927 (write_char): Use 'render_target'.
19928 (draw_cursor): Likewise.
19929 (scroll_up): Restore viewport.
19930 Use 'render_target' and 'window'.
19931 Call 'repaint_callback'.
19932 (grub_gfxterm_cls): Likewise.
19933 (grub_gfxterm_refresh): Use 'window'.
19934 (grub_gfxterm_set_repaint_callback): New function.
19935 (grub_gfxterm_background_image_cmd): Use 'window'.
19936 (grub_gfxterm_get_term): New function.
19937 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
19938
19939 2010-02-06 Colin D Bennett <colin@gibibit.com>
19940
19941 Bitmap scaling support.
19942
19943 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
19944 (bitmap_scale_mod_SOURCES): New variable.
19945 (bitmap_scale_mod_CFLAGS): Likewise.
19946 (bitmap_scale_mod_LDFLAGS): Likewise.
19947 * include/grub/bitmap_scale.h: New file.
19948 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
19949 (background_image_cmd_options): New variable.
19950 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
19951 (cmd): Rename and change type to ...
19952 (background_image_cmd_handle): ... this. All users updated.
19953 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
19954 * video/bitmap_scale.c: New file.
19955
19956 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19957
19958 SDL support.
19959
19960 * Makefile.in (LIBSDL): New variable.
19961 (enable_grub_emu_sdl): Likewise.
19962 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
19963 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
19964 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
19965 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
19966 * util/sdl.c: New file.
19967
19968 2010-02-06 Colin D Bennett <colin@gibibit.com>
19969 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19970
19971 Double buffering support.
19972
19973 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
19974 * include/grub/video.h: Update comment.
19975 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
19976 New type.
19977 (grub_video_fb_doublebuf_blit_init): New prototype.
19978 * term/gfxterm.c (scroll_up): Support double buffering.
19979 (grub_gfxterm_refresh): Likewise.
19980 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
19981 (grub_video_fb_doublebuf_blit_init): Likewise.
19982 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
19983 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
19984 'displayed_page', 'render_page' and 'update_screen'.
19985 (grub_video_vbe_fini): Free offscreen buffer.
19986 (doublebuf_pageflipping_commit): New function.
19987 (doublebuf_pageflipping_update_screen): Likewise.
19988 (doublebuf_pageflipping_init): Likewise.
19989 (double_buffering_init): Likewise.
19990 (grub_video_vbe_setup): Enable doublebuffering.
19991 (grub_video_vbe_swap_buffers): Implement.
19992 (grub_video_vbe_set_active_render_target): Handle double buffering.
19993 (grub_video_vbe_get_active_render_target): Likewise.
19994 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
19995 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
19996 (grub_video_vbe_enable_double_buffering): Likewise.
19997 (grub_video_vbe_swap_buffers): Use update_screen.
19998 (grub_video_set_mode): Use double buffering.
19999
20000 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20001
20002 * maintainance/gentrigtables.py: Remove.
20003 * lib/trig.c: Likewise.
20004
20005 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
20006
20007 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
20008 `trigtables.c'.
20009 (trigtables.c): New rule.
20010 (gentrigtables): Likewise.
20011 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
20012
20013 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20014
20015 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
20016 integer constants.
20017
20018 2010-02-06 Colin D Bennet <colin@gibibit.com>
20019
20020 Trigonometry support.
20021
20022 * include/grub/trig.h: New file.
20023 * lib/trig.c: Likewise.
20024 * maintainance/gentrigtables.py: Likewise.
20025 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
20026 (trig_mod_SOURCES): New variable.
20027 (trig_mod_CFLAGS): Likewise.
20028 (trig_mod_LDFLAGS): Likewise.
20029
20030 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20031
20032 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
20033 disk devices.
20034
20035 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20036
20037 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
20038 error.
20039
20040 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20041
20042 * util/hostdisk.c (open_device): Don't use partition device when reading
20043 before the partition.
20044 (grub_util_biosdisk_read): Don't read from partition and before the
20045 partition in single operation.
20046 (grub_util_biosdisk_write): Don't write to partition and before the
20047 partition in single operation.
20048
20049 2010-02-03 Torsten Landschoff <torsten@debian.org>
20050
20051 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20052 last sectors.
20053
20054 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20055
20056 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
20057 CDROM reads.
20058 (grub_biosdisk_write): Refuse to write to CDROM.
20059
20060 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
20063
20064 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20065
20066 * font/font.c (find_glyph): Check that bmp_idx is available before
20067 using it.
20068 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
20069 with (font == NULL).
20070
20071 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
20072
20073 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
20074
20075 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
20076
20077 * include/grub/script_sh.h (sourcecode): Add const qualifier.
20078 * util/grub-script-check.c (getline): Fix empty lines case.
20079
20080 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
20081
20082 * Makefile.in (check): Exit with fail status when one of the tests
20083 fails.
20084 * tests/example_functional_test.c (example_test): Fix reversed assert.
20085 * tests/example_unit_test.c (example_test): Likewise.
20086
20087 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
20088
20089 * util/grub.d/10_linux.in: This script does not use any of the
20090 contents of gettext.sh, only the external command `gettext', so stop
20091 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
20092 the same prefix as GRUB.)
20093 * util/grub.d/10_kfreebsd.in: Likewise.
20094
20095 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20096
20097 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
20098 of the line.
20099
20100 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20101
20102 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20103 last sectors.
20104
20105 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20106
20107 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
20108 having a 4KiB and not 32KiB buffer size.
20109
20110 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20111
20112 * util/hostfs.c: Include `<errno.h>'.
20113 (grub_hostfs_read): Handle errors from fseeko() and fread().
20114
20115 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20116
20117 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
20118 loop when using read hooks on files whose size isn't sector-aligned.
20119
20120 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20121
20122 Remove unused parameter.
20123
20124 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
20125 (grub_iso9660_open): Remove initialization of `data->length'.
20126
20127 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20128
20129 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
20130 memleak conditions.
20131
20132 2010-01-27 Carles Pina i Estany <carles@pina.cat>
20133
20134 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
20135 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
20136
20137 2010-01-26 Carles Pina i Estany <carles@pina.cat>
20138
20139 * util/bin2h.c (usage): Fix warning (space after backslash).
20140
20141 2010-01-26 Carles Pina i Estany <carles@pina.cat>
20142
20143 * font/font.c: Include `grub/fontformat.h.
20144 Remove font file format constants.
20145 (grub_font_load): Use the new macros.
20146 * include/grub/fontformat.h: New file.
20147 * util/grub-mkfont.c: Include `grub/fontformat.c'.
20148 (write_font_pf2): Use the new macros.
20149
20150 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20151
20152 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
20153 does.
20154
20155 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20156
20157 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
20158
20159 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
20160 (_start): Macroify `0x7F'.
20161
20162 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
20163 (make_install_device): Use "(pxe)" as fallback prefix when booting
20164 via PXE.
20165
20166 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
20167
20168 * configure.ac: Reset LIBS after check for libgcc symbols.
20169
20170 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
20171
20172 * util/hostdisk.c (open_device): Add trailing newline to debug
20173 message.
20174
20175 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
20176
20177 * configure.ac: Check for `limits.h'.
20178 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
20179
20180 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
20181
20182 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
20183 capitalize error strings.
20184
20185 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
20186
20187 * util/grub.d/10_hurd.in: Add a recovery mode.
20188
20189 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
20190
20191 * configure.ac: Check for libgcc symbols with -nostdlib.
20192
20193 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
20194
20195 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
20196
20197 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20198
20199 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
20200 stack since heap may be unavailable at that point.
20201 (grub_ofconsole_gotoxy): Likewise.
20202
20203 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20204
20205 * configure.ac: Check for _restgpr_14_x.
20206 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
20207 and _savegpr_* prototypes.
20208
20209 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
20210
20211 Use generic grub_reboot() for i386-efi.
20212
20213 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
20214 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
20215 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
20216
20217 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20218
20219 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
20220 presence of "prefix" variable as it breaks when normal.mod is
20221 embedded.
20222
20223 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20224
20225 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
20226 stack since heap is unavailable at that point.
20227
20228 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20229
20230 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
20231 (grub_freebsd_bootinfo): Rewritten.
20232 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
20233
20234 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
20237
20238 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
20239
20240 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
20241 domain now.
20242
20243 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
20244
20245 * util/misc.c (make_system_path_relative_to_its_root): Change the work
20246 around for handling "/" to the correct fix. Fix a memory leak. Use
20247 xstrdup instead of strdup.
20248
20249 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
20252
20253 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20254
20255 Optimise glyph lookup by Basic Multilingual Plane lookup array.
20256
20257 * font/font.c (struct grub_font): New member 'bmp_idx'.
20258 (font_init): Initialise 'bmp_idx'.
20259 (load_font_index): Fill 'bmp_idx'.
20260 (find_glyph): Make inline. Use bmp_idx for BMP characters.
20261
20262 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20263
20264 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
20265 unnecessary calls.
20266
20267 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20268
20269 Move context handling out of the kernel.
20270
20271 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
20272 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
20273 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
20274 * conf/i386-efi.rmk: Likewise.
20275 * conf/i386-ieee1275.rmk: Likewise.
20276 * conf/i386-pc.rmk: Likewise.
20277 * conf/powerpc-ieee1275.rmk: Likewise.
20278 * conf/sparc64-ieee1275.rmk: Likewise.
20279 * conf/x86_64-efi.rmk: Likewise.
20280 * include/grub/env.h: Include grub/menu.h.
20281 (grub_env_var_type): Removed.
20282 (grub_env_var): Replaced field 'type' with 'global'.
20283 (grub_env_find): New prototype.
20284 (grub_env_context_open): Remove EXPORT_FUNC.
20285 (grub_env_context_close): Likewise.
20286 (grub_env_export): Likewise.
20287 (grub_env_set_data_slot): Removed.
20288 (grub_env_get_data_slot): Likewise.
20289 (grub_env_unset_data_slot): Likewise.
20290 (grub_env_unset_menu): New prototype.
20291 (grub_env_set_menu): Likewise.
20292 (grub_env_get_menu): Likewise.
20293 * include/grub/env_private.h: New file.
20294 * include/grub/normal.h (grub_context_init): New prototype.
20295 (grub_context_fini): Likewise.
20296 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
20297 * normal/context.c (grub_cmd_export): ... to here.
20298 * kern/env.c: Include env_private.h.
20299 (HASHSZ): Moved to include/grub/env_private.h.
20300 (grub_env_context): Likewise.
20301 (grub_env_sorted_var): Likewise.
20302 (current_context): Renamed from this ...
20303 (grub_current_context): ...to this. 'static' removed. All users updated.
20304 (grub_env_find): Removed 'static'.
20305 (grub_env_context_open): Moved to normal/context.c.
20306 (grub_env_context_close): Likewise.
20307 (grub_env_export): Likewise.
20308 (mangle_data_slot_name): Removed.
20309 (grub_env_set_data_slot): Likewise.
20310 (grub_env_get_data_slot): Likewise.
20311 (grub_env_unset_data_slot): Likewise.
20312 * kern/main.c (grub_set_root_dev): Don't export root.
20313 It will be done later.
20314 (grub_main): Don't export prefix.
20315 It will be done later.
20316 * normal/context.c: New file.
20317 * normal/main.c (free_menu): Use grub_env_unset_menu.
20318 (grub_normal_add_menu_entry): Use grub_env_get_menu.
20319 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
20320 (GRUB_MOD_INIT(normal)): Call grub_context_init.
20321 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
20322
20323 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20324
20325 setpci support.
20326
20327 * commands/setpci.c: New file.
20328 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
20329 (setpci_mod_SOURCES): New variable.
20330 (setpci_mod_CFLAGS): Likewise.
20331 (setpci_mod_LDFLAGS): Likewise.
20332
20333 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20334
20335 Byte-addressable PCI configuration space.
20336
20337 * bus/pci.c (grub_pci_make_address): Use byte address instead of
20338 dword address.
20339 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
20340 GRUB_PCI_REG_CACHELINE.
20341 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
20342 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
20343 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
20344 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
20345 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
20346 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
20347 grub_pci_make_address.
20348 (lock_rom_area): Likewise.
20349 * commands/lspci.c (grub_lspci_iter): Use macroses
20350 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
20351 of grub_pci_make_address.
20352 * disk/ata.c (grub_ata_pciinit): Likewise.
20353 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
20354 (GRUB_PCI_REG_VENDOR): Likewise.
20355 (GRUB_PCI_REG_DEVICE): Likewise.
20356 (GRUB_PCI_REG_COMMAND): Likewise.
20357 (GRUB_PCI_REG_STATUS): Likewise.
20358 (GRUB_PCI_REG_REVISION): Likewise.
20359 (GRUB_PCI_REG_CLASS): Likewise.
20360 (GRUB_PCI_REG_CACHELINE): Likewise.
20361 (GRUB_PCI_REG_LAT_TIMER): Likewise.
20362 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
20363 (GRUB_PCI_REG_BIST): Likewise.
20364 (GRUB_PCI_REG_ADDRESSES): Likewise.
20365 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20366 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20367 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20368 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20369 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20370 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20371 (GRUB_PCI_REG_CIS_POINTER): Likewise.
20372 (GRUB_PCI_REG_SUBVENDOR): Likewise.
20373 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
20374 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
20375 (GRUB_PCI_REG_CAP_POINTER): Likewise.
20376 (GRUB_PCI_REG_IRQ_LINE): Likewise.
20377 (GRUB_PCI_REG_IRQ_PIN): Likewise.
20378 (GRUB_PCI_REG_MIN_GNT): Likewise.
20379 (GRUB_PCI_REG_MAX_LAT): Likewise.
20380 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
20381 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
20382 * video/efi_uga.c (find_framebuf): Likewise.
20383 * video/sm712.c (grub_video_sm712_setup): Likewise.
20384 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
20385 space.
20386
20387 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20388
20389 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
20390 can be reliably determined to be supported.
20391
20392 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20393
20394 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
20395 that VESA is supported.
20396 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
20397 supported.
20398
20399 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20400
20401 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
20402
20403 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20404
20405 * util/misc.c (make_system_path_relative_to_its_root): Work around
20406 special-casing of "/", as previous incarnation of this routine did.
20407
20408 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20409
20410 Fix any-emu compilation.
20411
20412 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
20413 * grub_bin2h_SOURCES: New variable.
20414
20415 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20416
20417 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
20418
20419 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20420
20421 * util/grub.d/00_header.in: Fix handling of locale_dir.
20422
20423 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20424
20425 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
20426 as possible unifont location (Gentoo).
20427 Reported by: Alexander Brüning
20428
20429 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20430
20431 Don't try to generate lists for kernel.img.
20432
20433 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
20434 (pkglib_MODULES): Remove kernel.img.
20435 (kernel_img_EXPORTS): Removed.
20436 (kernel_img_RELOCATABLE): New variable.
20437 * conf/x86_64-efi.rmk: Likewise.
20438 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
20439
20440 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20441
20442 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
20443 grub_xasprintf or grub_snprintf.
20444 (grub_vsprintf): Likewise.
20445 (grub_snprintf): New proto.
20446 (grub_vsnprintf): Likewise.
20447 (grub_xasprintf): Likewise.
20448 (grub_xvasprintf): Likewise.
20449 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
20450 (grub_sprintf): Removed.
20451 (grub_vsnprintf): New function.
20452 (grub_snprintf): Likewise.
20453 (grub_xvasprintf): Likewise.
20454 (grub_xasprintf): Likewise.
20455 (grub_vsprintf): Renamed to ...
20456 (grub_vsnprintf_real): ...this. New argument max_len.
20457
20458 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20459
20460 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
20461 fix grub-script-check warning.
20462
20463 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20464
20465 * include/grub/font.h (grub_font_load): Fix prototype.
20466
20467 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20468
20469 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
20470
20471 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20472
20473 * include/grub/x86_64/at_keyboard.h: New file.
20474
20475 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20476
20477 * loader/mips/linux.c: Include missing grub/i18n.h.
20478
20479 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20480
20481 * normal/menu.c (notify_execution_failure): Clarify error message.
20482
20483 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20484
20485 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
20486 return value (and revert all return statements). Update users.
20487
20488 2010-01-20 Dan Merillat <debian@dan.merillat.org>
20489
20490 * kern/device.c (grub_device_iterate): Allocate new part_ent
20491 structure based on sizeof (*p) rather than sizeof (p->next), to
20492 account for structure padding.
20493
20494 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
20495 disk is NULL, which might happen for LVM physical volumes with no
20496 LVM signature.
20497
20498 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20499
20500 * loader/mips/linux.c (grub_cmd_initrd)
20501 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20502
20503 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20504
20505 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20506 (grub_video_video_init, grub_video_bitmap_init)
20507 (grub_font_manager_init, grub_term_gfxterm_init)
20508 (grub_at_keyboard_init): New extern declarations.
20509 (grub_machine_init): Initialize gfxterm and at_keyboard.
20510
20511 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20512
20513 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20514 `gfxterm.mod' into core image.
20515
20516 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20517 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20518 (kernel_img_FORMAT): Copy to ...
20519
20520 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20521 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20522 (kernel_img_FORMAT): ... here, and ...
20523
20524 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20525 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20526 (kernel_img_FORMAT): ... here.
20527
20528 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20529 and input (at_keyboard) terminals in kernel.
20530 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20531
20532 (pkglib_MODULES): Remove `pci.mod'.
20533 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20534 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20535 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20536 (at_keyboard_mod_LDFLAGS): Remove variables.
20537
20538 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
20539
20540 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20541
20542 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20543
20544 * include/grub/mips/libgcc.h: Only export symbols for functions
20545 that libgcc provides.
20546
20547 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20548
20549 MIPS support.
20550
20551 * bus/bonito.c: New file.
20552 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20553 GRUB_PCI_NUM_DEVICES.
20554 * term/i386/pc/serial.c: Move to ...
20555 * term/serial.c: ... here. All users updated.
20556 * util/i386/pc/grub-mkimage.c: Move to ...
20557 * util/grub-mkrawimage.c: ... here. All users updated.
20558 * term/i386/pc/at_keyboard.c: Move to ...
20559 * term/at_keyboard.c: ... here. All users updated.
20560 * conf/mips-qemu-mips.rmk: New file.
20561 * conf/mips-yeeloong.rmk: Likewise.
20562 * conf/mips.rmk: Likewise.
20563 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20564 mipsel-qemu-mips.
20565 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20566 to port addresses.
20567 (grub_ata_pciinit): Support CS5536.
20568 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20569 * font/font_cmd.c (loadfont_command): Open file before passing it to
20570 grub_font_load.
20571 (pseudo_file_read): New function.
20572 (pseudo_file_close): Likewise.
20573 (pseudo_fs): New structure.
20574 (load_font_module): New function.
20575 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20576 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20577 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20578 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20579 * include/grub/i386/at_keyboard.h: Split into ...
20580 * include/grub/at_keyboard.h: ... this ...
20581 * include/grub/i386/at_keyboard.h: ... and this.
20582 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20583 New prototype.
20584 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20585 updated.
20586 (grub_elf64_size): Likewise.
20587 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20588 filename.
20589 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20590 * include/grub/i386/coreboot/serial.h: Rewritten.
20591 * include/grub/i386/ieee1275/serial.h: Include
20592 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20593 * include/grub/i386/pc/serial.h: Moved from here ...
20594 * include/grub/serial.h: ... to here. All users updated.
20595 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20596 (GRUB_PCI_NUM_BUS): Likewise.
20597 (GRUB_PCI_NUM_DEVICES): Likewise.
20598 (grub_pci_device_map_range): Add missing volatile keyword.
20599 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20600 * include/grub/mips/at_keyboard.h: New file.
20601 * include/grub/mips/cache.h: Likewise.
20602 * include/grub/mips/io.h: Likewise.
20603 * include/grub/mips/kernel.h: Likewise.
20604 * include/grub/mips/libgcc.h: Likewise.
20605 * include/grub/mips/pci.h: Likewise.
20606 * include/grub/mips/qemu-mips/boot.h: Likewise.
20607 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20608 * include/grub/mips/qemu-mips/loader.h: Likewise.
20609 * include/grub/mips/qemu-mips/memory.h: Likewise.
20610 * include/grub/mips/qemu-mips/serial.h: Likewise.
20611 * include/grub/mips/qemu-mips/time.h: Likewise.
20612 * include/grub/mips/relocator.h: Likewise.
20613 * include/grub/mips/time.h: Likewise.
20614 * include/grub/mips/types.h: Likewise.
20615 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20616 * include/grub/mips/yeeloong/boot.h: Likewise.
20617 * include/grub/mips/yeeloong/kernel.h: Likewise.
20618 * include/grub/mips/yeeloong/loader.h: Likewise.
20619 * include/grub/mips/yeeloong/memory.h: Likewise.
20620 * include/grub/mips/yeeloong/pci.h: Likewise.
20621 * include/grub/mips/yeeloong/serial.h: Likewise.
20622 * include/grub/mips/yeeloong/time.h: Likewise.
20623 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20624 * kern/elf.c (grub_elf32_size): New parameter. All users
20625 updated.
20626 (grub_elf64_size): Likewise.
20627 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20628 Load modules before saying "Welcome to GRUB!".
20629 Call grub_refresh after saying "Welcome to GRUB!".
20630 * kern/mips/cache.S: New file.
20631 * kern/mips/cache_flush.S: Likewise.
20632 * kern/mips/dl.c: Likewise.
20633 * kern/mips/init.c: Likewise.
20634 * kern/mips/qemu-mips/init.c: Likewise.
20635 * kern/mips/startup.S: Likewise.
20636 * kern/mips/yeeloong/init.c: Likewise.
20637 * kern/term.c (grub_putcode): Handle NULL terminal.
20638 (grub_getcharwidth): Likewise.
20639 (grub_getkey): Likewise.
20640 (grub_checkkey): Likewise.
20641 (grub_getkeystatus): Likewise.
20642 (grub_getxy): Likewise.
20643 (grub_getwh): Likewise.
20644 (grub_gotoxy): Likewise.
20645 (grub_cls): Likewise.
20646 (grub_setcolorstate): Likewise.
20647 (grub_setcolor): Likewise.
20648 (grub_getcolor): Likewise.
20649 (grub_refresh): Likewise.
20650 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20651 (write_jump): Add hatch nop.
20652 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20653 * lib/mips/setjmp.S: New file.
20654 * loader/mips/linux.c: Likewise.
20655 * term/i386/pc/at_keyboard.c: Move from here ...
20656 * term/at_keyboard.c: ... to here.
20657 * term/i386/pc/serial.c: Moved from here ...
20658 * term/serial.c: ... to here. All users updated.
20659 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20660 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20661 (serial_translate_key_sequence): Avoid deadlock.
20662 (grub_serial_getkey): Handle backspace.
20663 (grub_serial_putchar): Fix newline handling.
20664 * util/i386/pc/grub-mkimage.c: Move from here ...
20665 * util/grub-mkrawimage.c: ... to here. All users updated.
20666 (generate_image): New parameters 'font_path' and 'format'.
20667 Support embedding font.
20668 Use grub_host_to_target* instead of grub_cpu_to_le*.
20669 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
20670 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
20671 (options): New option "--font".
20672 (usage): Likewise.
20673 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
20674 (main): Handle "--font".
20675 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
20676 (grub_virtual_screen_setup): Set bg_color_display.
20677 (redraw_screen_rect): Use bg_color_display instead of incorrect
20678 bg_color.
20679 (grub_gfxterm_cls): Likewise.
20680 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
20681 Support embedding config file.
20682 (add_segments): Likewise.
20683 (options): New option "--config".
20684 (main): Handle "--config".
20685 * video/sm712.c: New file.
20686
20687 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20688
20689 Fix parallel builds.
20690
20691 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
20692 font.c depend on ascii.h).
20693
20694 2010-01-12 Carles Pina i Estany <carles@pina.cat>
20695
20696 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
20697
20698 2010-01-11 Carles Pina i Estany <carles@pina.cat>
20699
20700 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
20701 By default: disabled.
20702 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
20703 parameter.
20704
20705 2010-01-10 Carles Pina i Estany <carles@pina.cat>
20706
20707 * font/font.c: Update copyright years.
20708 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
20709
20710 2010-01-10 Carles Pina i Estany <carles@pina.cat>
20711
20712 * font/font.c: Include `ascii.h'.
20713 (ASCII_BITMAP_SIZE): New macro.
20714 (ascii_font_glyph): Define.
20715 (ascii_glyph_lookup): New function.
20716 (grub_font_get_string_width): Change comment. If glyph not found, use
20717 ascii_glyph_lookup.
20718 (grub_font_get_glyph_with_fallback): If glyph not available returns
20719 ascii_glyph_lookup.
20720 * util/grub-mkfont.c (file_formats): New enum.
20721 (options): Add `ascii-bitmaps' new option.
20722 (usage): Add `asii-bitmaps' new option.
20723 (write_font_ascii_bitmap): New function.
20724 (write_font): Rename to ...
20725 (write_font_p2): ... this. Remove print_glyphs call.
20726 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
20727 used. Call print_glyphs.
20728 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
20729
20730 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20731
20732 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
20733 (grub_bin2h_SOURCES): New variable.
20734 * util/bin2h.c: New file.
20735
20736 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20737
20738 * include/multiboot.h: Resynced with spec.
20739 * include/multiboot2.h: Likewise.
20740 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
20741 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
20742
20743 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20744
20745 * include/grub/term.h (grub_term_register_input,
20746 grub_term_register_output): Check return of terminal init()
20747 routines, and abort if errors are raised.
20748
20749 * commands/terminal.c: Update copyright year.
20750
20751 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20752
20753 * commands/terminal.c (grub_cmd_terminal_input)
20754 (grub_cmd_terminal_output): Check return of terminal init()
20755 routines, and abort if errors are raised.
20756
20757 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20758
20759 * include/grub/i386/bsd.h: Fix include pathes.
20760
20761 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20762
20763 Add missing *BSD copyright headers.
20764
20765 * include/grub/aout.h: Add BSD licence.
20766 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20767 * include/grub/i386/freebsd_linker.h: ... here,
20768 * include/grub/i386/freebsd_reboot.h: ... here,
20769 * include/grub/i386/netbsd_bootinfo.h: ... here,
20770 * include/grub/i386/netbsd_reboot.h: ... here,
20771 * include/grub/i386/openbsd_bootarg.h: ... here,
20772 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20773 licence to each file.
20774
20775 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20776
20777 * acinclude.m4: Remove `nop' assembly instruction; it's not
20778 implemented by all architectures.
20779
20780 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20781
20782 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
20783 ELILO. This is no longer necessary.
20784
20785 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
20786
20787 Added new tool, grub-scrit-check to verify grub.cfg syntax.
20788
20789 * util/grub-script-check.c: grub-script-check tool.
20790 * conf/common.rmk: Make rules for grub-script-check.
20791
20792 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20793
20794 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
20795 spotting it back in 2008. Shame on me for forgetting he did.
20796
20797 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
20798
20799 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20800
20801 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
20802 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
20803 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
20804 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
20805 (GRUB_VIDEO_TYPE_EFI): Rename to ...
20806 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
20807
20808 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
20809
20810 * include/grub/test.h: Add license header.
20811 * tests/example_functional_test.c: Likewise.
20812 * tests/example_unit_test.c: Likewise.
20813 * tests/lib/functional_test.c: Likewise.
20814 * tests/lib/test.c: Likewise.
20815 * tests/lib/unit_test.c: Likewise.
20816
20817 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
20818
20819 Use flag-based instead of hook-based video mode selection and "auto"
20820 keyword.
20821
20822 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
20823 (grub_video_set_mode): Changed prototype. All users updated.
20824 (grub_video_check_mode_flag): New inline function.
20825 * video/video.c (parse_modespec): New function.
20826 (grub_video_set_mode): Parse flags and keywords.
20827
20828 2010-01-17 Carles Pina i Estany <carles@pina.cat>
20829
20830 * util/misc.c (grub_util_info): Fix the order of the parameters in a
20831 fprintf call.
20832
20833 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
20834
20835 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
20836
20837 2010-01-16 Carles Pina i Estany <carles@pina.cat>
20838
20839 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
20840 string.
20841 * util/grub-emu.c (usage): Likewise.
20842 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
20843 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20844 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20845 * util/i386/pc/grub-setup.c (usage): Likewise.
20846
20847 2010-01-16 Carles Pina i Estany <carles@pina.cat>
20848
20849 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
20850 the message.
20851 (grub_util_info): Likewise.
20852 (grub_util_error): Likewise.
20853 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
20854 and/or new lines in `grub_util_warna', `grub_util_info',
20855 `grub_util_error' calls.
20856 * util/getroot.c: Likewise.
20857 * util/grub-editenv.c: Likewise.
20858 * util/grub-emu.c: Likewise.
20859 * util/grub-fstest.c: Likewise.
20860 * util/grub-mkdevicemap.c: Likewise.
20861 * util/grub-mkfont.c: Likewise.
20862 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20863 * util/grub-mkrelpath.c: Likewise.
20864 * util/grub-pe2elf.c: Likewise.
20865 * util/grub-probe.c: Likewise.
20866 * util/hostdisk.c: Likewise.
20867 * util/i386/efi/grub-mkimage.c: Likewise.
20868 * util/i386/pc/grub-mkimage.c: Likewise.
20869 * util/i386/pc/grub-setup.c: Likewise.
20870 * util/ieee1275/ofpath.c: Likewise.
20871 * util/mkisofs/eltorito.c: Likewise.
20872 * util/mkisofs/rock.c: Likewise.
20873 * util/mkisofs/write.c: Likewise.
20874 * util/raid.c: Likewise.
20875 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20876 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20877
20878 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20879
20880 Enable multiboot on non-pc.
20881
20882 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
20883 multiboot.mod and multiboot2.mod to ...
20884 * conf/i386.rmk (pkglib_MODULES): ... here.
20885 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
20886 Moved to ...
20887 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
20888 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
20889 Moved to ...
20890 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
20891 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
20892 Moved to ...
20893 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
20894 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
20895 Moved to ...
20896 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
20897 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
20898 relocator.mod.
20899 (ata_mod_SOURCES): Removed.
20900 (ata_mod_CFLAGS): Likewise.
20901 (ata_mod_LDFLAGS): Likewise.
20902 (relocator_mod_SOURCES): Removed.
20903 (relocator_mod_CFLAGS): Likewise.
20904 (relocator_mod_ASFLAGS): Likewise.
20905 (relocator_mod_LDFLAGS): Likewise.
20906 Include i386.mk.
20907 * include/grub/x86_64/multiboot.h: New file.
20908 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
20909 Terminate EFI.
20910
20911 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20912
20913 Video multiboot support.
20914
20915 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
20916 New prototype.
20917 * include/multiboot.h: Resynced with multiboot specification.
20918 * include/multiboot2.h: Likewise.
20919 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
20920 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
20921 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
20922 (HAS_VGA_TEXT): Likewise.
20923 (accepts_video): New variable.
20924 (grub_multiboot_set_accepts_video): New function.
20925 (grub_multiboot_get_mbi_size): Account for video structures.
20926 (set_video_mode): New function.
20927 (retrieve_video_parameters): Likewise.
20928 (grub_multiboot_make_mbi): Fill video fields.
20929
20930 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20931
20932 Video driver ids.
20933
20934 * include/grub/video.h (grub_video_driver_id): New type.
20935 (grub_video_adapter): New member 'id'. All users updated.
20936 (grub_video_get_driver_id): New proto.
20937 * video/video.c (grub_video_get_driver_id): New function.
20938
20939 2010-01-14 Carles Pina i Estany <carles@pina.cat>
20940
20941 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
20942 `var=val'.
20943
20944 2010-01-14 Carles Pina i Estany <carles@pina.cat>
20945
20946 * normal/cmdline.c (print_completion): Gettextizze.
20947
20948 2001-01-14 Carles Pina i Estany <carles@pina.cat>
20949
20950 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
20951
20952 2010-01-14 Carles Pina i Estany <carles@pina.cat>
20953
20954 * gettext/gettext.c (grub_gettext_translate): Push and pop
20955 grub_errno.
20956 (grub_gettext_delete_list): Change comment style.
20957 * kern/err.c (grub_error): Gettextizze.
20958 (grub_fatal): Gettextizze.
20959
20960 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20961
20962 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
20963 (grub_linux16_real_boot): ... this.
20964 * kern/i386/loader.S: Likewise.
20965 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
20966 (grub_linux16_boot): New function. Switches to text mode and calls
20967 grub_linux16_real_boot().
20968
20969 * loader/i386/bsd.c: Include `<grub/video.h>'.
20970 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
20971 text mode before calling grub_unix_real_boot().
20972
20973 * loader/i386/multiboot.c: Include `<grub/video.h>'.
20974 (grub_multiboot_boot): Switch to text mode before calling
20975 grub_relocator32_boot().
20976
20977 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
20978 (grub_chainloader_boot): Switch to text mode before calling
20979 grub_chainloader_real_boot().
20980
20981 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
20982 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
20983
20984 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
20985 non-empty value.
20986
20987 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
20988 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
20989
20990 * util/grub.d/00_header.in: Define a "savedefault" function for use
20991 in menu entries.
20992 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
20993
20994 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
20995 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
20996
20997 * util/grub-mkconfig_lib.in (save_default_entry): Only set
20998 saved_entry if boot_once is unset.
20999 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
21000 previous saved entry (i.e. grub-reboot).
21001
21002 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
21003
21004 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
21005
21006 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
21007
21008 * util/grub.d/00_header.in: Use `set var=val' rather than plain
21009 `var=val'.
21010 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
21011
21012 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
21013
21014 * util/grub-reboot.in: Fix --version output.
21015 * util/grub-set-default.in: Likewise.
21016
21017 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
21018
21019 * util/grub.d/00_header.in: Silently ignore zero-sized environment
21020 blocks.
21021
21022 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
21023
21024 * util/grub.d/00_header.in: Quote the value assigned to `default',
21025 in case it contains spaces.
21026
21027 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
21028
21029 * util/grub.d/30_os-prober.in: Fix merge error that moved a
21030 `save_default_entry' call from the macosx case to the linux case.
21031
21032 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
21033 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
21034
21035 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
21036 in `chosen' environment variable.
21037 * normal/menu_text.c (get_entry_number): Check if the variable
21038 matches the title of a menu entry.
21039 (run_menu): Pass menu to get_entry_number.
21040
21041 * util/grub-reboot.in: New file.
21042 * util/grub-set-default.in: New file.
21043 * conf/common.rmk (grub-reboot): New utility.
21044 (grub-set-default): New utility.
21045
21046 * util/grub-mkconfig_lib.in (save_default_entry): New function.
21047 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
21048 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
21049 move it to `saved_entry' for the next boot. Load environment on
21050 initialisation.
21051 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
21052 * util/grub.d/10_hurd.in: Likewise.
21053 * util/grub.d/10_linux.in (linux_entry): Likewise.
21054 * util/grub.d/10_windows.in: Likewise.
21055 * util/grub.d/30_os-prober.in: Likewise.
21056
21057 * util/grub-install.in: Create environment block.
21058 * util/i386/efi/grub-install.in: Likewise.
21059 * util/ieee1275/grub-install.in: Likewise.
21060 * util/sparc64/ieee1275/grub-install.in: Likewise.
21061
21062 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
21063
21064 Unit testing framework for GRUB.
21065
21066 * Makefile.in: Test framework build rules for 'make check'.
21067 * conf/tests.rmk: Build rules for individual tests and framework.
21068
21069 * include/grub/test.h: Header file for whitebox tests.
21070 * tests/lib/functional_test.c: Framework support for whitebox
21071 functional tests.
21072 * tests/lib/test.c: Common whitebox testing code for unit and
21073 functional tests.
21074 * tests/lib/unit_test.c: Framework support for whitebox unit
21075 tests.
21076
21077 * tests/util/grub-shell-tester.in: Support utility for grub-script
21078 tests.
21079 * tests/util/grub-shell.in: Utility to execute grub-script
21080 commands in a Qemu instance.
21081
21082 * tests/example_functional_test.c: Example whitebox functional
21083 test.
21084 * tests/example_grub_script_test.in: Example grub-script test.
21085 * tests/example_scripted_test.in: Example scripted test.
21086 * tests/example_unit_test.c: Example whitebox unit test.
21087
21088 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21089
21090 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
21091 Add loader/i386/multiboot_mbi.c.
21092 (multiboot2_mod_SOURCES): Likewise.
21093 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
21094 (multiboot2_mod_SOURCES): Likewise.
21095 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
21096 (grub_multiboot_make_mbi): Likewise.
21097 (grub_multiboot_free_mbi): Likewise.
21098 (grub_multiboot_init_mbi): Likewise.
21099 (grub_multiboot_add_module): Likewise.
21100 (grub_multiboot_set_bootdev): Likewise.
21101 * loader/i386/multiboot.c (mbi): Removed.
21102 (mbi_dest): Likewise.
21103 (alloc_mbi): New variable.
21104 (grub_multiboot_payload_size): Removed. All users updated.
21105 (grub_multiboot_pure_size): New variable.
21106 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
21107 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
21108 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
21109 (grub_fill_multiboot_mmap): Likewise.
21110 (grub_multiboot_get_bootdev): Likewise.
21111 (grub_multiboot): Use multiboot_mbi functions.
21112 * loader/i386/multiboot_mbi.c: New file.
21113
21114 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21115
21116 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
21117 it would result in module crash.
21118
21119 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21120
21121 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
21122 (grub_ofconsole_getwh): Split to ...
21123 (grub_ofconsole_getwh): ... this.
21124 (grub_ofconsole_dimensions): ...and this.
21125 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
21126
21127 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
21128
21129 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
21130
21131 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21132
21133 * loader/i386/pc/multiboot2.c: Removed stalled file.
21134
21135 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21136
21137 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
21138 Reported by: Grégoire Sutre
21139
21140 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
21141
21142 * util/misc.c (canonicalize_file_name): New function.
21143 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
21144 instead of realpath().
21145
21146 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
21147
21148 * util/grub-install.in (usage): Clarify meaning of --root-directory,
21149 and make it clearer that it's optional. Based on confusion
21150 witnessed on IRC.
21151
21152 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21153
21154 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
21155 in premature implicit newline.
21156
21157 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21158
21159 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
21160 which resulted in garbled command line at the end of screen.
21161
21162 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21163
21164 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
21165 initialization with similar approach as with other Linux loaders.
21166
21167 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21168
21169 Fix i386-ieee1275 build.
21170
21171 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
21172 and grub_term_height() for video_{width,height} initialization.
21173
21174 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21175
21176 Fix grub-emu build.
21177
21178 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
21179
21180 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21181 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21182
21183 Support for multiple terminals.
21184
21185 * Makefile.in (pkglib_DATA): terminal.lst.
21186 (terminal.lst): New target.
21187 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
21188 (GRUB_MOD_INIT(handler)): Likewise.
21189 (GRUB_MOD_FINI(handler)): Likewise.
21190 * commands/help.c (grub_cmd_help): Handle multiple terminals.
21191 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
21192 * commands/sleep.c (do_print): Use grub_term_restore_pos.
21193 (grub_cmd_sleep): Use grub_term_save_pos.
21194 * commands/terminal.c: New file.
21195 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
21196 commands/terminal.c and lib/charset.c.
21197 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
21198 (pkglib_MODULES): Add terminal.mod.
21199 (terminal_mod_SOURCES): New variable.
21200 (terminal_mod_CFLAGS): Likewise.
21201 (terminal_mod_LDFLAGS): Likewise.
21202 * genhandlerlist.sh: Don't handle terminals.
21203 * genmk.rb: Generate terminal-*.lst.
21204 * genterminallist.sh: New file.
21205 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
21206 (grub_is_valid_utf8): Likewise.
21207 (grub_utf8_to_ucs4_alloc): Likewise.
21208 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
21209 (grub_menu_register_viewer): Changed argument.
21210 (grub_menu_try_text): New proto.
21211 (grub_gfxmenu_try_hook): New declaration.
21212 * include/grub/normal.h (grub_normal_exit_level): New declaration.
21213 (grub_menu_init_page): Additional argument term.
21214 (grub_normal_init_page): Likewise.
21215 (grub_cmdline_get): Arguments simplified.
21216 (grub_utf8_to_ucs4_alloc): Removed.
21217 (grub_print_ucs4): Additional argument term.
21218 (grub_getstringwidth): Likewise.
21219 (grub_print_message_indented): Likewise.
21220 (grub_menu_text_register_instances): New proto.
21221 (grub_show_menu): Likewise.
21222 (read_terminal_list): Likewise.
21223 (grub_set_more): Likewise.
21224 * include/grub/parser.h: Include handler.h.
21225 * include/grub/reader.h: Rewritten.
21226 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
21227 (GRUB_TERM_WIDTH): Changed to function.
21228 (GRUB_TERM_HEIGHT): Likewise.
21229 (GRUB_TERM_BORDER_WIDTH): Likewise.
21230 (GRUB_TERM_BORDER_HEIGHT): Likewise.
21231 (GRUB_TERM_NUM_ENTRIES): Likewise.
21232 (GRUB_TERM_ENTRY_WIDTH): Likewise.
21233 (GRUB_TERM_CURSOR_X): Likewise.
21234 (grub_term_input_class): Likewise.
21235 (grub_term_output_class): Likewise.
21236 (grub_term_outputs_disabled): New declaration.
21237 (grub_term_inputs_disabled): Likewise.
21238 (grub_term_outputs): Likewise.
21239 (grub_term_inputs): Likewise.
21240 (grub_term_register_input): Rewritten.
21241 (grub_term_register_output): Likewise.
21242 (grub_term_unregister_input): Likewise.
21243 (grub_term_unregister_output): Likewise.
21244 (FOR_ACTIVE_TERM_INPUTS): New macro.
21245 (FOR_DISABLED_TERM_INPUTS): Likewise.
21246 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21247 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21248 * include/grub/terminfo.h: Add oterm argument to all protypes.
21249 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
21250 Use grub_rescue_run.
21251 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
21252 All users updated.
21253 * kern/reader.c: Removed. All users updated.
21254 * kern/rescue_reader.c (grub_rescue_init): Removed.
21255 (grub_rescue_reader): Likewise.
21256 (grub_register_rescue_reader): Likewise.
21257 (grub_rescue_run): New function based on kern/reader.c.
21258 * kern/term.c: Adapted for multiterm.
21259 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
21260 (grub_is_valid_utf8): Likewise.
21261 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
21262 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
21263 right terminal.
21264 * loader/i386/linux.c (grub_linux_boot): Likewise.
21265 * normal/auth.c (grub_username_get): New function.
21266 (grub_auth_check_authentication): Use grub_username_get.
21267 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
21268 * normal/color.c: Adapt for multiterm.
21269 * normal/main.c (read_config_file): Don't use grub_reader_loop.
21270 (grub_normal_init_page): Additional argument term.
21271 (read_lists): Call read_terminal_lists.
21272 (grub_enter_normal_mode): Call grub_cmdline_run.
21273 Handle grub_normal_exit_level.
21274 (grub_cmd_normal): Make reentrant.
21275 (grub_cmd_normal_exit): New function.
21276 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
21277 * normal/menu.c: Adapt for multiterm.
21278 * normal/menu_entry.c: Likewise.
21279 * normal/menu_text.c: Likewise.
21280 * normal/menu_viewer.c: Removed. All users updated.
21281 * normal/term.c: New file.
21282 * util/console.c: Change order of includes to workaround a bug in
21283 ncurses headers.
21284 * term/terminfo.c: New argument oterm on all exported functions.
21285 All users updated.
21286 * util/grub-editenv.c (grub_term_input_class): Removed.
21287 (grub_term_output_class): Likewise.
21288
21289 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21290
21291 Make loader output a bit more user-friendly.
21292
21293 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
21294 is being loaded. Likewise for the Hurd.
21295
21296 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
21297 that kernel of FreeBSD ${version} is being loaded.
21298
21299 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
21300 grub_dprintf().
21301 (grub_cmd_initrd): Likewise.
21302 * util/grub.d/10_linux.in (linux_entry): Print message indicating
21303 that Linux ${version} is being loaded. Likewise for initrd.
21304
21305 2010-01-09 Carles Pina i Estany <carles@pina.cat>
21306
21307 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
21308
21309 2010-01-08 Carles Pina i Estany <carles@pina.cat>
21310
21311 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
21312 (GRUB_MOD_INIT): Gettextizze.
21313 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
21314 (GRUB_MOD_INIT): Gettextizze.
21315 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
21316 (grub_cmd_linux): Capitalise Linux.
21317 (GRUB_MOD_INIT): Gettextizze.
21318 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
21319 (grub_cmd_linux): Capitalise Linux.
21320 (GRUB_MOD_INIT): Gettextizze.
21321 * loader/i386/linux.c: Include `<grub/i18n.h>'.
21322 (grub_cmd_linux): Capitalise Linux.
21323 (GRUB_MOD_INIT): Gettextizze.
21324 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
21325 (GRUB_MOD_INIT): Gettextizze.
21326 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
21327 (grub_cmd_linux): Capitalise Linux.
21328 (GRUB_MOD_INIT): Gettextizze.
21329 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
21330 (grub_cpu_xnu_init): Gettextizze.
21331 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
21332 (GRUB_MOD_INIT): Gettextizze.
21333 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
21334 (GRUB_MOD_INIT): Gettextizze.
21335 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
21336 (grub_linux_load64): Capitalise Linux.
21337 (GRUB_MOD_INIT): Gettextizze.
21338 * loader/xnu.c: Include `<grub/i18n.h>'.
21339 (GRUB_MOD_INIT): Gettextizze.
21340 * po/POTFILES: Add `loader/efi/appleloader.c',
21341 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
21342 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
21343 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
21344 `loader/i386/xnu.c', `loader/multiboot_loader.c',
21345 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
21346 and `loader/xnu.c'.
21347
21348 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
21349
21350 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
21351
21352 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
21353
21354 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
21355 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
21356 * util/mkisofs/mkisofs.c (main): Readjust --version output.
21357
21358 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21359
21360 Reset Multiboot 2 support. New loader implements the draft in
21361 /branches/multiboot2 and shares as much code as possible with the
21362 production Multiboot 1 implementation.
21363
21364 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
21365 * loader/multiboot2.c: Likewise.
21366 * loader/i386/multiboot_helper.S: Likewise.
21367 * include/multiboot2.h: Replace with latest version from the draft
21368 in /branches/multiboot2.
21369
21370 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
21371 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
21372 and `loader/multiboot2.c'.
21373 (pkglib_MODULES): Add `multiboot2.mod'.
21374 (multiboot2_mod_SOURCES): New variable.
21375 (multiboot2_mod_LDFLAGS): Likewise.
21376 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
21377
21378 * conf/i386-pc.rmk: Likewise.
21379
21380 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21381 (multiboot_mod_SOURCES): Remove variable.
21382 (multiboot_mod_LDFLAGS): Likewise.
21383 (multiboot_mod_CFLAGS): Likewise.
21384
21385 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
21386 `<multiboot2.h>' instead of `<multiboot.h>'.
21387 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
21388 (MULTIBOOT_HEADER_MAGIC): New macros.
21389
21390 * loader/multiboot_loader.c (module_version_status): Remove variable.
21391 (find_multi_boot2_header): Remove function.
21392 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
21393 logic. Always check for the Multiboot version we're compiling for.
21394 (grub_cmd_module_loader): Likewise.
21395 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
21396 command instead of `multiboot'.
21397
21398 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21399
21400 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
21401 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
21402 all users.
21403
21404 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21405 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21406
21407 Fix breakage introduced with previous commit.
21408
21409 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
21410 commands.
21411 * normal/handler.c (read_handler_list): Revert part of previous commit
21412 affecting this file.
21413 * normal/main.c (read_lists): Move read_handler_list() call back to ...
21414 (grub_normal_execute): ... here.
21415
21416 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21417
21418 Merge prefix-redefinition-fix branch.
21419
21420 * normal/autofs.c (read_fs_list): Make function capable of being
21421 run multiple times, gracefuly replacing the previous data
21422 structures.
21423 * normal/dyncmd.c (read_command_list): Likewise.
21424 * normal/handler.c (read_handler_list): Likewise.
21425 * normal/main.c (read_lists): New function. Calls all the
21426 list reading functions.
21427 (grub_normal_execute): Use read_lists() instead of calling all
21428 list reading functions explicitly. Register read_lists() as a
21429 variable hook attached to ${prefix}.
21430
21431 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21432
21433 Merge crypto branch.
21434
21435 * Makefile.in (pkglib_DATA): Add crypto.lst.
21436 (crypto.lst): New target.
21437 * commands/hashsum.c: New file.
21438 * commands/password.c (check_password): Use grub_crypto_memcmp.
21439 * commands/password_pbkdf2.c: New file.
21440 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
21441 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
21442 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
21443 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
21444 -I$(srcdir)/lib/libgcrypt_wrap.
21445 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
21446 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
21447 password_pbkdf2.mod.
21448 (crypto_mod_SOURCES): New variable.
21449 (crypto_mod_CFLAGS): Likewise.
21450 (crypto_mod_LDFLAGS): Likewise.
21451 (hashsum_mod_SOURCES): New variable.
21452 (hashsum_mod_CFLAGS): Likewise.
21453 (hashsum_mod_LDFLAGS): Likewise.
21454 (pbkdf2_mod_SOURCES): New variable.
21455 (pbkdf2_mod_CFLAGS): Likewise.
21456 (pbkdf2_mod_LDFLAGS): Likewise.
21457 (password_pbkdf2_mod_SOURCES): New variable.
21458 (password_pbkdf2_mod_CFLAGS): Likewise.
21459 (password_pbkdf2_mod_LDFLAGS): Likewise.
21460 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
21461 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
21462 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
21463 Include conf/gcry.rmk.
21464 * include/grub/auth.h: Rewritten.
21465 * include/grub/crypto.h: New file.
21466 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
21467 * include/grub/normal.h (read_crypto_list): New prototype.
21468 * lib/crypto.c: New file.
21469 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21470 * lib/pbkdf2.c: Likewise.
21471 * normal/auth.c (grub_auth_strcmp): Removed.
21472 (grub_iswordseparator): Likewise.
21473 (grub_auth_strword): Likewise.
21474 (is_authenticated): Use grub_strword.
21475 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
21476 and grub_strword. Pass entered password to authentication callback.
21477 * normal/crypto.c: New file.
21478 * normal/main.c: Call read_crypto_list.
21479 * util/grub-mkpasswd-pbkdf2.c: New file.
21480 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
21481
21482 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
21483
21484 Fix descent and ascent calculation.
21485
21486 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
21487 (options): New option "asce".
21488 (usage): Likewise.
21489 (add_char): Ignore invalid glyphs for descent calculation.
21490 Calculate ascent from actual content.
21491 (print_glyphs): Use 'asce'.
21492 (write_font): Likewise. Allow ascent override.
21493 (main): Handle "asce" option.
21494
21495 2010-01-06 Carles Pina i Estany <carles@pina.cat>
21496
21497 * kern/err.c: Include `<grub/i18n.h>'.
21498 (grub_print_error): Add full stop. Gettextizze.
21499 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21500 (grub_bsd_load_elf): Capitalise ELF.
21501 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21502 (grub_cmd_freebsd_module): Likewise.
21503 (grub_cmd_freebsd_module_elf): Likewise.
21504 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21505
21506 2010-01-06 Carles Pina i Estany <carles@pina.cat>
21507
21508 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21509 * commands/search_file.c (HELP_MESSAGE): New macro.
21510 * commands/search_label.c (HELP_MESSAGE): Likewise.
21511 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21512 * po/POTFILES: Add `commands/search_file.c',
21513 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21514 `commands/search.c'.
21515
21516 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21517
21518 * config.rpath: Update from Gnulib.
21519
21520 2010-01-05 Yves Blusseau <blusseau@zetam.org>
21521
21522 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21523
21524 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21525
21526 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21527
21528 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
21529
21530 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21531 arguments to fread so that we get a return value in bytes, rather
21532 than something that will normally be rounded down to 0.
21533 Adjust error handling to avoid producing garbage when size_t is not
21534 the same size as long long.
21535
21536 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
21537
21538 * util/mkisofs/write.c (padblock_write): Check return value of
21539 fread.
21540
21541 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21542
21543 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21544 floppy images now.
21545
21546 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21547
21548 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21549
21550 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21551 instead of manual alignment.
21552 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21553 verbose). Avoid attempts to read past end of the device
21554 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21555 but GRUB_DISK_CACHE_SIZE may exceed that).
21556
21557 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21558
21559 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21560 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21561 it to upper layer.
21562
21563 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21564
21565 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21566 New constant.
21567 (grub_efi_piwg_device_path): New structure
21568 (grub_efi_piwg_device_path_t): New type.
21569 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21570 (devpath_1): Transform to a structure. All users updated.
21571 (devpath_2): Likewise.
21572 (devpath_3): Likewise.
21573 (devpath_4): Likewise.
21574 (devpath_5): Likewise.
21575
21576 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21577
21578 * loader/efi/appleloader.c: Restored. Update all users.
21579
21580 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21581
21582 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21583
21584 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21585 (struct boot_blocklist): Move from here ...
21586 * include/grub/i386/pc/boot.h [ASM_FILE]
21587 (struct grub_boot_blocklist): ... to here. Update all users.
21588 (setup): Only initialize `start' member of `first_block'
21589 structure. Add assert() calls to verify the other members.
21590
21591 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21592 (generate_image): Fix broken blocklist length initialization.
21593 Add assert() call to verify blocklist `segment' field.
21594
21595 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21596
21597 * loader/efi/appleloader.c: Remove. Update all users.
21598
21599 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21600
21601 * boot/i386/pc/boot.S: Update copyright year.
21602 * boot/i386/pc/cdboot.S: Likewise.
21603 * boot/i386/pc/diskboot.S: Likewise.
21604 * boot/i386/pc/lnxboot.S: Likewise.
21605 * boot/i386/pc/pxeboot.S: Likewise.
21606 * bus/pci.c: Likewise.
21607 * commands/cmp.c: Likewise.
21608 * commands/help.c: Likewise.
21609 * commands/hexdump.c: Likewise.
21610 * commands/i386/pc/halt.c: Likewise.
21611 * commands/i386/pc/play.c: Likewise.
21612 * commands/i386/pc/vbeinfo.c: Likewise.
21613 * commands/ls.c: Likewise.
21614 * commands/test.c: Likewise.
21615 * disk/dmraid_nvidia.c: Likewise.
21616 * disk/i386/pc/biosdisk.c: Likewise.
21617 * disk/ieee1275/nand.c: Likewise.
21618 * disk/ieee1275/ofdisk.c: Likewise.
21619 * disk/lvm.c: Likewise.
21620 * disk/raid.c: Likewise.
21621 * disk/raid6_recover.c: Likewise.
21622 * disk/scsi.c: Likewise.
21623 * fs/affs.c: Likewise.
21624 * fs/cpio.c: Likewise.
21625 * fs/ext2.c: Likewise.
21626 * fs/hfs.c: Likewise.
21627 * fs/iso9660.c: Likewise.
21628 * fs/ntfs.c: Likewise.
21629 * fs/sfs.c: Likewise.
21630 * fs/udf.c: Likewise.
21631 * fs/ufs.c: Likewise.
21632 * fs/xfs.c: Likewise.
21633 * gencmdlist.sh: Likewise.
21634 * genmk.rb: Likewise.
21635 * include/grub/disk.h: Likewise.
21636 * include/grub/efi/api.h: Likewise.
21637 * include/grub/efi/efi.h: Likewise.
21638 * include/grub/efi/pe32.h: Likewise.
21639 * include/grub/elf.h: Likewise.
21640 * include/grub/fs.h: Likewise.
21641 * include/grub/i386/at_keyboard.h: Likewise.
21642 * include/grub/i386/pc/memory.h: Likewise.
21643 * include/grub/i386/pc/vbe.h: Likewise.
21644 * include/grub/i386/pci.h: Likewise.
21645 * include/grub/i386/tsc.h: Likewise.
21646 * include/grub/ieee1275/ieee1275.h: Likewise.
21647 * include/grub/ntfs.h: Likewise.
21648 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21649 * include/grub/sparc64/libgcc.h: Likewise.
21650 * include/grub/symbol.h: Likewise.
21651 * include/grub/types.h: Likewise.
21652 * include/multiboot2.h: Likewise.
21653 * io/gzio.c: Likewise.
21654 * kern/device.c: Likewise.
21655 * kern/disk.c: Likewise.
21656 * kern/efi/efi.c: Likewise.
21657 * kern/efi/mm.c: Likewise.
21658 * kern/elf.c: Likewise.
21659 * kern/file.c: Likewise.
21660 * kern/i386/dl.c: Likewise.
21661 * kern/i386/pc/init.c: Likewise.
21662 * kern/i386/pc/startup.S: Likewise.
21663 * kern/ieee1275/ieee1275.c: Likewise.
21664 * kern/ieee1275/init.c: Likewise.
21665 * kern/main.c: Likewise.
21666 * kern/mm.c: Likewise.
21667 * kern/powerpc/dl.c: Likewise.
21668 * kern/sparc64/dl.c: Likewise.
21669 * kern/x86_64/dl.c: Likewise.
21670 * lib/hexdump.c: Likewise.
21671 * loader/efi/appleloader.c: Likewise.
21672 * loader/i386/ieee1275/linux.c: Likewise.
21673 * loader/i386/pc/chainloader.c: Likewise.
21674 * loader/i386/pc/linux.c: Likewise.
21675 * loader/i386/pc/multiboot2.c: Likewise.
21676 * loader/ieee1275/multiboot2.c: Likewise.
21677 * loader/multiboot2.c: Likewise.
21678 * loader/multiboot_loader.c: Likewise.
21679 * loader/powerpc/ieee1275/linux.c: Likewise.
21680 * normal/completion.c: Likewise.
21681 * normal/menu_entry.c: Likewise.
21682 * partmap/apple.c: Likewise.
21683 * util/grub.d/10_hurd.in: Likewise.
21684 * util/hostfs.c: Likewise.
21685 * video/readers/png.c: Likewise.
21686
21687 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
21688
21689 * include/grub/misc.h (GNUC_PREREQ): New macro.
21690 (ATTRIBUTE_ERROR): New macro.
21691 * include/grub/list.h (grub_bad_type_cast_real): Use
21692 ATTRIBUTE_ERROR.
21693
21694 2010-01-03 Carles Pina i Estany <carles@pina.cat>
21695
21696 * normal/menu_text.c (print_message): Change messages.
21697
21698 2010-01-03 Carles Pina i Estany <carles@pina.cat>
21699
21700 * normal/menu_entry.c (store_completion): Gettextizze.
21701
21702 2010-01-03 Carles Pina i Estany <carles@pina.cat>
21703
21704 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
21705
21706 2010-01-03 Carles Pina i Estany <carles@pina.cat>
21707
21708 * po/POTFILES: Sort correctly.
21709
21710 2010-01-03 Carles Pina i Estany <carles@pina.cat>
21711
21712 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
21713 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
21714 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
21715 full stop.
21716 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
21717 summary. Gettextizze the strings.
21718 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
21719 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
21720 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
21721 full stop.
21722 (GRUB_MOD_INIT): Remove command name from summary.
21723 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
21724 summary.
21725 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
21726 * term/i386/pc/serial.c (options): Add full stops.
21727 (GRUB_MOD_INIT): Remove command name from the summary.
21728
21729 2010-01-03 Carles Pina i Estany <carles@pina.cat>
21730
21731 * commands/acpi.c: Gettextizze help strings and/or options. Include
21732 `grub/i18n.h' if needed.
21733 * commands/blocklist.c: Likewise.
21734 * commands/boot.c: Likewise.
21735 * commands/cat.c: Likewise.
21736 * commands/cmp.c: Likewise.
21737 * commands/configfile.c: Likewise.
21738 * commands/crc.c: Likewise.
21739 * commands/date.c: Likewise.
21740 * commands/echo.c: Likewise.
21741 * commands/efi/fixvideo.c: Likewise.
21742 * commands/efi/loadbios.c: Likewise.
21743 * commands/gptsync.c: Likewise.
21744 * commands/halt.c: Likewise.
21745 * commands/handler.c: Likewise.
21746 * commands/hdparm.c: Likewise.
21747 * commands/hexdump.c: Likewise.
21748 * commands/i386/cpuid.c: Likewise.
21749 * commands/i386/pc/drivemap.c: Likewise.
21750 * commands/i386/pc/halt.c: Likewise.
21751 * commands/i386/pc/pxecmd.c: Likewise.
21752 * commands/i386/pc/vbeinfo.c: Likewise.
21753 * commands/i386/pc/vbetest.c: Likewise.
21754 * commands/ieee1275/suspend.c: Likewise.
21755 * commands/keystatus.c: Likewise.
21756 * commands/loadenv.c: Likewise.
21757 * commands/ls.c: Likewise.
21758 * commands/lsmmap.c: Likewise.
21759 * commands/lspci.c: Likewise.
21760 * commands/memrw.c: Likewise.
21761 * commands/minicmd.c: Likewise.
21762 * commands/parttool.c: Likewise.
21763 * commands/password.c: Likewise.
21764 * commands/probe.c: Likewise.
21765 * commands/read.c: Likewise.
21766 * commands/reboot.c: Likewise.
21767 * commands/search.c: Likewise.
21768 * commands/sleep.c: Likewise.
21769 * commands/test.c: Likewise.
21770 * commands/true.c: Likewise.
21771 * commands/usbtest.c: Likewise.
21772 * commands/videotest.c: Likewise.
21773 * commands/xnu_uuid.c: Likewise.
21774 * disk/loopback.c: Likewise.
21775 * hello/hello.c: Likewise.
21776 * loader/i386/bsd.c: Likewise.
21777 * term/i386/pc/serial.c: Likewise.
21778 * po/POTFILES: Add new files.
21779
21780 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
21781
21782 * term/i386/pc/at_keyboard.c
21783 (keyboard_controller_wait_untill_ready): Rename to ...
21784 (keyboard_controller_wait_until_ready): ... this. Update all users.
21785
21786 2010-01-01 Carles Pina i Estany <carles@pina.cat>
21787
21788 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
21789 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
21790 string using string width.
21791 * normal/menu_text.c (grub_print_message_indented): Use
21792 grub_print_spaces and not print_spaces.
21793 (print_timeout): Likewise.
21794 (print_spaces): Move to...
21795 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
21796
21797 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
21798
21799 Import from Gnulib.
21800
21801 * gnulib/getdelim.c: New file.
21802 * gnulib/getline.c: Likewise.
21803
21804 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
21805
21806 * include/grub/list.h (grub_assert_fail): Removed.
21807 (grub_bad_type_cast_real): New function.
21808 (grub_bad_type_cast): New macro.
21809 (GRUB_AS_LIST): Use grub_bad_type_cast.
21810 (GRUB_AS_LIST_P): Likewise.
21811 (GRUB_AS_NAMED_LIST): Likewise.
21812 (GRUB_AS_NAMED_LIST_P): Likewise.
21813 (GRUB_AS_PRIO_LIST): Likewise.
21814 (GRUB_AS_PRIO_LIST_P): Likewise.
21815 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
21816
21817 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
21818
21819 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
21820 Fix syntax error.
21821
21822 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
21823
21824 * configure.ac: Check for TARGET_CFLAGS initialization before we
21825 initialize it ourselves (sigh).
21826 Move a few modifications to TARGET_CFLAGS to be unconditional
21827 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
21828 eh_frame)
21829
21830 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
21831 * term/i386/pc/at_keyboard.c
21832 (keyboard_controller_wait_untill_ready): Likewise.
21833 (keyboard_controller_led): Rename `led_status' paramter to avoid
21834 name conflict.
21835
21836 2009-12-28 Carles Pina i Estany <carles@pina.cat>
21837
21838 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
21839 quotes.
21840
21841 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21842
21843 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
21844
21845 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21846
21847 * normal/menu_text.c (grub_print_message_indented): Prevent
21848 past-the-end-of-array dereference.
21849
21850 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21851
21852 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
21853 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
21854
21855 2009-12-27 Carles Pina i Estany <carles@pina.cat>
21856
21857 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
21858 * normal/main.c (grub_normal_read_line): Remove a space from the
21859 default prompt.
21860
21861 2009-12-27 Carles Pina i Estany <carles@pina.cat>
21862
21863 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
21864 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21865 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21866 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21867 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21868 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21869 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21870
21871 2009-12-26 Carles Pina i Estany <carles@pina.cat>
21872
21873 * video/readers/jpeg.c (cmd): Declare.
21874 (grub_cmd_jpegtest): Use `grub_command_t' type.
21875 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21876 Assign to `cmd'.
21877 (GRUB_MOD_FINI): Use `cmd' to unregister.
21878 * video/readers/png.c (cmd): Declare.
21879 (grub_cmd_pngtest): Use `grub_command_t' type.
21880 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21881 Assign to `cmd'.
21882 (GRUB_MOD_FINI): Use `cmd' to unregister.
21883 * video/readers/tga.c (cmd): Declare.
21884 (grub_cmd_tgatest): Use `grub_command_t' type.
21885 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21886 Assign to `cmd'.
21887 (GRUB_MOD_FINI): Use `cmd' to unregister.
21888
21889 2009-12-26 Carles Pina i Estany <carles@pina.cat>
21890
21891 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
21892 stops.
21893 * kern/corecmd.c (grub_register_core_commands): Likewise.
21894 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
21895 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21896 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
21897 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21898 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21899 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
21900 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21901 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
21902 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21903 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21904 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21905 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21906 * normal/handler.c (insert_handler): Likewise.
21907 * normal/main.c (GRUB_MOD_INIT): Likewise.
21908 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21909
21910 2009-12-26 Carles Pina i Estany <carles@pina.cat>
21911
21912 * commands/help.c (grub_cmd_help): Print the command name before the
21913 summary.
21914 (GRUB_MOD_INIT): Remove command name from the summary.
21915 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
21916 string as summary.
21917 * lib/arg.c (find_long): Print the command name before the summary.
21918 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
21919 summary.
21920 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
21921 * commands/cat.c (GRUB_MOD_INIT): Likewise.
21922 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
21923 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21924 * commands/crc.c (GRUB_MOD_INIT): Likewise.
21925 * commands/date.c (GRUB_MOD_INIT): Likewise.
21926 * commands/echo.c (GRUB_MOD_INIT): Likewise.
21927 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
21928 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21929 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21930 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
21931 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
21932 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
21933 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
21934 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21935 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
21936 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
21937 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
21938 * commands/ls.c (GRUB_MOD_INIT): Likewise.
21939 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21940 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21941 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21942 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
21943 * commands/password.c (GRUB_MOD_INIT): Likewise.
21944 * commands/probe.c (GRUB_MOD_INIT): Likewise.
21945 * commands/read.c (GRUB_MOD_INIT): Likewise.
21946 * commands/search.c (GRUB_MOD_INIT): Likewise.
21947 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
21948 * commands/test.c (GRUB_MOD_INIT): Likewise.
21949 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
21950 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21951 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21952 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
21953 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21954 * lib/arg.c (GRUB_MOD_INIT): Likewise.
21955 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
21956 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21957 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21958 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21959 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21960 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
21961 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
21962 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
21963
21964 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21965
21966 Use search command for preliminar UUID search.
21967
21968 * commands/search.c: Split into ...
21969 * commands/search_wrap.c: ...this
21970 * commands/search.c: ...and this.
21971 * commands/search_file.c: New file.
21972 * commands/search_label.c: New file.
21973 * commands/search_uuid.c: New file.
21974 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
21975 Add commands/search_wrap.c, commands/search_file.c,
21976 commands/search_label.c and commands/search_uuid.c.
21977 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
21978 (search_mod_SOURCES): Set to commands/search_wrap.c.
21979 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
21980 search_label.mod.
21981 (search_fs_file_mod_SOURCES): New variable.
21982 (search_fs_file_mod_CFLAGS): Likewise.
21983 (search_fs_file_mod_LDFLAGS): Likewise.
21984 (search_label_mod_SOURCES): Likewise.
21985 (search_label_mod_CFLAGS): Likewise.
21986 (search_label_mod_LDFLAGS): Likewise.
21987 (search_fs_uuid_mod_SOURCES): New variable.
21988 (search_fs_uuid_mod_CFLAGS): Likewise.
21989 (search_fs_uuid_mod_LDFLAGS): Likewise.
21990 (fs_file_mod_SOURCES): Removed.
21991 (fs_file_mod_CFLAGS): Likewise.
21992 (fs_file_mod_LDFLAGS): Likewise.
21993 (fs_uuid_mod_SOURCES): Removed.
21994 (fs_uuid_mod_CFLAGS): Likewise.
21995 (fs_uuid_mod_LDFLAGS): Likewise.
21996 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
21997 Set to util/grub-install.in.
21998 * disk/fs_file.c: Removed.
21999 * disk/fs_uuid.c: Likewise.
22000 * include/grub/search.h: New file.
22001 * util/grub-install.in: Handle sparc64.
22002 Create and use load.cfg.
22003 * util/sparc64/ieee1275/grub-install.in: Removed.
22004
22005 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22006
22007 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
22008 Ignore return status if CF is cleared.
22009 (grub_biosdisk_get_diskinfo_standard): Likewise.
22010
22011 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22012
22013 * term/i386/pc/at_keyboard.c
22014 (keyboard_controller_wait_untill_ready): New function.
22015 (grub_keyboard_controller_write, grub_keyboard_controller_read)
22016 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
22017 for keyboard polling, rather than duplicate the same loop. This
22018 saves a few bytes in code size.
22019
22020 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22021
22022 Support for (pxe[:server[:gateway]]) syntax and
22023 use environment variable for PXE.
22024
22025 * commands/i386/pc/pxecmd.c (options): Removed.
22026 (print_ip): Removed.
22027 (grub_cmd_pxe): Removed
22028 (grub_cmd_pxe_unload): New function.
22029 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
22030 (grub_pxe_your_ip): Made static.
22031 (grub_pxe_default_server_ip): Likewise.
22032 (grub_pxe_default_gateway_ip): Likewise.
22033 (grub_pxe_blksize): Likewise.
22034 (parse_ip): New function.
22035 (grub_pxe_open): Support server and gateway specification.
22036 (grub_pxe_close): Free disk->data.
22037 (grub_pxefs_open): Use disk->data.
22038 (grub_pxefs_read): Likewise.
22039 (grub_env_write_readonly): New function.
22040 (set_mac_env): Likewise.
22041 (set_env_limn_ro): Likewise.
22042 (parse_dhcp_vendor): Likewise.
22043 (grub_pxe_detect): Set the environment variables.
22044 (set_ip_env): New function.
22045 (write_ip_env): Likewise.
22046 (grub_env_write_pxe_default_server): Likewise.
22047 (grub_env_write_pxe_default_gateway): Likewise.
22048 (grub_env_write_pxe_blocksize): Likewise.
22049 (GRUB_MOD_INIT(pxe)): Set environment variables.
22050 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
22051 (grub_pxe_mac_addr_t): ... this. All users updated.
22052 (grub_pxe_your_ip): Removed.
22053 (grub_pxe_server_ip): Likewise.
22054 (grub_pxe_gateway_ip): Likewise.
22055 (grub_pxe_blksize): Likewise.
22056
22057 2009-12-25 Carles Pina i Estany <carles@pina.cat>
22058
22059 * commands/help.c: Include `<grub/i18n.h>'.
22060 (grub_cmd_help): Gettextizze.
22061 (GRUB_MOD_INIT): Likewise.
22062 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
22063 (GRUB_MOD_INIT): Gettextizze.
22064 * commands/search.c: Include `<grub/i18n.h>'.
22065 (options): Gettextizze.
22066 (GRUB_MOD_INIT): Gettextizze.
22067 * lib/arg.c: Include `<grub/i18n.h>'.
22068 (help_options): Gettextizze.
22069 (find_long): Likewise.
22070 (grub_arg_show_help): Likewise.
22071 * normal/dyncmd.c: Include `<grub/i18n.h>'.
22072 (read_command_list): Gettextizze.
22073 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
22074 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
22075
22076 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22077
22078 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
22079 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
22080 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
22081 (led_status): New variable.
22082 (keyboard_controller_led): New function.
22083 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
22084 update led status for caps lock, num lock and scroll lock.
22085
22086 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
22087
22088 * util/hostdisk.c (open_device): Fix a comment.
22089
22090 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22091
22092 * util/grub-install.in (host_os): New variable.
22093 * util/i386/efi/grub-install.in (host_os): Likewise.
22094
22095 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22096
22097 * util/mkisofs/write.c (padblock_write): Abort when given an
22098 excedingly large embed image, instead of silently truncating it.
22099
22100 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22101
22102 * include/multiboot.h: Indentation fixes.
22103
22104 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22105
22106 * include/multiboot.h (struct multiboot_aout_symbol_table)
22107 (struct multiboot_elf_section_header_table): New structure
22108 declarations (stolen from GRUB Legacy).
22109 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
22110 table information.
22111
22112 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
22113 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
22114 type aliases.
22115
22116 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22117
22118 * include/multiboot.h: Make comments src2texi-friendly.
22119
22120 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22121
22122 For consistency with [multiboot]/docs/boot.S.
22123
22124 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
22125 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
22126 (MULTIBOOT_MAGIC2): Rename from this ...
22127 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
22128
22129 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22130
22131 * include/multiboot.h: Remove `<grub/types.h>'.
22132 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
22133 types. Update all users.
22134
22135 2009-12-25 Carles Pina i Estany <carles@pina.cat>
22136
22137 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
22138 `couldn't' and `can not' by `cannot'.
22139 * commands/i386/pc/drivemap.c: Likewise.
22140 * disk/ata.c: Likewise.
22141 * disk/ieee1275/nand.c: Likewise.
22142 * fs/affs.c: Likewise.
22143 * fs/fat.c: Likewise.
22144 * fs/hfs.c: Likewise.
22145 * fs/hfsplus.c: Likewise.
22146 * fs/iso9660.c: Likewise.
22147 * fs/jfs.c: Likewise.
22148 * fs/minix.c: Likewise.
22149 * fs/reiserfs.c: Likewise.
22150 * fs/sfs.c: Likewise.
22151 * fs/udf.c: Likewise.
22152 * fs/ufs.c: Likewise.
22153 * fs/xfs.c: Likewise.
22154 * loader/powerpc/ieee1275/linux.c: Likewise.
22155 * loader/sparc64/ieee1275/linux.c: Likewise.
22156 * util/grub-probe.c: Likewise.
22157 * util/misc.c: Likewise.
22158
22159 2009-12-24 Carles Pina i Estany <carles@pina.cat>
22160
22161 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
22162 grub_errno calls.
22163 * commands/acpi.c: Likewise.
22164 * commands/blocklist.c: Likewise.
22165 * commands/efi/loadbios.c: Likewise.
22166 * commands/i386/pc/drivemap.c: Likewise.
22167 * commands/loadenv.c: Likewise.
22168 * commands/memrw.c: Likewise.
22169 * commands/password.c: Likewise.
22170 * commands/videotest.c: Likewise.
22171 * disk/ata.c: Likewise.
22172 * disk/ata_pthru.c: Likewise.
22173 * disk/dmraid_nvidia.c: Likewise.
22174 * disk/ieee1275/nand.c: Likewise.
22175 * disk/ieee1275/ofdisk.c: Likewise.
22176 * disk/loopback.c: Likewise.
22177 * disk/lvm.c: Likewise.
22178 * disk/mdraid_linux.c: Likewise.
22179 * disk/raid.c: Likewise.
22180 * disk/raid6_recover.c: Likewise.
22181 * disk/scsi.c: Likewise.
22182 * efiemu/main.c: Likewise.
22183 * efiemu/mm.c: Likewise.
22184 * efiemu/pnvram.c: Likewise.
22185 * efiemu/symbols.c: Likewise.
22186 * font/font.c: Likewise.
22187 * fs/cpio.c: Likewise.
22188 * fs/hfsplus.c: Likewise.
22189 * fs/iso9660.c: Likewise.
22190 * fs/jfs.c: Likewise.
22191 * fs/minix.c: Likewise.
22192 * fs/ntfs.c: Likewise.
22193 * fs/ntfscomp.c: Likewise.
22194 * fs/reiserfs.c: Likewise.
22195 * fs/ufs.c: Likewise.
22196 * fs/xfs.c: Likewise.
22197 * gettext/gettext.c: Likewise.
22198 * include/grub/auth.h: Likewise.
22199 * kern/elf.c: Likewise.
22200 * kern/file.c: Likewise.
22201 * kern/ieee1275/init.c: Likewise.
22202 * kern/ieee1275/mmap.c: Likewise.
22203 * kern/ieee1275/openfw.c: Likewise.
22204 * kern/powerpc/dl.c: Likewise.
22205 * kern/sparc64/dl.c: Likewise.
22206 * lib/arg.c: Likewise.
22207 * loader/i386/bsd.c: Likewise.
22208 * loader/i386/bsdXX.c: Likewise.
22209 * loader/i386/efi/linux.c: Likewise.
22210 * loader/i386/efi/xnu.c: Likewise.
22211 * loader/i386/ieee1275/linux.c: Likewise.
22212 * loader/i386/linux.c: Likewise.
22213 * loader/i386/multiboot.c: Likewise.
22214 * loader/i386/pc/linux.c: Likewise.
22215 * loader/i386/pc/multiboot2.c: Likewise.
22216 * loader/i386/xnu.c: Likewise.
22217 * loader/ieee1275/multiboot2.c: Likewise.
22218 * loader/macho.c: Likewise.
22219 * loader/machoXX.c: Likewise.
22220 * loader/multiboot2.c: Likewise.
22221 * loader/multiboot_loader.c: Likewise.
22222 * loader/powerpc/ieee1275/linux.c: Likewise.
22223 * loader/sparc64/ieee1275/linux.c: Likewise.
22224 * loader/xnu.c: Likewise.
22225 * loader/xnu_resume.c: Likewise.
22226 * mmap/i386/pc/mmap.c: Likewise.
22227 * normal/menu_viewer.c: Likewise.
22228 * partmap/acorn.c: Likewise.
22229 * partmap/amiga.c: Likewise.
22230 * partmap/apple.c: Likewise.
22231 * script/lexer.c: Likewise.
22232 * term/gfxterm.c: Likewise.
22233 * term/i386/pc/serial.c: Likewise.
22234 * term/i386/pc/vga.c: Likewise.
22235 * term/ieee1275/ofconsole.c: Likewise.
22236 * term/terminfo.c: Likewise.
22237 * video/bitmap.c: Likewise.
22238 * video/efi_gop.c: Likewise.
22239 * video/efi_uga.c: Likewise.
22240 * video/fb/video_fb.c: Likewise.
22241 * video/i386/pc/vbe.c: Likewise.
22242 * video/readers/tga.c: Likewise.
22243 * video/video.c: Likewise.
22244
22245 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
22246
22247 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
22248 * commands/lspci.c: Likewise.
22249 * commands/probe.c: Likewise.
22250 * commands/xnu_uuid.c: Likewise.
22251 * conf/i386-coreboot.rmk: Likewise.
22252 * conf/i386-efi.rmk: Likewise.
22253 * conf/i386-ieee1275.rmk: Likewise.
22254 * conf/i386-pc.rmk: Likewise.
22255 * conf/powerpc-ieee1275.rmk: Likewise.
22256 * conf/sparc64-ieee1275.rmk: Likewise.
22257 * conf/x86_64-efi.rmk: Likewise.
22258 * fs/i386/pc/pxe.c: Likewise.
22259 * gettext/gettext.c: Likewise.
22260 * include/grub/efi/graphics_output.h: Likewise.
22261 * include/grub/i386/pc/memory.h: Likewise.
22262 * kern/env.c: Likewise.
22263 * kern/i386/qemu/startup.S: Likewise.
22264 * lib/i386/pc/biosnum.c: Likewise.
22265 * lib/i386/relocator.c: Likewise.
22266 * lib/i386/relocator_asm.S: Likewise.
22267 * lib/relocator.c: Likewise.
22268 * loader/i386/bsd.c: Likewise.
22269 * loader/i386/multiboot.c: Likewise.
22270 * loader/i386/pc/chainloader.c: Likewise.
22271 * loader/i386/xnu.c: Likewise.
22272 * loader/xnu.c: Likewise.
22273 * normal/main.c: Likewise.
22274 * normal/menu_text.c: Likewise.
22275 * util/getroot.c: Likewise.
22276 * util/grub-mkconfig_lib.in: Likewise.
22277 * util/grub.d/00_header.in: Likewise.
22278 * util/i386/pc/grub-mkimage.c: Likewise.
22279 * util/mkisofs/eltorito.c: Likewise.
22280 * util/mkisofs/exclude.h: Likewise.
22281 * util/mkisofs/hash.c: Likewise.
22282 * util/mkisofs/iso9660.h: Likewise.
22283 * util/mkisofs/joliet.c: Likewise.
22284 * util/mkisofs/mkisofs.c: Likewise.
22285 * util/mkisofs/mkisofs.h: Likewise.
22286 * util/mkisofs/multi.c: Likewise.
22287 * util/mkisofs/name.c: Likewise.
22288 * util/mkisofs/rock.c: Likewise.
22289 * util/mkisofs/tree.c: Likewise.
22290 * util/mkisofs/write.c: Likewise.
22291 * video/efi_gop.c: Likewise.
22292
22293 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
22296 size counting.
22297
22298 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
22299
22300 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
22301 * genmk.rb (class SCRIPT): Modify the target file instead of source.
22302
22303 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22304
22305 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
22306 (GRUB_MOD_INIT(memrw)): Update help line.
22307
22308 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22309
22310 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
22311 Use grub_extcmd_t. All users updated.
22312 (options): New variable.
22313 (grub_cmd_read): Restructure for readability. Support "-v" option.
22314 (grub_cmd_write): Restructure for readability.
22315
22316 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
22317
22318 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
22319
22320 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
22321
22322 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
22323 with the actual contents of the correspondending make variable.
22324 * util/grub-mkrescue.in (pkglib_DATA): New variable.
22325 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
22326 specifying `*.lst' and `efiemu??.o'
22327
22328 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
22329
22330 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
22331 after function name.
22332 Noticed by Rene Engelhard <rene@debian.org>.
22333
22334 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22335
22336 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
22337 (options): New variable.
22338 (iospace): Likewise.
22339 (grub_lspci_iter): List IO spaces if "-i" was given.
22340 (grub_cmd_lspci): Parse options.
22341 (GRUB_MOD_INIT(lspci)): Use extcmd.
22342 (GRUB_MOD_FINI(lspci)): Likewise.
22343
22344 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
22345
22346 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
22347 `function' keyword.
22348 Patch by Tony Mancill <tmancill@debian.org>.
22349
22350 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22351
22352 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
22353 (grub_uhci_portstatus): Likewise.
22354 (grub_uhci_portstatus): Add necessary delay.
22355 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
22356
22357 2009-12-21 Carles Pina i Estany <carles@pina.cat>
22358
22359 * commands/acpi.c (options): Fix capitalizations and/or full stops.
22360 (GRUB_MOD_INIT): Likewise.
22361 * commands/boot.c (GRUB_MOD_INIT): Likewise.
22362 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
22363 * commands/echo.c (options): Fix capitalizations and/or full stops.
22364 * commands/efi/loadbios.c (enable_rom_area): Likewise.
22365 (enable_rom_area): Likewise.
22366 (GRUB_MOD_INIT): Likewise.
22367 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22368 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
22369 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22370 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
22371 * commands/hexdump.c (options): Likewise.
22372 * commands/i386/cpuid.c (options): Likewise.
22373 (GRUB_MOD_INIT): Likewise.
22374 * commands/i386/pc/drivemap.c (options): Likewise.
22375 (GRUB_MOD_INIT): Likewise.
22376 * commands/i386/pc/halt (options): Likewise.
22377 (GRUB_MOD_INIT): Likewise.
22378 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22379 * commands/i386/pc/pxecmd.c (options): Likewise.
22380 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
22381 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
22382 * commands/keystatus.c (options): Likewise.
22383 (GRUB_MOD_INIT): Likewise.
22384 * commands/loadenv.c (options): Likewise.
22385 * commands/ls.c (options): Likewise.
22386 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22387 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22388 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22389 * commands/parttool.c (helpmsg): Likewise.
22390 * commands/probe.c (options): Likewise.
22391 * commands/read.c (GRUB_MOD_INIT): Likewise.
22392 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
22393 * commands/search.c (options): Likewise.
22394 * commands/sleep.c (options): Likewise.
22395 * commands/test.c (GRUB_MOD_INIT): Likewise.
22396 * commands/true.c (GRUB_MOD_INIT): Likewise.
22397 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
22398 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
22399 * lib/arg.c (help_options): Likewise.
22400 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
22401 `$(XGETTEXT)'.
22402 * po/POTFILES: Add `commands/loadenv.c'.
22403
22404 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
22405
22406 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
22407 instead of specifying them explicit.
22408
22409 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22410
22411 * NEWS: Add grub-probe support for GNU/Hurd.
22412
22413 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22414
22415 * NEWS: gettext was added after 1.97.
22416
22417 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22418
22419 * util/mkisofs/msdos_partition.h: New file (based on
22420 include/grub/msdos_partition.h).
22421 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
22422 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
22423 (ld_options, main): Recognize --protective-msdos-label.
22424 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
22425 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
22426 (padblock_write): If `use_protective_msdos_label' is set, patch a
22427 protective DOS-style label in the output image.
22428
22429 * util/grub-mkrescue.in: Use --protective-msdos-label.
22430
22431 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22432
22433 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
22434 boot.
22435
22436 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22437
22438 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
22439 variables.
22440 (ld_options, main): Recognize `--embedded-boot'.
22441 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
22442 declarations.
22443 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
22444 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
22445 (padblock_write): Likewise. Rewrite to support embedded boot image.
22446
22447 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
22448 for BIOS-based disk boot instead of only ElTorito.
22449
22450 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22451
22452 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
22453 build (not needed for bootstrap).
22454
22455 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22456
22457 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
22458 from i386-pc build (not needed for bootstrap).
22459 Rewrite a pair of strings.
22460
22461 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22462
22463 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
22464
22465 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
22466
22467 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
22468
22469 2009-12-21 Andreas Born <futur.andy@googlemail.com>
22470
22471 * kern/env.c (grub_env_context_open): Mark exported variable for
22472 reexport.
22473
22474 2009-12-21 Andreas Born <futur.andy@googlemail.com>
22475
22476 * kern/env.c (grub_env_export): Create nonexistent variables before
22477 exporting.
22478
22479 2009-12-20 Carles Pina i Estany <carles@pina.cat>
22480
22481 * include/grub/auth.h: Include `<grub/i18n.h>'.
22482 (GRUB_GET_PASSWORD): Gettextizze string.
22483 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
22484 menu_text.c.
22485 (grub_utf8_to_ucs4_alloc): Fix indentation.
22486 (grub_print_ucs4): Likewise.
22487 (grub_getstringwidth): Likewise.
22488 (print_message_indented): New declaration.
22489 * normal/auth.c: Include `<grub/i18n.h>'.
22490 (grub_auth_check_authentication): Gettexttize string.
22491 * normal/cmdline.c: Include `<grub/i18n.h>'.
22492 (grub_cmdline_get): Gettextizze.
22493 * normal/color.c: Include `<grub/i18n.h>'.
22494 (grub_parse_color_name_pair): Gettexttize strings.
22495 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22496 string (use `print_message_indented').
22497 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22498 `include/grub/normal.h'.
22499 (print_message_indented): Renamed to ...
22500 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22501 used in normal/main.c).
22502 (print_message): Use `grub_print_message_indented' instead of
22503 `print_message_indented'.
22504 (print_timeout): Likewise.
22505 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22506 (grub_normal_print_device_info): Gettexttize strings.
22507 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22508
22509 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22510
22511 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22512 of arguments. Return number of tokens and not arguments. All users
22513 updated.
22514
22515 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22516
22517 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22518 non-MSDOS paritions.
22519
22520 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22521
22522 * include/grub/types.h (UNUSED): Removed since it conflicts with
22523 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22524 Reported by Grégoire Sutre.
22525
22526 2009-12-19 Carles Pina i Estany <carles@pina.cat>
22527
22528 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22529 (grub_print_ucs4_alloc): Likewise.
22530 (grub_getstringwidth): Likewise.
22531 * normal/main.c (grub_normal_init_page): Gettextize version string.
22532 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22533 (getstringwidth): Renamed to ...
22534 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22535 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22536 (grub_print_ucs4): Remove `static' qualifer (now used in
22537 normal/main.c).
22538 * po/POTFILES: Add normal/main.c.
22539
22540 2009-12-19 Carles Pina i Estany <carles@pina.cat>
22541
22542 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22543 (print_message_indented): Add `margin_left' and `margin_right'
22544 parameters.
22545 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22546 strings.
22547 (print_timeout): Use `print_message_indented' to print the message.
22548 Deletes `second_stage' parameter.
22549 (run_menu): Update `print_timeout' calls.
22550
22551 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22552
22553 Fix console palette on OpenFirmware.
22554
22555 * term/ieee1275/ofconsole.c (MAX): Removed.
22556 (colors): Redone based on VGA palette.
22557 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22558 colors are supported.
22559 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22560
22561 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22562
22563 Fix potential EfiEmu double prepare.
22564
22565 * efiemu/main.c (prepared): New variable
22566 (grub_efiemu_unload): Set prepare to '0'.
22567 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22568
22569 set_virtual_address_map support.
22570
22571 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22572 prototype.
22573 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22574 prototype.
22575 (grub_efiemu_crc32): Likewise.
22576 (grub_efiemu_crc64): Likewise.
22577 (grub_efiemu_set_virtual_address_map): Likewise.
22578 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22579 New definition.
22580 (grub_autoefi_set_virtual_address_map): Likewise.
22581 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22582 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22583 Restructure flow to accomodate it.
22584 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22585 (grub_efiemu_crc): Recompute CRC32.
22586 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22587 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22588 * efiemu/symbols.c (relocated_handle): New variable.
22589 (grub_efiemu_free_syms): Free relocated_handle.
22590 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22591 (grub_efiemu_write_sym_markers): New function.
22592 (grub_efiemu_set_virtual_address_map): Likewise.
22593
22594 Newer XNU parameters.
22595
22596 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22597 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22598 (grub_xnu_fill_devicetree): New prototype.
22599 (grub_xnu_heap_real_start): New variable.
22600 * loader/xnu.c (get_name_ptr): New function.
22601 (grub_xnu_load_driver): Fill namelen and name.
22602
22603 64-bit xnu support.
22604
22605 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22606 and 'loader/macho64.c'.
22607 * conf/i386-pc.rmk: Likewise.
22608 * conf/x86_64-efi.rmk: Likewise.
22609 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22610 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22611 * include/grub/macho.h (grub_macho_segment64): New structure.
22612 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22613 (grub_macho_size32): ... to this.
22614 (grub_macho32_get_entry_point): Renamed from ...
22615 (grub_macho_get_entry_point32): ... to this.
22616 (grub_macho_contains_macho64): New prototype.
22617 (grub_macho_size64): Likewise.
22618 (grub_macho_get_entry_point64): Likewise.
22619 (grub_macho32_load): Renamed from ...
22620 (grub_macho_load32): ... to this.
22621 (grub_macho32_filesize): Renamed from ...
22622 (grub_macho_filesize32): ... to this.
22623 (grub_macho32_readfile): Renamed from ...
22624 (grub_macho_readfile32): ... to this.
22625 (grub_macho_filesize64): New prototype.
22626 (grub_macho_readfile64): Likewise.
22627 (grub_macho_parse32): Likewise.
22628 (grub_macho_parse64): Likewise.
22629 * loader/macho.c: Split into ...
22630 * loader/machoXX.c: ... and this. Replace 32 with XX.
22631 * loader/macho32.c: New file.
22632 * loader/macho64.c: Likewise.
22633 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22634 (grub_cmd_xnu_kernel): Make 32-bit only.
22635 (grub_cmd_xnu_kernel64): New function.
22636 (grub_xnu_load_driver): Support Mach-O 64.
22637 (grub_cmd_xnu_mkext): Likewise.
22638 * util/grub.d/30_os-prober.in (osx_entry): New function.
22639 Generate entries for 64-bit boot too.
22640
22641 Eliminate ad-hoc tree format in XNU and EfiEmu.
22642
22643 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22644 * efiemu/pnvram.c: Rewritten to use environment variables.
22645 All users updated.
22646
22647 Inline utf16_to_utf8.
22648
22649 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22650 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22651 All users updated.
22652 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22653
22654 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22655 * commands/usbtest.c (grub_usb_get_string): ... move here.
22656 (usb_print_str): Fix error handling.
22657 * include/grub/usb.h (grub_usb_get_string): Remove.
22658
22659 UTF-8 to UTF-16 transformation.
22660
22661 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22662 (charset_mod_SOURCES): New variable.
22663 (charset_mod_CFLAGS): Likewise.
22664 (charset_mod_LDFLAGS): Likewise.
22665 * include/grub/utf.h: New file.
22666 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22667
22668 Support for device properties.
22669
22670 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
22671 (grub_xnu_devprop_device_header): Likewise.
22672 (grub_xnu_devprop_device_descriptor): Likewise.
22673 (grub_xnu_devprop_add_device): New prototype.
22674 (grub_xnu_devprop_remove_device): Likewise.
22675 (grub_xnu_devprop_remove_property): Likewise.
22676 (grub_xnu_devprop_add_property_utf8): Likewise.
22677 (grub_xnu_devprop_add_property_utf16): Likewise.
22678 (grub_cpu_xnu_init): Likewise.
22679 (grub_cpu_xnu_fini): Likewise.
22680 (grub_cpu_xnu_unload): Likewise.
22681 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
22682 (property_descriptor): Likewise.
22683 (devices): New variable.
22684 (grub_xnu_devprop_remove_property): New function.
22685 (grub_xnu_devprop_add_device): Likewise.
22686 (grub_xnu_devprop_remove_device): Likewise.
22687 (grub_xnu_devprop_add_property): Likewise.
22688 (grub_xnu_devprop_add_property_utf8): Likewise.
22689 (grub_xnu_devprop_add_property_utf16): Likewise.
22690 (hextoval): Likewise.
22691 (grub_cpu_xnu_fill_devprop): Likewise.
22692 (grub_cmd_devprop_load): Likewise.
22693 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
22694 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
22695 (cmd_devprop_load): New variable.
22696 (grub_cpu_xnu_init): New function.
22697 (grub_cpu_xnu_fini): Likewise.
22698 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
22699 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
22700 (grub_cmd_xnu_devtree): Likewise.
22701 (hextoval): New function.
22702 (unescape): Likewise.
22703 (grub_xnu_fill_devicetree): Likewise.
22704
22705 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
22706 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
22707
22708 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22709
22710 Workaround for broken ATI VBE.
22711
22712 * video/i386/pc/vbe.c (last_set_mode): New variable.
22713 (grub_vbe_set_video_mode): Set 'last_set_mode'.
22714 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
22715 (grub_video_vbe_setup): Don't check for reserved flag.
22716
22717 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
22718
22719 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
22720 the `find' command.
22721
22722 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22723
22724 UUID support for HFS.
22725
22726 * fs/hfs.c (grub_hfs_uuid): New function.
22727 (grub_hfs_fs): New value .uuid.
22728 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
22729
22730 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
22731
22732 Fix a segfault with parsing unknown long options.
22733
22734 * util/grub-mkrelpath.c (options): Zero terminate it.
22735
22736 2009-12-13 Carles Pina i Estany <carles@pina.cat>
22737
22738 * include/grub/misc.h (grub_puts): New declaration.
22739 (grub_puts_): Likewise.
22740 * kern/misc.c (grub_puts): New definition.
22741 (grub_puts_): Likewise.
22742
22743 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22744
22745 * util/grub-probe.c (probe): Improve error message.
22746
22747 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22748
22749 * loader/i386/multiboot_elfxx.c
22750 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22751 initialization.
22752
22753 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22754
22755 Relocator framework
22756
22757 * loader/i386/xnu_helper.S: Removed. All users updated.
22758 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22759 (relocator_mod_SOURCES): New variable.
22760 (relocator_mod_CFLAGS): Likewise.
22761 (relocator_mod_LDFLAGS): Likewise.
22762 (relocator_mod_ASFLAGS): Likewise.
22763 * conf/x86_64.rmk: Likewise.
22764 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22765 (grub_multiboot_payload_entry_offset): Likewise.
22766 (grub_multiboot_forward_relocator): Likewise.
22767 (grub_multiboot_forward_relocator_end): Likewise.
22768 (grub_multiboot_backward_relocator): Likewise.
22769 (grub_multiboot_backward_relocator_end): Likewise.
22770 (grub_multiboot_payload_eip): New variable.
22771 (grub_multiboot_payload_orig): Likewise.
22772 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22773 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22774 * include/grub/i386/memory.h
22775 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
22776 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
22777 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
22778 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
22779 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
22780 * include/grub/i386/relocator.h: New file.
22781 * include/grub/x86_64/relocator.h: Likewise.
22782 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
22783 (XNU_RELOCATOR): New macro.
22784 (grub_xnu_launcher_start): Remove.
22785 (grub_xnu_launcher_end): Likewise.
22786 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
22787 (grub_xnu_heap_real_start): Remove.
22788 (grub_xnu_heap_start): Change to void *. All users updated.
22789 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
22790 * lib/i386/relocator.c: New file.
22791 * lib/i386/relocator_asm.S: Likewise.
22792 * lib/i386/relocator_backward.S: Likewise.
22793 * lib/mips/relocator.c: Likewise.
22794 * lib/mips/relocator_asm.S: Likewise.
22795 * lib/relocator.c: Likewise.
22796 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
22797 (entry): Removed.
22798 (playground): Likewise.
22799 (grub_multiboot_payload_orig): New variable.
22800 (grub_multiboot_payload_dest): Likewise.
22801 (grub_multiboot_payload_size): Likewise.
22802 (grub_multiboot_payload_eip): Likewise.
22803 (grub_multiboot_payload_esp): Likewise.
22804 (grub_multiboot_boot): Use grub_relocator32_boot.
22805 (grub_multiboot_unload): Free relocators.
22806 (grub_multiboot): Setup stack. Use relocators.
22807 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
22808 (grub_multiboot_load_elfXX): Use relocators.
22809 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
22810 (grub_multiboot_payload_size): Likewise.
22811 (grub_multiboot_payload_dest): Likewise.
22812 (grub_multiboot_payload_entry_offset): Likewise.
22813 (grub_multiboot_forward_relocator): Likewise.
22814 (grub_multiboot_backward_relocator): Likewise.
22815 (grub_multiboot_real_boot): Likewise.
22816 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
22817 (grub_xnu_entry_point): Likewise.
22818 (grub_xnu_arg1): Likewise.
22819 (grub_xnu_stack): Likewise.
22820 (grub_xnu_launch): Removed.
22821 (grub_xnu_boot_resume): New function.
22822 (grub_xnu_boot): Use relocators.
22823 * loader/i386/xnu_helper.S: Removed.
22824 * loader/xnu.c (grub_xnu_heap_start): New variable.
22825 (grub_xnu_heap_size): Likewise.
22826 (grub_xnu_heap_malloc): Use relocators.
22827 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
22828
22829 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22830
22831 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
22832 anything.
22833
22834 2009-12-13 Carles Pina i Estany <carles@pina.cat>
22835
22836 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
22837 GRUB_ERR_NONE before calling grub_env_set.
22838
22839 2009-12-12 Robert Millan <rmh@aybabtu.com>
22840
22841 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
22842 * genmk.rb (video): New variable.
22843 (CLEANFILES, VIDEOFILES): Add #{video}.
22844 (#{video}): New target rule.
22845 * genvideolist.sh: New file.
22846 * Makefile.in (pkglib_DATA): Add video.lst.
22847 (video.lst): New target rule.
22848 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
22849 `video.lst'.
22850 * util/grub.d/30_os-prober.in: Replace `vbe' with
22851 ${GRUB_VIDEO_BACKEND}.
22852
22853 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
22854
22855 * THANKS: Add David Miller.
22856
22857 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
22858
22859 libpciaccess support.
22860
22861 * Makefile.in (LIBPCIACCESS): New variable.
22862 (enable_grub_emu_pci): Likewise.
22863 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
22864 util/pci.c and commands/lspci.c.
22865 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
22866 * configure.ac (grub-emu-pci): New option.
22867 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
22868 (grub_pci_device_unmap_range): Likewise.
22869 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
22870 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
22871 (grub_pci_address_t) [!GRUB_UTIL]: New type.
22872 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
22873 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
22874 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
22875 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
22876 * include/grub/pciutils.h: New file.
22877 * util/pci.c: Likewise.
22878
22879 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
22880
22881 * util/misc.c: Don't include <errno.h> twice.
22882
22883 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
22884
22885 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
22886 name in an error message.
22887 (grub_biosdisk_rw): Likewise.
22888
22889 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22890
22891 Eliminate NTFS 4Gib barrier.
22892
22893 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
22894 (read_run_data): Likewise.
22895 (grub_ntfs_read_run_list): Likewise.
22896 (grub_ntfs_read_block): Likewise.
22897 (grub_ntfs_iterate_dir): Likewise.
22898 (read_mft): Likewise.
22899 (read_data): Likewise.
22900 Use COM_LOG_LEN.
22901 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
22902 to avoid 64-bit division
22903 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
22904 (grub_ntfs_rlst): Use grub_disk_addr_t.
22905
22906 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22907
22908 Eliminate grub-fstest 4Gib barrier.
22909
22910 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
22911 (read_file): Fix error reporting.
22912
22913 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22914
22915 Eliminate hexdump 4Gib barrier.
22916
22917 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
22918 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
22919
22920 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22921
22922 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
22923 Fixes amarsh bug.
22924
22925 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
22926
22927 Remove miscellaneous files in distclean target.
22928
22929 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
22930
22931 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
22932
22933 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
22934 if they're already set. This resolves the conflict between my
22935 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
22936 fixing the --grub-probe option again.
22937 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
22938 change on 2009-10-06, so that we now once again source
22939 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22940
22941 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
22942
22943 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
22944 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
22945 `util/devicemap.c'.
22946
22947 2009-12-08 Carles Pina i Estany <carles@pina.cat>
22948
22949 * include/grub/misc.h (grub_printf_): New declaration.
22950 * kern/misc.c (grub_printf_): New definition.
22951 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
22952 instead of `grub_printf' and `_'.
22953 * normal/menu_entry.c (store_completion): Likewise.
22954 (run): Likewise.
22955 (grub_menu_entry_run): Likewise.
22956 * normal/menu_text.c (grub_wait_after_message): Likewise.
22957 (notify_booting): Likewise.
22958 (notify_fallback): Likewise.
22959 (notify_execution_failure): Likewise.
22960
22961 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
22962
22963 * configure.ac: Check for vasprintf.
22964 * util/misc.c (asprintf): Move allocation from here ...
22965 (vasprintf): ... to here. New function.
22966 (xasprintf): New function.
22967 * include/grub/util/misc.h (vasprintf, xasprintf): Add
22968 prototypes.
22969 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22970 * util/grub-mkfont.c (write_font): Likewise.
22971 * util/grub-probe.c (probe): Likewise.
22972 * util/hostdisk.c (make_device_name): Likewise.
22973
22974 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
22975
22976 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
22977 anything even prefixed with 'cdrom' as a cdrom.
22978
22979 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
22980
22981 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
22982 mount points.
22983
22984 2009-12-05 Carles Pina i Estany <carles@pina.cat>
22985
22986 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
22987 grub_gettext_msg_list.
22988 (grub_gettext_gettranslation_from_position): Return const char *
22989 and not char *.
22990 (grub_gettext_translate): Add the translated strings into a list,
22991 returns from the list if existing there.
22992 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
22993 (grub_gettext_delete_list): Delete the list.
22994 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
22995 lang environment variable is changed.
22996 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
22997
22998 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22999
23000 Rename kernel.mod to kernel.img.
23001
23002 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
23003 (kernel_mod_EXPORTS): Rename to ...
23004 (kernel_img_EXPORTS): ... this.
23005 (kernel_mod_SOURCES): Rename to ...
23006 (kernel_img_SOURCES): ... this.
23007 (kernel_mod_HEADERS): Rename to ...
23008 (kernel_img_HEADERS): ... this. All users updated.
23009 (kernel_mod_CFLAGS): Rename to ...
23010 (kernel_img_CFLAGS): ... this.
23011 (kernel_mod_ASFLAGS): Rename to ...
23012 (kernel_img_ASFLAGS): ... this.
23013 (kernel_mod_LDFLAGS): Rename to ...
23014 (kernel_img_LDFLAGS): ... this.
23015 * conf/x86_64-efi.rmk: Likewise.
23016 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
23017 (read_kernel_image): ... this. All users updated.
23018 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
23019
23020 2009-12-05 Carles Pina i Estany <carles@pina.cat>
23021
23022 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
23023 (print_spaces): New function.
23024 (grub_print_ucs4): New function.
23025 (getstringwidth): New function.
23026 (print_message_indented): New function.
23027 (print_message): Gettexttize strings using print_message_indented.
23028 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
23029 width.
23030 (get_entry_number): Gettextize and uses dynamic terminal width.
23031 (notify_booting, notify_fallback, notify_execution_failure):
23032 Gettextize.
23033 * normal/menu_entry.c (store_completion): Cleanup the gettextized
23034 string.
23035 (run): Likewise.
23036 (grub_menu_entry_run): Likewise.
23037 * PO/POTFILES: Add normal/menu_entry.c.
23038
23039 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23040
23041 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
23042
23043 2009-12-05 Carles Pina i Estany <carles@pina.cat>
23044
23045 * util/grub-install.in: Install gettext .mo files.
23046 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
23047
23048 2009-12-05 Carles Pina i Estany <carles@pina.cat>
23049
23050 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
23051 grub_dprintf.
23052
23053 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
23054
23055 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
23056 non-firmware-dependant one in realmode.S takes precedence.
23057
23058 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
23059
23060 * commands/halt.c: Replace misc arch-specific headers with
23061 `<grub/misc.h>'.
23062 * commands/reboot.c: Likewise.
23063 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
23064 `<grub/misc.h>'.
23065 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
23066 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
23067 (kernel_img_SOURCES): ... to here.
23068
23069 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
23070 * include/grub/i386/pc/init.h: Likewise.
23071 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23072 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23073
23074 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
23075
23076 * include/grub/i386/halt.h: Remove.
23077 * include/grub/i386/reboot.h: Likewise.
23078
23079 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
23080
23081 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
23082
23083 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
23084 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
23085 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
23086 "progname.h"
23087 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23088 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23089 (usage): Add missing comma in printf.
23090
23091 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
23092
23093 Use the same reboot approach on i386 coreboot and qemu as we do on
23094 BIOS.
23095
23096 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
23097 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
23098 * kern/i386/reboot.c: Remove.
23099 * include/grub/i386/reboot.h (grub_reboot): Export function.
23100 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
23101 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
23102 0xf000:0xfff0 instead of 0xffff:0x0000.
23103 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
23104 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
23105
23106 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
23107
23108 Fix $srcdir != $objdir build.
23109
23110 * Makefile.in (po/%.po): Rewrite as ...
23111 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
23112
23113 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
23114
23115 Fix GNU/Hurd grub-install crash.
23116 * util/grub-probe.c (probe): Try to access `path' only when it is not
23117 NULL.
23118
23119 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23120
23121 Correct module naming.
23122
23123 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23124 (GRUB_MOD_INIT(efi_uga)): ... to this
23125 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23126 (GRUB_MOD_FINI(efi_uga)): ... to this
23127 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23128 (GRUB_MOD_INIT(efi_gop)): ... to this
23129 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23130 (GRUB_MOD_FINI(efi_gop)): ... to this
23131
23132 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
23133
23134 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
23135 translatable.
23136 (usage): Translate `arg' strings using gettext().
23137 Thanks to Jordi Mallach for the suggestion.
23138
23139 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23140
23141 GOP support. Based on patch from Bean
23142 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23143
23144 * video/efi_gop.c: New file.
23145 * include/grub/efi/graphics_output.h: Likewise.
23146 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
23147 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23148 variables.
23149 * conf/x86_64-efi.rmk: Likewise.
23150
23151 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23152
23153 Rename efi_fb to efi_uga.
23154
23155 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23156 'efi_uga.mod'.
23157 (efi_fb_mod_SOURCES): Rename this ...
23158 (efi_uga_mod_SOURCES): ... to this.
23159 (efi_fb_mod_CFLAGS): Rename this ...
23160 (efi_uga_mod_CFLAGS): ... to this.
23161 (efi_fb_mod_LDFLAGS): Rename this ...
23162 (efi_uga_mod_LDFLAGS): ... to this.
23163 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23164 'efi_uga.mod'.
23165 (efi_fb_mod_SOURCES): Rename this ...
23166 (efi_uga_mod_SOURCES): ... to this.
23167 (efi_fb_mod_CFLAGS): Rename this ...
23168 (efi_uga_mod_CFLAGS): ... to this.
23169 (efi_fb_mod_LDFLAGS): Rename this ...
23170 (efi_uga_mod_LDFLAGS): ... to this.
23171 * video/efi_fb.c: Move this ...
23172 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
23173
23174 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23175
23176 * po/README: New file. Explain our PO file workflow.
23177
23178 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23179
23180 * po/ChangeLog: Remove. Move relevant entries back to ...
23181 * ChangeLog: ... here.
23182 * po/ca.po: Remove (now handled by TLP).
23183 * po/id.po: Likewise.
23184 * po/zh_CN.po: Likewise.
23185 * Makefile.in (LINGUAS): Initialize in a way that supports
23186 empty set.
23187
23188 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23189
23190 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
23191 reliing on po/LINGUAS.
23192 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
23193 (po/%.po): ... this.
23194
23195 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
23196
23197 * util/i386/efi/grub-mkimage.c: Include "progname.h".
23198 (main): Use `program_name' instead of nonexistent `progname'.
23199
23200 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
23201
23202 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23203 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
23204
23205 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23206
23207 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
23208 commit.
23209 * conf/i386-efi.rmk: Likewise.
23210 * conf/i386-ieee1275.rmk: Likewise.
23211 * conf/powerpc-ieee1275.rmk: Likewise.
23212 * conf/sparc64-ieee1275.rmk: Likewise.
23213 * conf/x86_64-efi.rmk: Likewise.
23214
23215 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
23216
23217 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
23218
23219 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
23220
23221 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
23222
23223 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23224
23225 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
23226 (grub_mkdevicemap_SOURCES): New variable.
23227 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
23228 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
23229 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
23230 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
23231 (grub_mkdevicemap_SOURCES): Remove.
23232 * conf/i386-efi.rmk: Likewise.
23233 * conf/i386-ieee1275.rmk: Likewise.
23234 * conf/i386-pc.rmk: Likewise.
23235 * conf/powerpc-ieee1275.rmk: Likewise.
23236 * conf/sparc64-ieee1275.rmk: Likewise.
23237 * conf/x86_64-efi.rmk: Likewise.
23238 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
23239 (usage): Fix strings to use `program_name'.
23240 (main): Initialize gettext.
23241 * util/grub-editenv.c: Likewise.
23242 * util/grub-emu.c: Likewise.
23243 * util/grub-fstest.c: Likewise.
23244 * util/grub-mkdevicemap.c: Likewise.
23245 * util/grub-mkfont.c: Likewise.
23246 * util/grub-mkrelpath.c: Likewise.
23247 * util/grub-pe2elf.c: Likewise.
23248 * util/grub-probe.c: Likewise.
23249 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23250 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23251 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23252
23253 * util/misc.c: Include `"progname.h"'.
23254 (progname): Remove variable.
23255 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
23256
23257 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
23258
23259 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
23260 printf and print a newline after the menuentry header line.
23261 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23262
23263 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
23264
23265 autoconf >= 2.60 support $(localedir).
23266
23267 * INSTALL: Note that autoconf 2.60 is required.
23268 * configure.ac (AC_PREREQ): Bump to 2.60.
23269 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
23270 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23271
23272 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
23273
23274 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
23275 aclocal is run.
23276
23277 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23278
23279 * normal/main.c (grub_normal_read_line): Fix off-by-one
23280 buffer overflow.
23281
23282 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23283
23284 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
23285 "parser.grub" in grub_command_execute() call.
23286
23287 2009-11-24 Carles Pina i Estany <carles@pina.cat>
23288
23289 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
23290 * conf/i386-efi.rmk: Likewise.
23291 * conf/i386-ieee1275.rmk: Likewise.
23292 * conf/i386-pc.rmk: Likewise.
23293 * conf/powerpc-ieee1275.rmk: Likewise.
23294 * conf/sparc64-ieee1275.rmk: Likewise.
23295 * conf/x86_64-efi.rmk: Likewise.
23296 * gettext/gettex.c: Include <grub/i18n.h>.
23297 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
23298 here ...
23299 * include/grub/i18n.h: ... to here
23300 * include/grub/i18n.h: ... to here.
23301 * kern/misc.c: Include <grub/i18n.h>
23302 (grub_gettext_dummy): Move above user.
23303
23304 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
23305
23306 * util/Makefile.in (install-local): Convert a `for' into a normal
23307 shell expansion.
23308
23309 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
23310
23311 * autogen.sh: Add automake call.
23312 * config.guess: Remove.
23313 * config.sub: Likewise.
23314 * install-sh: Likewise.
23315
23316 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
23317
23318 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
23319
23320 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
23321
23322 * util/Makefile.in (install-local): Convert a make `$(foreach)'
23323 function to a normal shell `for'.
23324
23325 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
23326
23327 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23328
23329 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
23330
23331 * util/grub-mkrelpath.c: New file.
23332 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
23333 (grub_mkrelpath_SOURCES): New variable.
23334 * include/grub/util/misc.h: New function prototype.
23335 * util/misc.c (make_system_path_relative_to_its_root): New function.
23336
23337 * util/grub-mkconfig_lib.in (bindir): New variable.
23338 (grub_mkrelpath): Likewise.
23339 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
23340
23341 * util/probe.c (probe): Make the file path relative to its root.
23342 Change a info message to use the GRUB path. Enable again the
23343 check if we can read the file with GRUB facilities.
23344
23345 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
23346 to its root.
23347
23348 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
23349
23350 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
23351 platform.
23352
23353 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
23354
23355 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
23356 strncmp().
23357
23358 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
23359
23360 * util/getroot.c (grub_util_is_dmraid): New function.
23361 (grub_util_get_dev_abstraction): Treat dmraid and multipath
23362 devices as normal ones, not as LVM.
23363
23364 2009-11-23 Carles Pina i Estany <carles@pina.cat>
23365
23366 * conf/common.rmk: Add grub-gettext_lib target and updates
23367 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
23368 LDFLAGS.
23369 * gettext/gettext.c: New file. (Reads mo files).
23370 * include/grub/file.h (grub_file_pread): New prototype.
23371 * include/grub/i18n.h (_): New prototype.
23372 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
23373 prototypes.
23374 * kern/misc.c (grub_gettext_dummy): New function.
23375 * normal/menu_text.c: Include <grub/i18n.h>.
23376 * normal/menu_text.c (print_timeout): Gettexttize string.
23377 * normal/menu_text.c (print_message): Gettexttize string.
23378 * po/POTFILES: Add `normal/menu_text.c'.
23379 * po/ca.po: Add new translations.
23380 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
23381 gettext module and defines locale_dir and lang in grub.cfg.
23382 * NEWS: Add gettext support.
23383
23384 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23385
23386 * util/hostdisk.c: Include `<grub/i18n.h>'.
23387 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
23388 (make_device_name): Rewrite using asprintf.
23389 (convert_system_partition_to_system_disk): Replace 0 with NULL.
23390 (find_system_device): If a device is not found, generate one just
23391 by reusing the OS path name.
23392 (read_device_map): Make it permissible for device.map not to exist.
23393
23394 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23395
23396 * script/sh/execute.c: Move from here ...
23397 * script/execute.c: ... to here. Update all users.
23398 * script/sh/function.c: Move from here ...
23399 * script/function.c: ... to here. Update all users.
23400 * script/sh/lexer.c: Move from here ...
23401 * script/lexer.c: ... to here. Update all users.
23402 * script/sh/main.c: Move from here ...
23403 * script/main.c: ... to here. Update all users.
23404 * script/sh/parser.y: Move from here ...
23405 * script/parser.y: ... to here. Update all users.
23406 * script/sh/script.c: Move from here ...
23407 * script/script.c: ... to here. Update all users.
23408
23409 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23410
23411 * configure.ac: Detect all `emu' platforms. Define
23412 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
23413 --enable-grub-emu logic. Disable include/grub/machine
23414 symlink on `emu' platforms.
23415
23416 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
23417 * gensymlist.sh.in: Likewise.
23418
23419 * include/grub/i386/coreboot/machine.h: Remove file.
23420 * include/grub/i386/efi/machine.h: Likewise.
23421 * include/grub/i386/ieee1275/machine.h: Likewise.
23422 * include/grub/i386/pc/machine.h: Likewise.
23423 * include/grub/i386/qemu/machine.h: Likewise.
23424 * include/grub/powerpc/ieee1275/machine.h: Likewise.
23425 * include/grub/sparc64/ieee1275/machine.h: Likewise.
23426 * include/grub/x86_64/efi/machine.h: Likewise.
23427
23428 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
23429 * commands/halt.c: Likewise.
23430 * commands/reboot.c: Likewise.
23431 * include/grub/autoefi.h: Likewise.
23432 * include/grub/i386/at_keyboard.h: Likewise.
23433 * include/grub/i386/kernel.h: Likewise.
23434 * include/grub/i386/loader.h: Likewise.
23435 * include/grub/i386/pc/memory.h: Likewise.
23436 * kern/dl.c: Likewise.
23437 * kern/i386/coreboot/init.c: Likewise.
23438 * loader/i386/bsd.c: Likewise.
23439 * loader/i386/linux.c: Likewise.
23440 * loader/multiboot_loader.c: Likewise.
23441 * term/i386/pc/serial.c: Likewise.
23442 * term/usb_keyboard.c: Likewise.
23443
23444 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
23445 `<grub/machine/machine.h>'
23446 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
23447 * util/misc.c: Remove `<grub/machine/machine.h>' and
23448 `<grub/machine/time.h>'.
23449
23450 * Makefile.in (enable_grub_emu): Remove variable.
23451 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
23452
23453 * conf/any-emu.rmk: New file.
23454 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
23455 (grub_emu_init.c): Move from here ...
23456 * conf/any-emu.rmk: ... to here.
23457
23458 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
23459 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
23460 * conf/any-emu.rmk: ... to here.
23461
23462 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23463
23464 * include/grub/parser.h (grub_parser_register): Document need
23465 of `name' parameter.
23466 * normal/main.c (grub_normal_read_line): Simplify prompt string.
23467 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
23468 "sh" to "grub".
23469
23470 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23471
23472 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
23473 `$(XGETTEXT)'.
23474 * include/grub/i18n.h (N_): New macro.
23475 * util/mkisofs/mkisofs.h: Likewise.
23476 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
23477 around N_().
23478 (usage): Use gettext() to translate help strings when printing them.
23479
23480 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23481
23482 Based on patch from Bean
23483 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23484
23485 * video/efi_fb.c: New file.
23486 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
23487 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23488 variables.
23489 * conf/x86_64-efi.rmk: Likewise.
23490
23491 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
23492
23493 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
23494 * util/i386/pc/grub-setup.c: Likewise.
23495
23496 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23497
23498 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23499 <hurd/fs.h>
23500 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23501 file_get_storage_info to implement grub_guess_root_device.
23502
23503 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
23504
23505 * Makefile.in (target): Use make's builtin $(shell) function
23506 instead of calling directly $(SHELL) to create the locale directories,
23507 inside the $(foreach) function.
23508
23509 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
23510
23511 * util/grub-mkrescue.in: Print an error and usage if output option
23512 has not been given.
23513
23514 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
23515
23516 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23517 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23518 root and /boot are on different devices.
23519
23520 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23521
23522 Fix build for srcdir != objdir.
23523
23524 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23525 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23526 $(srcdir).
23527 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23528 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23529 reference for input.
23530
23531 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23532
23533 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23534 or hardlinking it). Remove -J option, Joliet is not compatible with
23535 multiple source directories.
23536
23537 2009-11-21 Carles Pina i Estany <carles@pina.cat>
23538 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23539
23540 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23541 (process_input_dir): New function. Process an arbitrary input
23542 directory.
23543 Misc adjustments to support both "override mode" and system-wide mode.
23544
23545 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
23546
23547 * configure.ac (UNIFONT_BDF): Rename to ...
23548 (FONT_SOURCE): ... this. Update all users.
23549
23550 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
23551
23552 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23553 to the list of unifont files to look for.
23554
23555 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23556
23557 Patch from Joe Auricchio <jauricchio@gmail.com>
23558 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23559 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23560 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23561
23562 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
23563
23564 * Makefile.in (install-local): Add a missing backslash.
23565
23566 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
23567
23568 * include/grub/x86_64/io.h: New file.
23569
23570 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23571
23572 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23573 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23574 Include `"progname.h"'.
23575 (main): Initialize gettext.
23576 * util/i386/pc/grub-setup.c: Gettexttize.
23577 * util/i386/pc/grub-mkimage.c: Likewise.
23578
23579 * Makefile.in (po/*.po): Redefine as ...
23580 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23581
23582 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23583
23584 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23585
23586 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23587 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23588 (program_name): Remove.
23589 (main): Initialize gettext support.
23590 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23591 Include `<libintl.h>'.
23592 (_): New macro.
23593
23594 * util/mkisofs/eltorito.c: Gettexttize.
23595 * util/mkisofs/joliet.c: Likewise.
23596 * util/mkisofs/mkisofs.c: Likewise.
23597 * util/mkisofs/multi.c: Likewise.
23598 * util/mkisofs/rock.c: Likewise.
23599 * util/mkisofs/tree.c: Likewise.
23600 * util/mkisofs/write.c: Likewise.
23601
23602 * po/POTFILES: Update with new files.
23603
23604 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23605
23606 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23607 * util/mkisofs/iso9660.h: Likewise.
23608 * util/mkisofs/joliet.c: Likewise.
23609 * util/mkisofs/mkisofs.c: Likewise.
23610 * util/mkisofs/mkisofs.h: Likewise.
23611 * util/mkisofs/rock.c: Likewise.
23612 * util/mkisofs/tree.c: Likewise.
23613 * util/mkisofs/write.c: Likewise.
23614
23615 * util/mkisofs/eltorito.c (rcsid): Remove.
23616 * util/mkisofs/hash.c: Likewise.
23617 * util/mkisofs/joliet.c: Likewise.
23618 * util/mkisofs/name.c: Likewise.
23619 * util/mkisofs/rock.c: Likewise.
23620 * util/mkisofs/tree.c: Likewise.
23621 * util/mkisofs/write.c: Likewise.
23622
23623 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23624
23625 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23626 instead of static allocation.
23627 * util/mkisofs/match.h: Likewise.
23628
23629 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23630
23631 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23632 and `util/grub.d/10_linux.in'.
23633 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23634 translatable Shell files.
23635
23636 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23637
23638 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23639
23640 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23641
23642 * INSTALL: Document Automake is needed for bootstrap.
23643 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
23644 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23645 Add gettext initialization.
23646 (kfreebsd_entry): Make menuentry output translatable.
23647
23648 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23649
23650 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23651 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23652 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23653 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23654 (LINGUAS): Auto-generate using `po/LINGUAS'.
23655 * po/LINGUAS: New file.
23656
23657 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23658
23659 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23660 other things).
23661 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23662 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23663 bindtextdomain() calls for gettext initialization.
23664
23665 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23666
23667 * gnulib/progname.c: New file (imported from Gnulib).
23668 * gnulib/progname.h: Likewise.
23669 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23670 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
23671 (usage): Replace `progname' with `program_name'.
23672 (main): Use set_program_name() for program name initialization.
23673
23674 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23675
23676 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
23677 from here ...
23678 * Makefile.in (CPPFLAGS): ... to here.
23679
23680 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23681
23682 * aclocal.m4: Move from here ...
23683 * acinclude.m4: ... to here.
23684 * autogen.sh: Add call to `aclocal'.
23685 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
23686
23687 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23688
23689 * Makefile.in (CLEANFILES): Add `po/*.mo'.
23690 (LINGUAS): New variable.
23691 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
23692 (install-local): Install MO files.
23693 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
23694 * include/grub/i18n.h: New file.
23695 * po/POTFILES: New file.
23696 * po/ca.po: New file.
23697 * util/grub.d/10_linux.in (bindir): New variable.
23698 Add gettext initialization.
23699 (linux_entry): Make menuentry output translatable.
23700 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
23701 (usage): Make --help output translatable.
23702 (main): Initialize gettext.
23703
23704 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23705
23706 * import_gcry.py: New file (written by Vladimir with minor
23707 adjustments).
23708 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
23709 ciphers.
23710 * INSTALL: Document that Python is required for bootstrap.
23711
23712 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23713
23714 Import ciphers from libgcrypt 1.4.4.
23715
23716 * lib/libgcrypt/cipher/ChangeLog
23717 * lib/libgcrypt/cipher/ac.c
23718 * lib/libgcrypt/cipher/arcfour.c
23719 * lib/libgcrypt/cipher/bithelp.h
23720 * lib/libgcrypt/cipher/blowfish.c
23721 * lib/libgcrypt/cipher/camellia-glue.c
23722 * lib/libgcrypt/cipher/camellia.c
23723 * lib/libgcrypt/cipher/camellia.h
23724 * lib/libgcrypt/cipher/cast5.c
23725 * lib/libgcrypt/cipher/cipher.c
23726 * lib/libgcrypt/cipher/crc.c
23727 * lib/libgcrypt/cipher/des.c
23728 * lib/libgcrypt/cipher/dsa.c
23729 * lib/libgcrypt/cipher/ecc.c
23730 * lib/libgcrypt/cipher/elgamal.c
23731 * lib/libgcrypt/cipher/hash-common.c
23732 * lib/libgcrypt/cipher/hash-common.h
23733 * lib/libgcrypt/cipher/hmac-tests.c
23734 * lib/libgcrypt/cipher/md.c
23735 * lib/libgcrypt/cipher/md4.c
23736 * lib/libgcrypt/cipher/md5.c
23737 * lib/libgcrypt/cipher/primegen.c
23738 * lib/libgcrypt/cipher/pubkey.c
23739 * lib/libgcrypt/cipher/rfc2268.c
23740 * lib/libgcrypt/cipher/rijndael-tables.h
23741 * lib/libgcrypt/cipher/rijndael.c
23742 * lib/libgcrypt/cipher/rmd.h
23743 * lib/libgcrypt/cipher/rmd160.c
23744 * lib/libgcrypt/cipher/rsa.c
23745 * lib/libgcrypt/cipher/seed.c
23746 * lib/libgcrypt/cipher/serpent.c
23747 * lib/libgcrypt/cipher/sha1.c
23748 * lib/libgcrypt/cipher/sha256.c
23749 * lib/libgcrypt/cipher/sha512.c
23750 * lib/libgcrypt/cipher/tiger.c
23751 * lib/libgcrypt/cipher/twofish.c
23752 * lib/libgcrypt/cipher/whirlpool.c
23753
23754 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23755
23756 Fix build for systems without error().
23757
23758 * gnulib/error.c: New file (imported from Gnulib).
23759 * gnulib/error.h: Likewise.
23760 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23761 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23762 (this variable is now used by error()).
23763
23764 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
23765
23766 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23767 instead of relying that char is signed.
23768
23769 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23770
23771 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23772 blocksize different from specified.
23773 (grub_pxefs_read): Likewise.
23774
23775 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
23776
23777 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
23778
23779 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
23780 (grub_ata_readwrite): Likewise. Update 2 format strings.
23781 (grub_atapi_read): Likewise.
23782
23783 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
23784 * conf/i386.rmk (pkglib_MODULES): ... to here ...
23785 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
23786 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
23787 (ata_mod_LDFLAGS): Move from here ...
23788 * conf/i386.rmk: ... to here ...
23789 * conf/x86_64-efi.rmk: ... and here.
23790 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
23791 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
23792
23793 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23794
23795 Relicense multiboot.h, with RMS' blessing.
23796
23797 * include/multiboot.h: Change to X11 license.
23798
23799 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
23800
23801 Support --version in grub-mkisofs.
23802
23803 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
23804 (OPTION_VERSION): New macro.
23805 (ld_options): Recognize --version.
23806 (usage): Move `program_name' from here ...
23807 (program_name): ... to here. Add `static' qualifier.
23808 (main): Recognize `OPTION_VERSION'.
23809
23810 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
23811
23812 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
23813 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
23814
23815 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23816
23817 Fix help2man generation for mkisofs.
23818
23819 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
23820 (usage): Send output to stdout (rather than stderr).
23821
23822 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23823
23824 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
23825 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23826 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
23827 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23828 (bin_SCRIPTS): Add `grub-mkfloppy'.
23829 (grub_mkfloppy_SOURCES): New variable.
23830
23831 * util/grub-mkrescue.in: New file.
23832 * util/i386/pc/grub-mkfloppy.in: New file.
23833
23834 * util/i386/coreboot/grub-mkrescue.in: Remove.
23835 * util/i386/pc/grub-mkrescue.in: Remove.
23836
23837 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23838
23839 * include/grub/multiboot.h (struct grub_multiboot_header): Move
23840 from here ...
23841 * include/multiboot.h (struct multiboot_header): ... to here. Update
23842 all users.
23843 * include/grub/multiboot.h (struct grub_multiboot_info): Move
23844 from here ...
23845 * include/multiboot.h (struct multiboot_info): ... to here. Update
23846 all users.
23847 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
23848 from here ...
23849 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
23850 Update all users.
23851 * include/grub/multiboot.h (struct grub_mod_list): Move
23852 from here ...
23853 * include/multiboot.h (struct multiboot_mod_list): ... to here.
23854 Update all users.
23855
23856 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23857
23858 * include/multiboot2.h (multiboot_word): Rename from this ...
23859 (multiboot2_word): ... to this. Update all users.
23860 (multiboot_header): Rename from this ...
23861 (multiboot2_header): ... to this. Update all users.
23862 (multiboot_tag_header): Rename from this ...
23863 (multiboot2_tag_header): ... to this. Update all users.
23864 (multiboot_tag_start): Rename from this ...
23865 (multiboot2_tag_start): ... to this. Update all users.
23866 (multiboot_tag_name): Rename from this ...
23867 (multiboot2_tag_name): ... to this. Update all users.
23868 (multiboot_tag_module): Rename from this ...
23869 (multiboot2_tag_module): ... to this. Update all users.
23870 (multiboot_tag_memory): Rename from this ...
23871 (multiboot2_tag_memory): ... to this. Update all users.
23872 (multiboot_tag_unused): Rename from this ...
23873 (multiboot2_tag_unused): ... to this. Update all users.
23874 (multiboot_tag_end): Rename from this ...
23875 (multiboot2_tag_end): ... to this. Update all users.
23876
23877 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23878
23879 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
23880 this platform we should support Multiboot1 first.
23881
23882 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23883 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
23884 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
23885
23886 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23887
23888 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
23889 of write calls (converting them to fwrite() if they aren't already).
23890 (get_torito_desc): Likewise.
23891 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
23892
23893 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23894
23895 * util/i386/pc/grub-install.in: Move from here ...
23896 * util/grub-install.in: ... to here. Update all users.
23897
23898 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
23899
23900 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
23901
23902 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23903
23904 Support for El Torito without floppy emulation.
23905
23906 * util/mkisofs/eltorito.c: Include `<errno.h>'.
23907 (init_boot_catalog): Improve error handling.
23908 (get_torito_desc): Don't use floppy emulation unless requested by
23909 user. Patch boot information table when requested via
23910 `-boot-info-table'.
23911 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
23912 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
23913 (use_boot_info_table): New variables.
23914 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
23915 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
23916 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
23917 `--eltorito-emul-floppy'.
23918 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
23919 and `OPTION_ELTORITO_EMUL_FLOPPY'.
23920 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
23921 (use_boot_info_table, get_731): New prototypes.
23922 * util/mkisofs/write.c (get_731): New function.
23923
23924 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
23925
23926 Fix the generation of the man page.
23927
23928 * util/pc/i386/grub-install.in: Source
23929 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23930
23931 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23932
23933 Large file support for grub-mkisofs.
23934
23935 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
23936 * util/mkisofs/mkisofs.c (next_extent, last_extent)
23937 (session_start): Upgrade type to `uint64_t'. Update all users.
23938 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
23939 (struct directory_entry): Upgrade type of `starting_block' and
23940 `size' to `uint64_t'. Update all users.
23941 (struct deferred): Remove unused structure.
23942 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
23943 Update all users.
23944 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
23945 file is larger than `UINT32_MAX'.
23946 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
23947 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
23948 return value.
23949 (struct deferred_write): Upgrade type of `extent' and `size' to
23950 `uint64_t'. Update all users.
23951 (last_extent_written): Upgrade type to `uint64_t'. Update all
23952 users.
23953 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
23954 Update all users. Upgrade type of `remain' to `int64_t' and
23955 `use' to `size_t'. Use error() to handle fread() errors.
23956 (write_files): Rely on write_one_file() rather than calling
23957 xfwrite() directly.
23958
23959 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
23960
23961 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
23962
23963 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23964
23965 * util/mkisofs/fnmatch.c: Remove.
23966 * util/mkisofs/getopt1.c: Likewise.
23967 * util/mkisofs/getopt.c: Likewise.
23968 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
23969 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
23970 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
23971 `gnulib/getopt1.c' and `gnulib/getopt.c'.
23972 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
23973
23974 * configure.ac: Detect `mingw32msvc' host_os.
23975 Check for lstat(), getuid() and getgid().
23976
23977 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
23978 instances of `u_char' with `uint8_t'.
23979
23980 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
23981 [!HAVE_GETUID] (getuid): New function (stub).
23982 [!HAVE_GETGID] (getgid): Likewise.
23983 [!HAVE_LSTAT] (lstat): Likewise.
23984 [!S_IROTH] (S_IROTH): New macro (dummy).
23985 [!S_IRGRP] (S_IRGRP): Likewise.
23986
23987 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23988
23989 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
23990 conditional expression).
23991
23992 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23993
23994 Import from Gnulib.
23995
23996 * gnulib/fnmatch.c: New file.
23997 * gnulib/fnmatch.h: Likewise.
23998 * gnulib/fnmatch_loop.c: Likewise.
23999 * gnulib/getopt.c: Likewise.
24000 * gnulib/getopt.h: Likewise.
24001 * gnulib/getopt1.c: Likewise.
24002 * gnulib/getopt_int.h: Likewise.
24003 * gnulib/gettext.h: Likewise.
24004
24005 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24006
24007 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
24008 * normal/handler.c (read_handler_list): Likewise.
24009
24010 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24011
24012 Misc cleanup.
24013
24014 * kern/command.c (grub_register_command_prio): Use
24015 grub_zalloc() instead of explicitly zeroing data.
24016 * kern/list.c: Include `<grub/mm.h>'.
24017 (grub_named_list_find): Replace `0' with `NULL'.
24018 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
24019 (fs_module_list): Change type to `grub_named_list_t'. Update all
24020 users.
24021 * normal/dyncmd.c (read_command_list): Add space between function
24022 call and parenthesis.
24023 * normal/handler.c (read_handler_list): Likewise.
24024
24025 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24026
24027 * normal/auth.c (punishment_delay): Moved from here ...
24028 (grub_auth_strcmp): ... to here (inside function).
24029
24030 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24031
24032 * include/grub/list.h (struct grub_named_list): Remove `const'
24033 qualifier from `name'.
24034 (struct grub_prio_list): Likewise.
24035
24036 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24037
24038 * normal/auth.c: Include `<grub/time.h>'.
24039 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
24040
24041 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24042
24043 * normal/auth.c (punishment_delay): New variable.
24044 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
24045 (grub_auth_check_authentication): Punish failed login attempts with
24046 an incremental (2^N) delay.
24047
24048 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24049
24050 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
24051 path with $(srcdir).
24052
24053 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24054
24055 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
24056
24057 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24058
24059 * util/i386/coreboot/grub-mkrescue.in: New file.
24060 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
24061 variables.
24062
24063 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
24064 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
24065 * configure.ac: Add header and function checks to satisfy grub-mkisofs
24066 requirements.
24067 * util/mkisofs/defaults.h: New file.
24068 * util/mkisofs/eltorito.c: Likewise.
24069 * util/mkisofs/exclude.h: Likewise.
24070 * util/mkisofs/fnmatch.c: Likewise.
24071 * util/mkisofs/getopt.c: Likewise.
24072 * util/mkisofs/getopt1.c: Likewise.
24073 * util/mkisofs/hash.c: Likewise.
24074 * util/mkisofs/include/fctldefs.h: Likewise.
24075 * util/mkisofs/include/mconfig.h: Likewise.
24076 * util/mkisofs/include/prototyp.h: Likewise.
24077 * util/mkisofs/include/statdefs.h: Likewise.
24078 * util/mkisofs/iso9660.h: Likewise.
24079 * util/mkisofs/joliet.c: Likewise.
24080 * util/mkisofs/match.c: Likewise.
24081 * util/mkisofs/match.h: Likewise.
24082 * util/mkisofs/mkisofs.c: Likewise.
24083 * util/mkisofs/mkisofs.h: Likewise.
24084 * util/mkisofs/multi.c: Likewise.
24085 * util/mkisofs/name.c: Likewise.
24086 * util/mkisofs/rock.c: Likewise.
24087 * util/mkisofs/tree.c: Likewise.
24088 * util/mkisofs/write.c: Likewise.
24089
24090 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24091
24092 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
24093 being insecure.
24094
24095 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24096
24097 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
24098 `grub-mkimage' (and use $0 when possible).
24099
24100 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24101
24102 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
24103 error message for excessively large memory map.
24104
24105 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24106
24107 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
24108 executable bit.
24109
24110 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24111
24112 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
24113 message for coreboot users.
24114
24115 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
24116
24117 Fix build with GNU gold.
24118
24119 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
24120 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
24121 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
24122 link addresses.
24123 * aclocal.m4: Likewise.
24124
24125 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
24126
24127 * configure.ac (AC_PREREQ): Bump to 2.59d.
24128 * INSTALL: Make it more clear when Autoconf and Ruby are
24129 needed and when to run `./autogen.sh'.
24130
24131 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
24132
24133 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
24134 OSes.
24135
24136 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24137
24138 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
24139
24140 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24141
24142 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
24143 giving it to GNU Mach.
24144
24145 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24146
24147 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
24148 GNU partition number to get internal GRUB partition number.
24149
24150 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24151
24152 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
24153 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
24154
24155 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
24156
24157 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
24158 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
24159 case.
24160
24161 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
24162
24163 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
24164
24165 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24166
24167 Fix build problem.
24168
24169 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
24170 `-isystem=$(srcdir)/include'.
24171
24172 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24173
24174 * util/i386/pc/grub-install.in: Remove hint that device.map should be
24175 checked (grub-install doesn't currently rely on it).
24176
24177 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
24178
24179 Revert SVN r2660.
24180
24181 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
24182 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24183 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
24184 * conf/i386-ieee1275.rmk: Likewise.
24185 * conf/i386-pc.rmk: Likewise.
24186 * conf/powerpc-ieee1275.rmk: Likewise.
24187 * conf/sparc64-ieee1275.rmk: Likewise.
24188 * conf/x86_64-efi.rmk: Likewise.
24189
24190 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24191
24192 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
24193
24194 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24195
24196 * include/grub/misc.h: Stop checking for APPLE_CC.
24197
24198 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24199
24200 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
24201 doesn't cause an infinite call loop.
24202
24203 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
24204
24205 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
24206 strings.
24207
24208 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24209
24210 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
24211 variable.
24212 * Makefile.in: Likewise.
24213
24214 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24215
24216 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
24217
24218 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24219
24220 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
24221
24222 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24223
24224 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
24225
24226 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24227
24228 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
24229 from here ...
24230 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
24231
24232 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24233
24234 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
24235 in $(MAKEINFO) invocation. This makes it clear in output that
24236 errors are being ignored.
24237
24238 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24239
24240 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
24241 from here ...
24242 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24243 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
24244 * conf/i386-ieee1275.rmk: Likewise.
24245 * conf/i386-pc.rmk: Likewise.
24246 * conf/powerpc-ieee1275.rmk: Likewise.
24247 * conf/sparc64-ieee1275.rmk: Likewise.
24248 * conf/x86_64-efi.rmk: Likewise.
24249
24250 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
24251
24252 * util/grub-editenv.c (main): If only a command is given, use
24253 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
24254 (usage): FILENAME is now optional and has a default.
24255
24256 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
24257
24258 Improve grub-mkconfig performance when there are several menu
24259 entries on a single filesystem.
24260
24261 * util/grub.d/10_linux.in (linux_entry): Cache the output of
24262 prepare_grub_to_access_device.
24263 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24264 * util/grub.d/30_os-prober.in: Likewise.
24265
24266 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24267
24268 * util/grub.d/10_freebsd.in: Remove.
24269 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
24270 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
24271
24272 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24273
24274 * docs/grub.cfg: Fix example usage of *BSD loaders.
24275
24276 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24277
24278 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
24279 grub_util_error() call.
24280
24281 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24282
24283 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
24284 `reserved_first_sector' member.
24285 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
24286 `reserved_first_sector' to 1.
24287 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
24288 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
24289 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
24290 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
24291 filesystems which begin at first sector.
24292 (options): New option --skip-fs-probe.
24293 (main): Handle --skip-fs-probe and pass it to setup().
24294
24295 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24296
24297 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
24298 (memset): Fix function prototype.
24299
24300 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24301 2009-10-25 Vasily Averin <vvs@parallels.com>
24302
24303 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
24304 `dirent.direntlen == 0'.
24305
24306 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24307
24308 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
24309 `cpio'.
24310 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
24311
24312 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24313
24314 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
24315 `__trampoline_setup' and `__ucmpdi2'.
24316 * include/grub/powerpc/libgcc.h: Only export symbols for functions
24317 that libgcc provides.
24318
24319 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24320
24321 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
24322 * include/grub/sparc64/libgcc.h (memset): Likewise.
24323 * include/grub/misc.h (memset, memcmp): New function prototypes.
24324
24325 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24326
24327 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
24328 `cpio'.
24329 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
24330
24331 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24332
24333 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
24334 * docs/grub.cfg: Compensate for recent change in multiboot
24335 loader (since 2009-08-14 it won't pass filename to payload).
24336 * util/grub.d/10_hurd.in: Likewise.
24337
24338 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
24339
24340 * config.guess: Update to latest version from config git
24341 repository.
24342 * config.sub: Likewise.
24343
24344 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
24345
24346 Fix build on sparc64.
24347
24348 * configure.ac: Perform checks for libgcc symbols before
24349 adding `-nostdlib' to LDFLAGS.
24350
24351 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24352
24353 Let user specify OpenBSD root device.
24354
24355 * loader/i386/bsd.c (openbsd_root): New variable.
24356 (openbsd_opts): New option 'root'.
24357 (OPENBSD_ROOT_ARG): New macro.
24358 (grub_openbsd_boot): Use 'openbsd_root'.
24359 (grub_cmd_openbsd): Fill 'openbsd_root'.
24360
24361 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24362
24363 * NEWS: Misc adjustments.
24364
24365 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24366
24367 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
24368
24369 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24370
24371 * configure.ac: Bump version to 1.97.
24372
24373 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
24374
24375 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
24376 -mno-3dnow on x86 architectures. Some toolchains enable these
24377 features by default, but they rely on registers that aren't enabled
24378 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
24379
24380 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
24381
24382 Make entry text a bit more readable.
24383
24384 * util/grub.d/10_linux.in: Add `with' before `Linux'.
24385
24386 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24387
24388 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
24389
24390 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24391
24392 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
24393 operations.
24394
24395 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24396
24397 * configure.ac: Add missing dollar.
24398
24399 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24400
24401 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
24402
24403 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
24404 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
24405 exports.
24406 * include/grub/sparc64/libgcc.h: Likewise. Use
24407 preprocessor conditionals.
24408
24409 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24410
24411 * conf/common.rmk (grub-dumpbios): Remove rule.
24412 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
24413 * util/grub-dumpbios.in: Remove file.
24414
24415 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24416
24417 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
24418 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
24419
24420 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
24421 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
24422 users.
24423
24424 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
24425 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
24426 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
24427 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
24428 users.
24429
24430 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
24431
24432 * term/tparm.c: Switch to GPLv3.
24433
24434 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24435
24436 * include/grub/i386/cpuid.h: Add header protection.
24437
24438 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24439
24440 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
24441
24442 * include/grub/i386/cpuid.h: New file.
24443 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
24444 (has_longmode): Rename to ...
24445 (grub_cpuid_has_longmode): ... this. Update all users. Remove
24446 `static' attribute.
24447 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
24448 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
24449 on a CPU that doesn't implement AMD64 instruction set.
24450
24451 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
24452
24453 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
24454 that version.texi is rebuilt on version number changes.
24455
24456 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
24457
24458 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
24459 Fixes bug #27602.
24460
24461 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
24462
24463 * util/i386/pc/grub-install.in: Source
24464 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
24465 that the --grub-probe option will work.
24466 * util/sparc64/ieee1275/grub-install.in: Likewise.
24467
24468 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
24469
24470 * configure.ac: Bump version to 1.97~beta4.
24471
24472 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
24473
24474 Resync grub-mkdevicemap in x86_64-efi.
24475
24476 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
24477 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
24478 `util/devicemap.c'.
24479
24480 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
24481
24482 * util/grub-editenv.c (create_envblk_file): Write new block with a
24483 .new suffix and then rename it into place, to ensure atomic
24484 creation.
24485
24486 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
24487
24488 Do not automatically install headers.
24489
24490 * Makefile.in (include_DATA): Remove. Update all users.
24491
24492 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
24493
24494 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
24495 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24496
24497 * util/osdetect.lua: Remove.
24498 * script/lua/lauxlib.c: Likewise.
24499 * script/lua/ldebug.c: Likewise.
24500 * script/lua/grub_main.c: Likewise.
24501 * script/lua/lauxlib.h: Likewise.
24502 * script/lua/ldebug.h: Likewise.
24503 * script/lua/ltablib.c: Likewise.
24504 * script/lua/liolib.c: Likewise.
24505 * script/lua/lstrlib.c: Likewise.
24506 * script/lua/lualib.h: Likewise.
24507 * script/lua/ldo.c: Likewise.
24508 * script/lua/ldump.c: Likewise.
24509 * script/lua/ldo.h: Likewise.
24510 * script/lua/loslib.c: Likewise.
24511 * script/lua/lundump.c: Likewise.
24512 * script/lua/grub_lib.c: Likewise.
24513 * script/lua/ldblib.c: Likewise.
24514 * script/lua/lundump.h: Likewise.
24515 * script/lua/lmem.c: Likewise.
24516 * script/lua/grub_lib.h: Likewise.
24517 * script/lua/lmathlib.c: Likewise.
24518 * script/lua/lstate.c: Likewise.
24519 * script/lua/ltm.c: Likewise.
24520 * script/lua/lvm.c: Likewise.
24521 * script/lua/lmem.h: Likewise.
24522 * script/lua/lstate.h: Likewise.
24523 * script/lua/ltm.h: Likewise.
24524 * script/lua/ltable.c: Likewise.
24525 * script/lua/lvm.h: Likewise.
24526 * script/lua/llex.c: Likewise.
24527 * script/lua/lgc.c: Likewise.
24528 * script/lua/grub_lua.h: Likewise.
24529 * script/lua/loadlib.c: Likewise.
24530 * script/lua/lfunc.c: Likewise.
24531 * script/lua/lopcodes.c: Likewise.
24532 * script/lua/lparser.c: Likewise.
24533 * script/lua/ltable.h: Likewise.
24534 * script/lua/llex.h: Likewise.
24535 * script/lua/lgc.h: Likewise.
24536 * script/lua/lfunc.h: Likewise.
24537 * script/lua/lbaselib.c: Likewise.
24538 * script/lua/lopcodes.h: Likewise.
24539 * script/lua/lparser.h: Likewise.
24540 * script/lua/lzio.c: Likewise.
24541 * script/lua/linit.c: Likewise.
24542 * script/lua/lobject.c: Likewise.
24543 * script/lua/llimits.h: Likewise.
24544 * script/lua/lstring.c: Likewise.
24545 * script/lua/lzio.h: Likewise.
24546 * script/lua/lapi.c: Likewise.
24547 * script/lua/lcode.c: Likewise.
24548 * script/lua/lua.h: Likewise.
24549 * script/lua/lobject.h: Likewise.
24550 * script/lua/lstring.h: Likewise.
24551 * script/lua/lapi.h: Likewise.
24552 * script/lua/lcode.h: Likewise.
24553 * script/lua/luaconf.h: Likewise.
24554
24555 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
24556
24557 * docs/grub.texi (Command-line and menu entry commands): Document
24558 date and echo commands.
24559
24560 2009-09-24 Pavel Roskin <proski@gnu.org>
24561
24562 * include/grub/kernel.h (struct grub_module_header): Remove
24563 `grub_module_header_types'. Make `type' unsigned. Make `size'
24564 32-bit on all platforms.
24565 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24566 8-bit field. Use grub_host_to_target32() for `size'.
24567 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24568 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24569 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24570
24571 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24572
24573 Fix "lost keypress" bug in at_keyboard.
24574
24575 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24576 Checks for readyness of input buffer (without flushing it).
24577 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24578 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24579
24580 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24581
24582 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24583 size check within GRUB_MACHINE_PCBIOS section.
24584
24585 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24586
24587 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24588 return value.
24589 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24590 KEYBOARD_ISREADY check.
24591 (grub_at_keyboard_checkkey): Rename to ...
24592 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24593 Remove gratuitous cast.
24594
24595 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
24596
24597 * configure.ac: Call AC_PROG_MKDIR_P.
24598 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24599 version.texi in $(builddir) rather than $(srcdir).
24600 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24601 to makeinfo's @include search path.
24602
24603 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
24604
24605 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24606
24607 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
24608
24609 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24610 for `*.dpkg-new'.
24611
24612 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
24613
24614 Build info documentation. Some code borrowed from Automake.
24615
24616 * configure.ac: Check for makeinfo.
24617 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24618 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24619 docs/version.texi.
24620 (MOSTLYCLEANFILES): Add vti.tmp.
24621 (docs/version.texi, docs/stamp-vti): Update automatically.
24622 (docs/grub.info): Build info documentation. Use --force and ignore
24623 errors for now.
24624 (all-local): Add $(INFOS).
24625 (install-local): Install info files.
24626 (uninstall): Uninstall info files.
24627 * docs/version.texi: Remove from revision control. This file is
24628 automatically generated on build now.
24629 * gendistlist.sh: Add `*.info'.
24630
24631 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
24632
24633 * kern/term.c: Fix indentation.
24634
24635 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
24636
24637 * util/hostdisk.c: Fix a comment.
24638
24639 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24640
24641 Fix regression introduced in r2539.
24642
24643 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24644 to 0xA1.
24645
24646 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
24647
24648 * util/grub.d/30_os-prober.in: Don't throw away stderr from
24649 os-prober. Under normal operation, it does not print anything to
24650 stderr; if it does, we need to debug it, and throwing away stderr
24651 makes that excessively difficult.
24652
24653 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24654
24655 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24656
24657 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24658
24659 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24660 AC_LANG_PROGRAM from autoconf.
24661 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24662 prototypes (fixes warning).
24663
24664 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24665 `--disable-werror' was used.
24666
24667 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24668
24669 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
24670 uninitialized `lastaddr'.
24671
24672 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
24673
24674 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
24675
24676 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
24677
24678 * commands/test.c (get_fileinfo): Return immediately if
24679 grub_fs_probe fails.
24680
24681 2009-09-14 José Martínez <xosemp@gmail.com>
24682
24683 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
24684
24685 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
24686
24687 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
24688 output.
24689
24690 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
24691
24692 * configure.ac: Remove --enable-grub-pe2elf. Only build
24693 grub-pe2elf when needed by the build system itself.
24694 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
24695
24696 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24697
24698 * configure.ac: Bump version to 1.97~beta3.
24699 * docs/version.texi: Likewise.
24700
24701 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24702
24703 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
24704 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
24705 from here ...
24706 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
24707 (grub_linux_setup_video): ... to here (with some adjustments).
24708
24709 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24710
24711 Fix memory corruption issue (spotted by Colin Watson).
24712
24713 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
24714 causing returned size to be stored in an incorrect memory location.
24715 Fix use of uninitialized value when storing the returned size.
24716
24717 2009-09-12 Yves Blusseau <blusseau@zetam.org>
24718
24719 Change clean rules to properly remove files
24720
24721 * genmk.rb: add new clean rules
24722 * Makefile.in (clean): add the new targets
24723 (mostlyclean): likewise
24724
24725 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
24726
24727 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
24728 to grub_uint64_t.
24729 * fs/ntfs.c (init_file): Understand 64-bit sizes for
24730 non-resident files.
24731
24732 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
24733
24734 * configure.ac: Don't look for help2man when cross-compiling. Fixes
24735 part of bug #27349.
24736
24737 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
24738
24739 * util/grub-mkconfig.in: Make the created config mode 400 and
24740 print a warning if it fails.
24741
24742 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
24743
24744 * util/grub.d/40_custom.in: Ask user to type custom entries below
24745 comment, rather than below 'exec tail' line.
24746
24747 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
24748
24749 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24750 visible in grub.cfg.
24751
24752 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
24753
24754 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24755 file.
24756
24757 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
24758
24759 * docs/grub.cfg: Add an example menu entry for memtest86+.
24760
24761 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
24762
24763 * config.guess: Update to latest version from config git.
24764 * config.sub: Likewise.
24765
24766 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
24767
24768 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24769 unknown-command case. Fixes bug #27320.
24770
24771 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
24772
24773 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24774 `help' if the command exists.
24775
24776 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
24777
24778 * INSTALL: Require GCC 4.1.3 or later.
24779
24780 2009-09-06 Yves Blusseau <blusseau@zetam.org>
24781
24782 * Makefile.in (RMKFILES): add i386-qemu.rmk
24783 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
24784 $(srcdir)/stamp-h.in
24785
24786 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
24787
24788 * util/grub-probe.c (probe): Comment out buggy codepath, which
24789 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
24790 should be re-enabled after 1.97.
24791
24792 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
24793
24794 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
24795 find searches for.
24796
24797 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24798
24799 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
24800 unnecessary calls to grub_error.
24801
24802 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
24803
24804 * NEWS: Mention `keystatus' and Unicode fonts.
24805
24806 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
24807
24808 * configure.ac: Bump version to 1.97~beta2.
24809 * docs/version.texi: Likewise.
24810
24811 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
24812
24813 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
24814 containing unwind information in some cases where it previously did
24815 not. Use -fno-dwarf2-cfi-asm if available to restore the old
24816 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
24817 discussion.
24818
24819 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
24820
24821 Embedding loadenv module into grub-emu
24822
24823 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
24824 commands/loadenv.c
24825 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
24826 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
24827 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
24828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
24829 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
24830 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
24831
24832 2009-09-03 Magnus Granberg <zorry@ume.nu>
24833
24834 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
24835 include -fPIE in the default specs.
24836 * configure.ac: Check if pie_possible is yes and add -fno-PIE
24837 to TARGET_CFLAGS.
24838
24839 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
24840
24841 * INSTALL: Note that GNU Bison 2.3 or later is required.
24842
24843 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
24844
24845 * kern/i386/pc/startup.S: Fix typo.
24846
24847 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24848
24849 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
24850 according to GCS.
24851
24852 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
24853
24854 * docs/grub.texi (Naming convention): Describe one-based partition
24855 numbering.
24856 (Device syntax): Likewise.
24857 (File name syntax): Likewise.
24858 (Block list syntax): Likewise.
24859 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
24860 menu.lst.
24861 (File name syntax): Likewise.
24862 (Command-line and menu entry commands): Document acpi, blocklist,
24863 crc, export, insmod, keystatus, ls, set, and unset commands.
24864
24865 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
24866
24867 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
24868 to avoid implying that only one of --shift, --ctrl, or --alt may be
24869 used.
24870
24871 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
24872
24873 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
24874 rather than comparing against S_IFREG, which will almost never work.
24875
24876 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24877
24878 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
24879 (write_blocklists): Likewise.
24880
24881 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
24882
24883 * script/lua/grub_lua.h (fputs): Supply a format string as the first
24884 argument to grub_printf.
24885
24886 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
24887
24888 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
24889 non GNU test.
24890
24891 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24892
24893 * kern/file.c (grub_file_read): Spelling fix
24894
24895 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24896
24897 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
24898 loading of headers in some cases.
24899
24900 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
24901
24902 * configure.ac: Bump version to 1.97~beta1.
24903 * docs/version.texi: Likewise.
24904
24905 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24906
24907 * include/grub/i386/xnu.h: Add license header.
24908 include grub/err.h explicitly.
24909
24910 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24911
24912 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
24913 to `ufs' in the vfs.root.mountfrom kernel parameter.
24914
24915 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24916
24917 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
24918
24919 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
24920 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
24921
24922 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
24923 `ARRAY_SIZE' macro.
24924
24925 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24926
24927 * kern/file.c (grub_file_read): Check offset.
24928 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
24929 * fs/jfs.c (grub_jfs_read_file): Likewise.
24930 * fs/ntfs.c (grub_ntfs_read): Likewise.
24931 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
24932 * fs/minix.c (grub_minix_read_file): Correct offset check.
24933 * fs/ufs.c (grub_ufs_read_file): Likewise.
24934
24935 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
24936
24937 * term/i386/pc/console.c (bios_data_area): Cast
24938 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
24939
24940 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24941
24942 1-bit optimised blitters.
24943
24944 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
24945 prototype.
24946 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24947 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24948 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24949 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24950 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24951 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24952 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
24953 function.
24954 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24955 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24956 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24957 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24958 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24959 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24960 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
24961 when possible.
24962 * video/video.c (grub_video_get_blit_format): Return
24963 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
24964
24965 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
24966
24967 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
24968 the first argument to grub_printf.
24969
24970 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
24971 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
24972
24973 Add `getkeystatus' terminal method. Add a new `keystatus' command
24974 to query it.
24975
24976 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
24977 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
24978 modifier key bitmasks.
24979 (struct grub_term_input): Add `getkeystatus' member.
24980 (grub_getkeystatus): Add prototype.
24981 * kern/term.c (grub_getkeystatus): New function.
24982
24983 * include/grub/i386/pc/memory.h
24984 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
24985 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
24986 Data Area layout.
24987 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
24988 (grub_console_term_input): Set `getkeystatus' member.
24989 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
24990 constants.
24991 (grub_usb_keyboard_getreport): Likewise.
24992 (grub_usb_keyboard_checkkey): Likewise.
24993 (grub_usb_keyboard_getkeystatus): New function.
24994 (grub_usb_keyboard_term): Set `getkeystatus' member.
24995
24996 * commands/keystatus.c: New file.
24997 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
24998 (keystatus_mod_SOURCES): New variable.
24999 (keystatus_mod_CFLAGS): Likewise.
25000 (keystatus_mod_LDFLAGS): Likewise.
25001 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
25002 commands/keystatus.c.
25003 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25004 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25005 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25006 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25007 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25008 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25009
25010 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25011
25012 Split befs.mod and afs.mod into *_be.mod and *.mod
25013
25014 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
25015 (grub_fstest_SOURCES): Likewise.
25016 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
25017 (afs_be_mod_SOURCES): New variable.
25018 (afs_be_mod_CFLAGS): Likewise.
25019 (afs_be_mod_LDFLAGS): Likewise.
25020 (befs_be_mod_SOURCES): Likewise.
25021 (befs_be_mod_CFLAGS): Likewise.
25022 (befs_be_mod_LDFLAGS): Likewise.
25023 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
25024 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25025 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25026 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25027 (grub_emu_SOURCES): Likewise.
25028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25029 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25030 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25031 * fs/afs_be.c: New file.
25032 * fs/befs_be.c: New file.
25033 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
25034 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
25035 (U16): Replaced with ...
25036 (grub_afs_to_cpu16): ...this. All users updated.
25037 (U32): Replaced with ...
25038 (grub_afs_to_cpu32): ...this. All users updated.
25039 (U64): Replaced with ...
25040 (grub_afs_to_cpu64): ...this. All users updated.
25041 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
25042 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
25043 (grub_afs_validate_sblock): Check only one endianness.
25044 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25045 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25046 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25047 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25048 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25049 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25050 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25051 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25052
25053 2009-08-26 Bean <bean123ch@gmail.com>
25054
25055 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
25056 64-bit number.
25057 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
25058 (grub_xfs_inode_block): Change return type to grub_uint64_t.
25059 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
25060
25061 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25062
25063 NetBSD memory map support.
25064
25065 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
25066 (grub_netbsd_btinfo_mmap_header): New structure.
25067 (grub_netbsd_btinfo_mmap_entry): Likewise.
25068 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
25069
25070 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25071
25072 Enable bsd.mod on coreboot.
25073
25074 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
25075 (bsd_mod_SOURCES): New variable.
25076 (bsd_mod_CFLAGS): Likewise.
25077 (bsd_mod_LDFLAGS): Likewise.
25078 (bsd_mod_ASFLAGS): Likewise.
25079 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
25080 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
25081
25082 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25083
25084 Cleanup NetBSD root support.
25085
25086 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
25087 grub_bsd_get_device.
25088 Fix typo.
25089
25090 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
25091
25092 * util/grub.d/00_header.in: Move check for the video backend of
25093 gfxterm from here ...
25094 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
25095 a suitable video backend.
25096
25097 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25098
25099 Fix breakage in grub-setup.
25100
25101 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
25102 "msdos_partition_map".
25103
25104 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25105
25106 Fix breakage in normal/auth.c.
25107
25108 * normal/auth.c (grub_iswordseparator): New function.
25109
25110 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25111
25112 Authentication support.
25113
25114 * commands/password.c: New file.
25115 * conf/common.rmk (pkglib_MODULES): Add password.mod.
25116 (password_mod_SOURCES): New variable.
25117 (password_mod_CFLAGS): Likewise.
25118 (password_mod_LDFLAGS): Likewise.
25119 (normal_mod_SOURCES): Add normal/auth.c.
25120 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
25121 normal/auth.c.
25122 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25123 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25124 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25126 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25127 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25128 * include/grub/auth.h: New file.
25129 * include/grub/err.h (grub_err_t): New enum value
25130 GRUB_ERR_ACCESS_DENIED.
25131 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
25132 'users'.
25133 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
25134 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
25135 users updated.
25136 * normal/auth.c: New file.
25137 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
25138 (grub_cmdline_run): Don't allow to go to command line without
25139 authentication.
25140 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
25141 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
25142 menuentry without superuser rights.
25143 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
25144 user isn't a superuser.
25145
25146 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25147
25148 Save space by inlining misc.c functions.
25149
25150 * kern/misc.c (grub_iswordseparator): Made static.
25151 * kern/misc.c (grub_strcat): Moved from here ...
25152 * include/grub/misc.h (grub_strcat): ... here. Inlined.
25153 * kern/misc.c (grub_strncat): Moved from here ...
25154 * include/grub/misc.h (grub_strncat): ... here. Inlined.
25155 * kern/misc.c (grub_strcasecmp): Moved from here ...
25156 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
25157 * kern/misc.c (grub_strncasecmp): Moved from here ...
25158 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
25159 * kern/misc.c (grub_isalpha): Moved from here ...
25160 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
25161 * kern/misc.c (grub_isdigit): Moved from here ...
25162 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
25163 * kern/misc.c (grub_isgraph): Moved from here ...
25164 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
25165 * kern/misc.c (grub_tolower): Moved from here ...
25166 * include/grub/misc.h (grub_tolower): ... here. Inlined.
25167
25168 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25169
25170 * script/sh/function.c (grub_script_function_find): Cut error message
25171 not to flood terminal.
25172 * script/sh/lexer.c (grub_script_yylex): Remove command line length
25173 limit.
25174 * script/sh/script.c (grub_script_arg_add): Duplicate string.
25175
25176 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
25177
25178 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
25179 `report' grub_uint8_t *.
25180 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
25181 Use a 50-millisecond timeout rather than just repeating
25182 grub_usb_keyboard_getreport 50 times.
25183 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
25184
25185 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25186
25187 Rename *_partition_map to part_*
25188
25189 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
25190 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
25191 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
25192 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
25193 All users updated.
25194 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
25195 All users updated.
25196 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
25197 * util/grub-probe.c (probe_partmap): Don't transform partition name
25198 to get module name.
25199
25200 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25201
25202 Fix OpenBSD and NetBSD support.
25203
25204 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
25205 memory address conflict.
25206 (OPENBSD_MMAP_ACPI): New definition.
25207 (OPENBSD_MMAP_NVS): Likewise.
25208 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
25209 and OPENBSD_MMAP_NVS.
25210 Add memory map terminator
25211 Explicit cast when calling grub_unix_real_boot.
25212 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
25213
25214 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25215
25216 Let user specify NetBSD root device.
25217
25218 * loader/i386/bsd.c (netbsd_root): New variable.
25219 (netbsd_opts): New option 'root'.
25220 (NETBSD_ROOT_ARG): New macro.
25221 (grub_netbsd_boot): Use 'netbsd_root'.
25222 (grub_bsd_unload): Free 'netbsd_root'.
25223 (grub_cmd_netbsd): Fill 'netbsd_root'.
25224
25225 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25226
25227 Support for 64-bit NetBSD.
25228
25229 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
25230 point when booting non-FreeBSD.
25231
25232 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25233
25234 Support --no-smp and --no-acpi for NetBSD.
25235
25236 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
25237 (NETBSD_AB_NOACPI): Likewise.
25238 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
25239 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
25240
25241 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25242
25243 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
25244 errors.
25245 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
25246 errors. Call grub_error when needed.
25247
25248 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25249
25250 * commands/search.c (search_fs): Try searching without autoload first.
25251 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
25252 filesystem module explicitly for faster booting.
25253
25254 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
25255
25256 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
25257
25258 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
25259
25260 * util/grub.d/30_os-prober.in: Disable os-prober if
25261 `GRUB_DISABLE_OS_PROBER' was set to true.
25262
25263 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
25264
25265 * partmap/pc.c: Rename to ...
25266 * partmap/msdos.c: ... this. Update all users.
25267 (grub_pc_partition_map): Rename to ...
25268 (grub_msdos_partition_map): ... this. Update all users.
25269
25270 * parttool/pcpart.c: Rename to ...
25271 * parttool/msdospart.c: ... this. Update all users.
25272
25273 * include/grub/pc_partition.h: Rename to ...
25274 * include/grub/msdos_partition.h: ... this. Update all users.
25275 (grub_pc_partition_bsd_entry): Rename to ...
25276 (grub_msdos_partition_bsd_entry): ... this. Update all users.
25277 (grub_pc_partition_disk_label): Rename to ...
25278 (grub_msdos_partition_disk_label): ... this. Update all users.
25279 (grub_pc_partition_entry): Rename to ...
25280 (grub_msdos_partition_entry): ... this. Update all users.
25281 (grub_pc_partition_mbr): Rename to ...
25282 (grub_msdos_partition_mbr): ... this. Update all users.
25283 (grub_pc_partition): Rename to ...
25284 (grub_msdos_partition): ... this. Update all users.
25285 (grub_pc_partition_is_empty): Rename to ...
25286 (grub_msdos_partition_is_empty): ... this. Update all users.
25287 (grub_pc_partition_is_extended): Rename to ...
25288 (grub_msdos_partition_is_extended): ... this. Update all users.
25289 (grub_pc_partition_is_bsd): Rename to ...
25290 (grub_msdos_partition_is_bsd): ... this. Update all users.
25291
25292 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
25293 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
25294 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
25295 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
25296 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
25297 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
25298 (gpt_mod_LDFLAGS): Rename to ...
25299 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
25300 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
25301 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
25302 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
25303 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
25304 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
25305 (part_gpt_mod_LDFLAGS): ... this.
25306 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
25307 `pcpart.mod' to `msdospart.mod'.
25308 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
25309 to ...
25310 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
25311 (msdospart_mod_LDFLAGS): ... this.
25312
25313 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25314
25315 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
25316 (openbsd_opts): Likewise.
25317 (netbsd_opts): Likewise.
25318 (freebsd_flags): Added 0 terminator.
25319 (openbsd_flags): Likewise.
25320 (netbsd_flags): Likewise.
25321 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
25322 (grub_cmd_freebsd): Transformed into extended command.
25323 (grub_cmd_openbsd): Likewise.
25324 (grub_cmd_netbsd): Likewise.
25325 (cmd_freebsd): Changed type to grub_extcmd_t.
25326 (cmd_openbsd): Likewise.
25327 (cmd_netbsd): Likewise.
25328 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
25329 grub_cmd_openbsd as extended commands.
25330 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
25331 cmd_netbsd and cmd_openbsd
25332
25333 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25334
25335 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
25336
25337 2009-08-21 Pavel Roskin <proski@gnu.org>
25338
25339 * Makefile.in (install-local): When checking if a file is in the
25340 build directory, use "test -e" to detect symlinks.
25341
25342 * Makefile.in (install-local): Remove all files in
25343 $(DESTDIR)$(pkglibdir) before installing new files there.
25344
25345 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
25346
25347 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
25348 grub-mkelfimage.
25349
25350 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
25351
25352 * util/grub-mkconfig.in: Don't use gfxterm by default if not
25353 explicitly specified by the user.
25354
25355 2009-08-18 Pavel Roskin <proski@gnu.org>
25356
25357 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
25358 grub_uint8_t pointer for data.
25359 * include/grub/fbutil.h (struct grub_video_fbblit_info):
25360 Likewise.
25361 * video/fb/fbutil.c: Remove unnecessary casts.
25362
25363 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
25364
25365 VBE cleanup.
25366
25367 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
25368 (grub_vbe_set_video_mode): Save active mode info
25369 only after setting the mode.
25370 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
25371 second argument.
25372
25373 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
25374
25375 Rename variables for clarity.
25376
25377 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
25378 (active_vbe_mode_info): ... this. All users updated.
25379 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
25380 All users updated.
25381 (initial_mode): Rename to ...
25382 (initial_vbe_mode): ... this. All users updated.
25383 (mode_in_use): Rename to ..
25384 (vbe_mode_in_use): ... this. All users updated.
25385 (mode_list): Rename to ..
25386 (vbe_mode_list): ... this. All users updated.
25387 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
25388 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
25389 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
25390 'mode_list_size' to 'vbe_mode_list_size'.
25391 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
25392 'best_mode_info' to 'best_vbe_mode_info' and
25393 'best_mode' to 'best_vbe_mode'
25394
25395 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
25396
25397 Remove duplicate grub_video_fb_get_video_ptr.
25398
25399 * include/grub/fbutil.h (get_data_ptr): Rename to ...
25400 (grub_video_fb_get_video_ptr): ... this.
25401 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
25402 * video/fb/fbutil.c: Add comment about addressing.
25403 (get_data_ptr): Rename to ...
25404 (grub_video_fb_get_video_ptr): ... this. All users updated.
25405 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
25406
25407 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25408
25409 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
25410 grub_dprintf() that was just added.
25411
25412 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25413
25414 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
25415 (DEFAULT_VIDEO_MODE): Remove macros.
25416 (grub_linux_boot): Remove assumption that Linux has FB support,
25417 and use "text" as default video mode.
25418
25419 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
25420
25421 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
25422 grub_dprintf.
25423 * fs/fat.c (grub_fat_read_data): Likewise.
25424
25425 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25426
25427 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
25428 payload.
25429 (grub_module): Likewise.
25430
25431 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25432
25433 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
25434 mbi->cmdline but free playground.
25435
25436 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25437
25438 Handle group offset on UFS1.
25439
25440 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
25441 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
25442
25443 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25444
25445 Split ufs.mod into ufs1.mod and ufs2.mod.
25446
25447 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
25448 (grub_fstest_SOURCES): Likewise.
25449 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
25450 (ufs_mod_SOURCES): Remove.
25451 (ufs_mod_CFLAGS): Likewise.
25452 (ufs_mod_LDFLAGS): Likewise.
25453 (ufs1_mod_SOURCES): New variable.
25454 (ufs1_mod_CFLAGS): Likewise.
25455 (ufs1_mod_LDFLAGS): Likewise.
25456 (ufs2_mod_SOURCES): New variable.
25457 (ufs2_mod_CFLAGS): Likewise.
25458 (ufs2_mod_LDFLAGS): Likewise.
25459 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
25460 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25461 Likewise.
25462 (grub_emu_SOURCES): Likewise.
25463 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25464 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25465 (grub_setup_SOURCES): Likewise.
25466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25467 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
25468 (grub_setup_SOURCES): Likewise.
25469 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25470 Likewise.
25471 * fs/ufs2.c: New file.
25472 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
25473
25474 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25475
25476 Framebuffer split.
25477
25478 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
25479 subsystem at the end.
25480 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
25481 (video_fb_mod_SOURCES): New variable.
25482 (video_fb_mod_CFLAGS): Likewise.
25483 (video_fb_mod_LDFLAGS): Likewise.
25484 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
25485 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
25486 * video/i386/pc/vbeblit.c: Moved from here ...
25487 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
25488 * video/i386/pc/vbefill.c: Moved from here ...
25489 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
25490 * video/i386/pc/vbeutil.c: Moved from here ...
25491 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
25492 * include/grub/i386/pc/vbeblit.h: Moved from here ...
25493 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
25494 * include/grub/i386/pc/vbefill.h: Moved from here ...
25495 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25496 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25497 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25498 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25499 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25500 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25501 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25502 (grub_video_adapter): Added 'get_info_and_fini'.
25503 (grub_video_get_info_and_fini): New prototype.
25504 (grub_video_set_mode): make modestring const char *.
25505 * loader/i386/linux.c (grub_linux_setup_video): Use
25506 grub_video_get_info_and_fini.
25507 (grub_linux_boot): Move modesetting just before booting.
25508 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25509 grub_video_get_info_and_fini.
25510 * video/i386/pc/vbe.c: Moved framebuffer part ...
25511 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25512 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25513 grub_video_fbstd_colors and grub_video_fb_set_palette.
25514 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25515 grub_video_fb_init.
25516 (grub_video_vbe_fini): Use grub_video_fb_fini.
25517 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25518 render_target and use grub_video_fb_set_active_render_target and
25519 grub_video_fb_set_palette.
25520 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25521 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25522 (grub_video_vbe_adapter): Use framebuffer.
25523 * video/video.c (grub_video_get_info_and_fini): New function.
25524 (grub_video_set_mode): Make modestring const char *.
25525 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25526 values are already initialised.
25527
25528 2009-08-14 Pavel Roskin <proski@gnu.org>
25529
25530 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25531 ABS and APPLE_CC.
25532 * boot/i386/pc/diskboot.S: Likewise.
25533 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25534 sectors allow compilation on MacOSX.
25535 * conf/i386-pc.rmk: Enable unconditional compilation of
25536 lnxboot.img.
25537
25538 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
25539
25540 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25541 * util/grub.d/00_header.in: Enter interruptible sleep if
25542 GRUB_HIDDEN_TIMEOUT is set.
25543
25544 2009-08-13 Yves Blusseau <blusseau@zetam.org>
25545
25546 * include/grub/symbol.h: Add the LOCAL macro.
25547 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25548 starting with "L_".
25549
25550 2009-08-13 Pavel Roskin <proski@gnu.org>
25551
25552 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25553 any modern compilers we support.
25554
25555 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25556 Use local labels starting with "L_" so that Apple assembler
25557 knows they are local.
25558
25559 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25560
25561 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25562 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25563 (bsd_kernel_types): ... this enum.
25564
25565 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25566 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25567 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25568
25569 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25570 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25571 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25572 messages.
25573
25574 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25575
25576 * util/grub-dumpdevtree: Moved from here ...
25577 * util/i386/efi/grub-dumpdevtree: ... to here.
25578 (hexify): New function. Converts a string to its hex version.
25579 Generate hex versions of "efi" and "device-properties" by calling
25580 hexify() on the ASCII strings rather than by hardcoding numbers.
25581
25582 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25583
25584 * fs/jfs.c: Update copyright year.
25585
25586 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
25587
25588 * util/grub.d/00_header.in: Fix a comment.
25589 * util/grub.d/10_linux.in: Likewise.
25590 * util/grub.d/10_windows.in: Likewise.
25591 * util/grub.d/10_hurd.in: Likewise.
25592
25593 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
25594
25595 * util/grub-mkconfig.in: Allow the user to specify the used font
25596 with GRUB_FONT.
25597
25598 2009-08-08 Pavel Roskin <proski@gnu.org>
25599
25600 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25601 available, xfs.mod needs it now.
25602
25603 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25604 the "g" modifier in sed when the intention is to strip something
25605 once. This fixes comparison of kernels with multiple dashes.
25606
25607 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25608 on it. Add missing space before closing bracket. Fix
25609 misleading formatting.
25610
25611 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25612
25613 * docs/grub.texi: Major overhaul. Remove all sections that are
25614 specific to GRUB Legacy, or mostly composed of Legacy-specific
25615 information.
25616
25617 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25618
25619 * docs/version.texi: New file. Provides version information for
25620 grub.texi.
25621
25622 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25623
25624 * docs/grub.texi: Update CVS information to SVN.
25625 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25626
25627 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
25628
25629 * util/grub-mkconfig.in: Remove a wrong `fi'.
25630
25631 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
25632
25633 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25634 (grub_jfs_uuid): New function.
25635 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25636
25637 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
25638
25639 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25640 of it to ...
25641 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25642 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25643
25644 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25645
25646 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25647 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25648 Update all users.
25649
25650 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25651 not just "vmlinu[zx]".
25652 Moved from here ...
25653 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25654 all users.
25655
25656 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25657 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25658 all users.
25659
25660 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25661
25662 * util/grub.d/10_freebsd.in: Use an absolute device path for
25663 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25664
25665 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
25666
25667 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
25668 handling of multiple abstraction modules.
25669
25670 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
25671
25672 Fix a bug resulting in black screen when loading Linux using a
25673 packed video mode.
25674
25675 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
25676 function.
25677
25678 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
25679 (grub_vbe_bios_getset_dac_palette_width): New function.
25680 (grub_vbe_bios_get_dac_palette_width)
25681 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
25682 grub_vbe_bios_getset_dac_palette_width()).
25683
25684 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
25685 check for return status.
25686 (grub_vbe_get_video_mode_info): When getting information for a packed
25687 mode (<= 8 bpp), obtain DAC palette width using
25688 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
25689 {red,green,blue}_mark_size.
25690
25691 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
25692
25693 * commands/search.c (options): Fix help output to match actual code.
25694
25695 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
25696
25697 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
25698 of homegrown code.
25699
25700 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25701
25702 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
25703 on XFS or ReiserFS.
25704
25705 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25706
25707 Support Apple partition map with sector size different from 512 bytes.
25708
25709 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
25710 (apple_partition_map_iterate): Respect 'aheader.blocksize'
25711 and 'apart.partmap_size'.
25712
25713 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25714 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
25715
25716 Fix cpuid command.
25717
25718 * commands/i386/cpuid.c (options): New variable.
25719 (grub_cmd_cpuid): Return real error.
25720 (GRUB_MOD_INIT(cpuid)): Declare options.
25721
25722 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
25723
25724 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
25725 valid.
25726
25727 2009-07-31 Bean <bean123ch@gmail.com>
25728
25729 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
25730 log2_inode.
25731 (grub_fshelp_node): Move inode field to the end.
25732 (grub_xfs_data): Remove inode field.
25733 (grub_xfs_inode_block): Calculate inode size using sblock.
25734 (grub_xfs_inode_offset): Likewise.
25735 (grub_xfs_read_inode): Calculate inode size using sblock.
25736 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
25737 (grub_xfs_iterate_dir): Calculate inode size using sblock.
25738 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
25739 to match inode size.
25740 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
25741 not accessible when data is null.
25742 (grub_xfs_open): Likewise.
25743
25744 2009-07-31 Bean <bean123ch@gmail.com>
25745
25746 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
25747 Don't change pv->disk if it's already set.
25748
25749 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25750 (grub_raid_register): ... here.
25751 (grub_raid_rescan): Removed.
25752
25753 * include/grub/raid.h (grub_raid_rescan): Removed.
25754
25755 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25756 (fstest): Replace grub_raid_rescan with module fini function followed
25757 by init function.
25758
25759 * util/grub-probe.c: Add include file <grub/raid.h>.
25760 (probe_raid_level): New function.
25761 (probe): Detect abstraction by walking the disk device, support two
25762 level of abstraction (LVM on RAID) when detecting partition map.
25763
25764 2009-07-31 Pavel Roskin <proski@gnu.org>
25765
25766 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25767 to grub_zalloc(), it was erroneous.
25768 Reported by Bean <bean123ch@gmail.com>
25769
25770 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25771
25772 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
25773 embedding zone, not only the first one.
25774
25775 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
25776
25777 * term/gfxterm.c (clear_char): New function.
25778 (grub_virtual_screen_setup): Use clear_char.
25779 (scroll_up): Likewise.
25780 (grub_virtual_screen_cls): Likewise.
25781
25782 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
25783
25784 * util/deviceiter.c (get_acceleraid_disk_name): New static
25785 function.
25786 (grub_util_iterate_devices): Handle Accelraid devices.
25787 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
25788
25789 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
25790
25791 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
25792 separator for the suggested gfxpayload string (';' collides with the
25793 parser and needs escaping).
25794
25795 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25796
25797 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
25798 Clear direction flag before jumping to OS.
25799 (grub_multiboot2_real_boot): Likewise.
25800
25801 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
25802
25803 * util/i386/pc/grub-install: Fix parsing of --disk-module
25804 option.
25805
25806 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
25807
25808 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
25809 when embedding.
25810
25811 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
25812
25813 * util/grub-mkconfig.in (package_version): New variable.
25814 Use it do display the version.
25815
25816 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
25817
25818 * kern/file.c (grub_file_open): Revert to previous check with
25819 grub_errno.
25820
25821 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25822
25823 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
25824 from help line. It's out of sync with code.
25825
25826 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25827
25828 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
25829 entries on failed boot.
25830
25831 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
25832
25833 * kern/file.c (grub_file_open): Fix an error check.
25834
25835 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
25836
25837 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
25838 partition map couldn't be identified.
25839
25840 2009-07-23 Pavel Roskin <proski@gnu.org>
25841
25842 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
25843 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
25844 case of little endian words becomes just an optimization.
25845 Respect const modifier.
25846 (md5_final): Use code that doesn't depend on endianness.
25847
25848 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
25849 to avoid loss of upper bits if align is unsigned and shorter
25850 than addr.
25851
25852 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25853
25854 UUID support for UFS
25855
25856 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
25857 (grub_ufs_uuid): New function.
25858 (grub_ufs_fs): add .uuid
25859
25860 2009-07-21 Pavel Roskin <proski@gnu.org>
25861
25862 * kern/dl.c (grub_dl_check_header): Make static.
25863
25864 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
25865
25866 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
25867 add drivemap for Vista. It breaks Windows 7.
25868
25869 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25870
25871 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
25872 128 bytes
25873
25874 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25875
25876 Add BFS support
25877
25878 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
25879 (grub_fstest_SOURCES): Likewise.
25880 (pkglib_MODULES): Add befs.mod.
25881 (befs_mod_SOURCES): New variable.
25882 (befs_mod_CFLAGS): Likewise.
25883 (befs_mod_LDFLAGS): Likewise.
25884 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25885 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25886 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25887 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25888 (grub_setup_SOURCES): Likewise.
25889 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25890 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25891 (grub_setup_SOURCES): Likewise.
25892 * fs/befs.c: New file.
25893 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
25894 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
25895 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
25896 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
25897 (B_KEY_INDEX_ALIGN): New declaration.
25898 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
25899 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
25900 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
25901 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
25902 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
25903 (grub_afs_mount) [MODE_BFS]: Likewise.
25904 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
25905 (grub_afs_fs): Use GRUB_AFS_FSNAME
25906 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
25907 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
25908 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
25909 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
25910
25911 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
25912
25913 * util/getroot.c (find_root_device): Add support for MacOSX.
25914 * util/hostdisk.c: Likewise.
25915
25916 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25917
25918 * font/font.c (find_glyph): Check whether a font is present to avoid
25919 segmentation fault.
25920
25921 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
25922
25923 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
25924
25925 2009-07-20 Pavel Roskin <proski@gnu.org>
25926
25927 * configure.ac: Trim excessively wordy excuses.
25928
25929 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25930
25931 Add symlink, mtime and label support to AtheFS.
25932
25933 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
25934 (grub_afs_iterate_dir): Handle symlinks.
25935 (grub_afs_open): Use grub_afs_read_symlink.
25936 (grub_afs_dir): Likewise.
25937 Pass mtime.
25938 (grub_afs_label): New function.
25939 (grub_afs_fs): Add grub_afs_label.
25940 (grub_afs_read_symlink): New function.
25941
25942 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25943
25944 Fix AtheFS support.
25945
25946 * fs/afs.c: Fix comments style.
25947 (grub_afs_blockrun): Declare as packed.
25948 (grub_afs_datastream): Likewise.
25949 (grub_afs_bnode): Likewise.
25950 (grub_afs_btree): Likewise.
25951 (grub_afs_sblock): Likewise.
25952 Declare `name' as char.
25953 (grub_afs_inode): Declare as packed.
25954 Change void *vnode to grub_uint32_t unused.
25955 (grub_afs_iterate_dir): Check that key_size is positive.
25956 (grub_afs_mount): Don't read superblock twice.
25957 (grub_afs_dir): Don't free node in case of error,
25958 grub_fshelp_find_file already handles this.
25959 (grub_afs_open): Likewise.
25960
25961 2009-07-19 Pavel Roskin <proski@gnu.org>
25962
25963 * Makefile.in: Remove LIBLZO and enable_lzo.
25964 * conf/i386-pc.rmk: Remove lzo support.
25965 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
25966 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
25967 support.
25968 * kern/i386/pc/lzo1x.S: Remove.
25969 * kern/i386/pc/startup.S: Remove lzo support.
25970 * util/i386/pc/grub-mkimage.c: Likewise.
25971
25972 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
25973
25974 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
25975 * fs/xfs.c (grub_xfs_dir): Likewise.
25976 * fs/afs.c (grub_afs_dir): Likewise.
25977 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
25978 (grub_iso9660_open): Likewise.
25979 * fs/jfs.c (grub_jfs_open): Likewise.
25980 * fs/ext2.c (grub_ext2_dir): Likewise.
25981 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
25982 * script/sh/lexer.c (grub_script_yylex): Likewise.
25983
25984 2009-07-16 Pavel Roskin <proski@gnu.org>
25985
25986 * configure.ac: Never add "-c" to CFLAGS.
25987
25988 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
25989
25990 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
25991 grub_cv_cc_efiemu should be used.
25992
25993 * configure.ac: Typo fixes.
25994
25995 * kern/mm.c (grub_zalloc): New function.
25996 (grub_debug_zalloc): Likewise.
25997 * include/grub/mm.h: Declare grub_zalloc() and
25998 grub_debug_zalloc().
25999 * util/misc.c (grub_zalloc): New function.
26000 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
26001 instead of grub_malloc(), remove unneeded initializations.
26002 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
26003 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
26004 * commands/parttool.c (grub_cmd_parttool): Likewise.
26005 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
26006 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
26007 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
26008 * disk/usbms.c (grub_usbms_finddevs): Likewise.
26009 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
26010 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
26011 (grub_cmd_efiemu_pnvram): Likewise.
26012 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
26013 * fs/iso9660.c (grub_iso9660_mount): Likewise.
26014 (grub_iso9660_iterate_dir): Likewise.
26015 * fs/jfs.c (grub_jfs_opendir): Likewise.
26016 * fs/ntfs.c (list_file): Likewise.
26017 (grub_ntfs_mount): Likewise.
26018 * kern/disk.c (grub_disk_open): Likewise.
26019 * kern/dl.c (grub_dl_load_core): Likewise.
26020 * kern/elf.c (grub_elf_file): Likewise.
26021 * kern/env.c (grub_env_context_open): Likewise.
26022 (grub_env_set): Likewise.
26023 (grub_env_set_data_slot): Likewise.
26024 * kern/file.c (grub_file_open): Likewise.
26025 * kern/fs.c (grub_fs_blocklist_open): Likewise.
26026 * loader/i386/multiboot.c (grub_module): Likewise.
26027 * loader/xnu.c (grub_xnu_create_key): Likewise.
26028 (grub_xnu_create_value): Likewise.
26029 * normal/main.c (grub_normal_add_menu_entry): Likewise.
26030 (read_config_file): Likewise.
26031 * normal/menu_entry.c (make_screen): Likewise.
26032 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26033 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
26034 * script/sh/script.c (grub_script_parse): Likewise.
26035 * video/bitmap.c (grub_video_bitmap_create): Likewise.
26036 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
26037 * video/readers/png.c (grub_png_output_byte): Likewise.
26038 (grub_video_reader_png): Likewise.
26039
26040 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26041
26042 Enable all targets that can be built by default
26043
26044 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
26045 grub-mkfont and grub-fstest if they can be built
26046
26047 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26048
26049 Fix hang and segmentation fault in grub-emu-usb
26050
26051 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
26052 * util/usb.c (grub_libusb_devices): likewise
26053 (grub_libusb_init): rename to ...
26054 (GRUB_MOD_INIT (libusb)):...this
26055 (grub_libusb_fini): rename to ..
26056 (GRUB_MOD_FINI (libusb)):...this
26057 * disk/usbms.c (grub_usbms_transfer): fix retry logic
26058 * include/grub/disk.h (grub_raid_init): removed, it's useless
26059 (grub_raid_fini): likewise
26060 (grub_lvm_init): likewise
26061 (grub_lvm_fini): likewise
26062 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
26063 by grub_init_all
26064
26065 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26066
26067 Fix libusb
26068
26069 * Makefile.in (LIBUSB): new macro
26070 * genmk.rb (Utility/print_tail): new method
26071 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
26072 (top level): call util.print_tail at the end.
26073
26074 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26075
26076 Make FreeBSD accept zpool.cache
26077
26078 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
26079 type is /boot/zfs/zpool.cache
26080
26081 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26082
26083 Fix 64-bit efiemu
26084
26085 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
26086 correct wrong typedef
26087 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
26088
26089 2009-07-15 Pavel Roskin <proski@gnu.org>
26090
26091 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
26092 * kern/disk.c (struct grub_disk_cache): Likewise.
26093
26094 * commands/probe.c (options): Typo fix.
26095
26096 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
26097 Increase to 0x5a to accommodate FAT32. Adjust other offsets
26098 accordingly.
26099 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
26100
26101 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
26102 the end of "Error" to make the message more readable.
26103
26104 * boot/i386/pc/boot.S (kernel_segment): Remove.
26105 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
26106 for destination.
26107
26108 * boot/i386/pc/boot.S (boot_version): Remove.
26109 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
26110 Remove.
26111
26112 * include/grub/i386/pc/boot.h: Sort all offsets.
26113 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
26114 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
26115 * boot/i386/pc/boot.S: Assert location of every offset listed in
26116 include/grub/i386/pc/boot.h.
26117
26118 2009-07-13 Pavel Roskin <proski@gnu.org>
26119
26120 * include/grub/i386/coreboot/machine.h: Rename
26121 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
26122 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
26123 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
26124
26125 * kern/dl.c: Force native word size to suppress warnings when
26126 compiling grub-emu.
26127
26128 * kern/device.c (grub_device_iterate): Change struct part_ent to
26129 hold the name, not a pointer to it. Use one grub_malloc() per
26130 partition, not two. Free partition_name if grub_malloc() fails.
26131 Set ents to NULL only before grub_partition_iterate() is called.
26132
26133 2009-07-11 Bean <bean123ch@gmail.com>
26134
26135 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
26136 childname.
26137
26138 2009-07-10 Bean <bean123ch@gmail.com>
26139 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
26140
26141 * kern/ieee1275/openfw.c (grub_children_iterate)
26142 (grub_devalias_iterate): Fix size evaluation for property or path
26143 strings, which was broken since r2132.
26144
26145 2009-07-07 Pavel Roskin <proski@gnu.org>
26146
26147 * commands/search.c (search_file): Merge into ...
26148 (search_fs): ... this. Accept search type as argument.
26149 (grub_cmd_search): Pass search type to search_fs().
26150
26151 * include/grub/util/console.h: New file.
26152 * util/console.c: Use it instead of grub/machine/console.h.
26153 * util/grub-emu.c: Likewise.
26154
26155 * lib/arg.c (find_long_option): Remove.
26156 (find_long): Add `len' argument, make `s' const char *.
26157 (grub_arg_parse): Parse long options in place, not in a
26158 temporary buffer.
26159
26160 2009-07-06 Pavel Roskin <proski@gnu.org>
26161
26162 * commands/search.c (search_fs): Fix potential NULL pointer
26163 dereference.
26164
26165 * commands/search.c (search_fs): Replace QUID macro with quid_fn
26166 function pointer.
26167
26168 2009-07-06 Daniel Mierswa <impulze@impulze.org>
26169
26170 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
26171 comparison.
26172
26173 2009-07-05 Pavel Roskin <proski@gnu.org>
26174
26175 * include/grub/i386/linux.h (struct linux_kernel_params):
26176 Restore padding3, it's still needed.
26177
26178 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
26179 FreeBSD.
26180 * util/osdetect.lua: Likewise.
26181
26182 2009-07-05 Bean <bean123ch@gmail.com>
26183
26184 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
26185
26186 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
26187 (grub_lua_getenv): Likewise.
26188 (grub_lua_setenv): Likewise.
26189 (save_errno): New function.
26190 (push_result): Likewise.
26191 (grub_lua_enum_device): Likewise.
26192 (grub_lua_enum_file): Likewise.
26193 (grub_lua_file_open): Likewise.
26194 (grub_lua_file_close): Likewise.
26195 (grub_lua_file_seek): Likewise.
26196 (grub_lua_file_read): Likewise.
26197 (grub_lua_file_getline): Likewise.
26198 (grub_lua_file_getsize): Likewise.
26199 (grub_lua_file_getpos): Likewise.
26200 (grub_lua_file_eof): Likewise.
26201 (grub_lua_file_exist): Likewise.
26202 (grub_lua_add_menu): Likewise.
26203
26204 * script/lua/grub_lua.h (isupper): New inline function.
26205 (islower): Likewise.
26206 (ispunct): Likewise.
26207 (isxdigit): Likewise.
26208 (strcspn): Change to normal function.
26209 (strpbkr): New function declaration.
26210 (memchr): Likewise.
26211
26212 * script/lua/grub_main.c (scan_str): New function.
26213 (strcspn): Likewise.
26214 (strpbrk): Likewise.
26215 (memchr): Likewise.
26216
26217 * script/lua/linit.c (lualibs): Enable the string library.
26218
26219 * util/osdetect.lua: New file.
26220
26221 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
26222
26223 * include/grub/i386/linux.h (struct linux_kernel_params): Add
26224 `capabilities' member.
26225
26226 2009-07-02 Pavel Roskin <proski@gnu.org>
26227
26228 * genparttoollist.sh: Add missing newline at the end.
26229
26230 2009-07-01 Pavel Roskin <proski@gnu.org>
26231
26232 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
26233
26234 * util/hostdisk.c (open_device): Remove `const' from
26235 `sysctl_size', as sysctlbyname() can change it (in this case it
26236 doesn't actually happen).
26237
26238 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
26239 using signed long int constants.
26240
26241 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
26242 constant to avoid a warning on FreeBSD.
26243
26244 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
26245 where it's needed.
26246
26247 * Makefile.in: Install include/grub/machine symlink.
26248
26249 * Makefile.in: When installing symlinks, use "cp -fR", which
26250 works on FreeBSD and MacOSX.
26251 From Yves Blusseau <cl7m42e02@sneakemail.com>
26252
26253 * kern/dl.c (grub_dl_resolve_symbol): Make static.
26254 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
26255
26256 * util/misc.c: Move grub_reboot() and grub_halt() ...
26257 * util/grub-emu.c: ... here. Make main_env static.
26258 * include/grub/util/misc.h: Remove main_env.
26259
26260 * kern/mm.c: Use correct format to print size_t.
26261
26262 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
26263 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
26264 * kern/powerpc/dl.c: Likewise.
26265 * kern/sparc64/dl.c: Likewise.
26266 * kern/x86_64/dl.c: Likewise.
26267
26268 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26269
26270 Fix grub-emu build on sparc64-ieee1275.
26271
26272 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
26273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
26274
26275 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26276
26277 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
26278 (grub_reboot, grub_halt): New functions.
26279
26280 * util/i386/pc/misc.c: Delete. Update all users.
26281 * util/sparc64/ieee1275/misc.c: Likewise.
26282 * util/powerpc/ieee1275/misc.c: Likewise.
26283
26284 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26285
26286 * conf/i386.rmk (setjmp_mod_SOURCES)
26287 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
26288 * conf/common.rmk (setjmp_mod_SOURCES)
26289 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
26290 to use $(target_cpu).
26291 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
26292 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
26293 * conf/powerpc-ieee1275.rmk: Likewise.
26294 * conf/sparc64-ieee1275.rmk: Likewise.
26295
26296 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
26297 $(target_cpu) for kern/$(target_cpu)/dl.c.
26298 * conf/i386-efi.rmk: Likewise.
26299 * conf/i386-ieee1275.rmk: Likewise.
26300 * conf/x86_64-efi.rmk: Likewise.
26301 * conf/i386-coreboot.rmk: Likewise.
26302 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
26303 $(target_cpu) for kern/$(target_cpu)/dl.c and for
26304 kern/$(target_cpu)/cache.S.
26305 * conf/sparc64-ieee1275.rmk: Likewise.
26306
26307 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26308
26309 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
26310 type to `grub_uint8_t', and adjust `padding9' accordingly.
26311
26312 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26313
26314 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
26315
26316 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
26317 assembly in final jump, using register constraints.
26318
26319 (grub_linux_boot): For text mode, initialize `have_vga' using
26320 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
26321
26322 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
26323 right before the final jump.
26324
26325 Set `video_mode' to 0x3.
26326
26327 Document initialization of `video_page', `video_mode' and
26328 `video_ega_bx'.
26329
26330 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26331
26332 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
26333 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
26334 and set GRUB_LINUX_FLAG_QUIET appropriately.
26335
26336 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26337
26338 Fix build on Debian / sparc.
26339
26340 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
26341
26342 2009-06-28 Pavel Roskin <proski@gnu.org>
26343
26344 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
26345 fix a warning.
26346
26347 * util/grub.d/10_linux.in: Match SUSE style initrd names.
26348
26349 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26350
26351 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
26352 `err'.
26353
26354 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26355
26356 Revert r2338.
26357
26358 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
26359 file can't be opened. grub_file_open() is already supposed to set
26360 grub_errno / grub_errmsg appropriately.
26361 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26362
26363 2009-06-27 Pavel Roskin <proski@gnu.org>
26364 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26365
26366 * include/grub/dl.h: Include grub/elf.h.
26367 (struct grub_dl): Add symtab field.
26368 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
26369 GRUB_MODULES_MACHINE_READONLY.
26370 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
26371 of the header for read-only modules.
26372 (grub_dl_unload): Free mod->symtab for read-only modules.
26373 * kern/i386/dl.c: Use mod->symtab.
26374 * kern/powerpc/dl.c: Likewise.
26375 * kern/sparc64/dl.c: Likewise.
26376 * kern/x86_64/dl.c: Likewise.
26377
26378 * conf/i386-qemu.rmk: New file.
26379 * kern/i386/qemu/startup.S: Likewise.
26380 * kern/i386/qemu/mmap.c: Likewise.
26381 * boot/i386/qemu/boot.S: Likewise.
26382 * include/grub/i386/qemu/time.h: Likewise.
26383 * include/grub/i386/qemu/serial.h: Likewise.
26384 * include/grub/i386/qemu/kernel.h: Likewise.
26385 * include/grub/i386/qemu/console.h: Likewise.
26386 * include/grub/i386/qemu/boot.h: Likewise.
26387 * include/grub/i386/qemu/init.h: Likewise.
26388 * include/grub/i386/qemu/machine.h: Likewise.
26389 * include/grub/i386/qemu/loader.h: Likewise.
26390 * include/grub/i386/qemu/memory.h: Likewise.
26391
26392 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
26393 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
26394 [qemu] (pkglib_IMAGES): Add `boot.img'.
26395 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
26396 [qemu] (boot_img_FORMAT): New variables.
26397 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
26398 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
26399 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
26400 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26401 [qemu] (kernel_img_FORMAT): New variables.
26402
26403 * configure.ac: Recognise `i386-qemu'.
26404
26405 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
26406 (for no compression).
26407 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
26408 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
26409 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
26410 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
26411 ifdefs).
26412
26413 2009-06-27 Pavel Roskin <proski@gnu.org>
26414
26415 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
26416 read.
26417 * efiemu/prepare32.c: Likewise.
26418 * efiemu/prepare64.c: Likewise.
26419
26420 2009-06-26 Pavel Roskin <proski@gnu.org>
26421
26422 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
26423 * include/grub/elf.h: Define symbols without "32" or "64" based
26424 on GRUB_TARGET_WORDSIZE.
26425 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
26426 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
26427 ELF definitions.
26428 * efiemu/loadcore64.c: Likewise.
26429 * loader/i386/bsd32.c: Likewise.
26430 * loader/i386/bsd64.c: Likewise.
26431 * kern/dl.c: Remove own ELF definitions.
26432 * util/i386/efi/grub-mkimage.c: Likewise.
26433
26434 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
26435
26436 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
26437 segment 0x0 unconditionally, because the reference generated by
26438 GAS is an absolute address.
26439
26440 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26441
26442 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
26443 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
26444
26445 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26446
26447 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
26448 indexes. Check for -f explicitly.
26449 (search_file): Improve error message.
26450 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
26451
26452 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26453
26454 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
26455 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
26456
26457 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26458
26459 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
26460 * conf/i386-ieee1275.rmk: Likewise.
26461 * conf/i386-coreboot.rmk: Likewise.
26462
26463 * kern/i386/pc/startup.S (grub_stop): Remove function.
26464 * kern/i386/ieee1275/startup.S: Likewise.
26465 * kern/i386/coreboot/startup.S: Likewise.
26466 * kern/i386/misc.S (grub_stop): New function.
26467
26468 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26469
26470 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
26471 * kern/i386/realmode.S (real_to_prot): ... to here.
26472
26473 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26474
26475 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
26476 with `kernel.img'.
26477 (kernel_elf_SOURCES): Rename to ...
26478 (kernel_img_SOURCES): ... this.
26479 (kernel_elf_HEADERS): Rename to ...
26480 (kernel_img_HEADERS): ... this. Update all users.
26481 (kernel_elf_ASFLAGS): Rename to ...
26482 (kernel_img_ASFLAGS): ... this.
26483 (kernel_elf_CFLAGS): Rename to ...
26484 (kernel_img_CFLAGS): ... this.
26485 (kernel_elf_LDFLAGS): Rename to ...
26486 (kernel_img_LDFLAGS): ... this.
26487 * conf/i386-coreboot.rmk: Likewise.
26488 * conf/powerpc-ieee1275.rmk: Likewise.
26489
26490 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
26491 with "kernel.img".
26492
26493 2009-06-21 Pavel Roskin <proski@gnu.org>
26494
26495 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26496 to match nested functions.
26497 * loader/sparc64/ieee1275/linux.c: Likewise.
26498
26499 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26500
26501 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26502
26503 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26504 all i386 platforms.
26505
26506 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26507
26508 Fix asm file handling on ELF, and remove workarounds.
26509
26510 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
26511 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
26512 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26513 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26514
26515 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26516
26517 Load BSD ELF modules
26518
26519 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26520 and loader/i386/bsd64.c
26521 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26522 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26523 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26524 (grub_freebsd_load_elfmodule32): New declaration
26525 (grub_freebsd_load_elfmoduleobj64): Likewise
26526 (grub_freebsd_load_elf_meta32): Likewise
26527 (grub_freebsd_load_elf_meta64): Likewise
26528 (grub_freebsd_add_meta): Likewise
26529 (grub_freebsd_add_meta_module): Likewise
26530 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26531 (grub_freebsd_add_meta_module): Likewise and move module-specific
26532 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26533 (grub_cmd_freebsd): Add elf-kernel specific parts
26534 based on grub_freebsd_add_meta_module
26535 (grub_cmd_freebsd_module): Add type parsing moved from
26536 grub_freebsd_add_meta_module
26537 (grub_cmd_freebsd_module_elf): New function
26538 (cmd_freebsd_module_elf): New variable
26539 (GRUB_MOD_INIT): Register freebsd_module_elf
26540 * loader/i386/bsd32.c: New file
26541 * loader/i386/bsd64.c: Likewise
26542 * loader/i386/bsdXX.c: Likewise
26543 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26544 (grub_elf64_load): Likewise
26545 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26546 All users updated
26547 (grub_elf64_load_hook_t): Likewise
26548
26549 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
26550
26551 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26552 variable.
26553 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26554 don't write a menu entry for recovery mode.
26555
26556 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26557
26558 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26559 after it's no longer needed.
26560
26561 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26562
26563 * include/grub/i386/loader.h (grub_linux_prot_size)
26564 (grub_linux_tmp_addr, grub_linux_real_addr)
26565 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26566 GRUB_MACHINE_PCBIOS.
26567 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26568 common grub_util_info() call to ...
26569 (generate_image): ... here.
26570 Fix use of uninitialized memory, comparison of signed with
26571 unsigned integers and memory leak.
26572 Remove bogus module address message.
26573
26574 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26575
26576 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26577 grub_raid_register
26578 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26579
26580 2009-06-19 Pavel Roskin <proski@gnu.org>
26581
26582 * configure.ac: Remove stray AC_MSG_CHECKING.
26583
26584 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26585
26586 * disk/scsi.c (grub_scsi_open): use continue instead of big if
26587
26588 2009-06-18 Pavel Roskin <proski@gnu.org>
26589
26590 * conf/common.rmk: Add fs_file.mod.
26591 * disk/fs_file.c: New file.
26592 * include/grub/disk.h (enum grub_disk_dev_id): Add
26593 GRUB_DISK_DEVICE_FILE_ID.
26594
26595 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26596
26597 Fix build with Apple's toolchain. Part 2
26598
26599 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26600 a fake start
26601
26602 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26603
26604 Fix build with Apple's toolchain. Part 1
26605
26606 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26607 for long calls
26608 * configure.ac: remove a leftover AC_MSG_RESULT
26609 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26610 Apple's toolchain
26611
26612 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26613
26614 Fix warnings
26615
26616 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26617 (decomp_block): initialize ch
26618 use grub_memcpy instead of memcpy
26619
26620 2009-06-17 Pavel Roskin <proski@gnu.org>
26621
26622 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26623 version, use declarations needed to use vga_text as the startup
26624 console.
26625
26626 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26627 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26628 the kernel.
26629 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26630 and grub_at_keyboard_fini(), it's done on module load and
26631 unload.
26632
26633 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
26634
26635 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26636 file can't be found.
26637 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26638
26639 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26640
26641 Fix newline handling
26642
26643 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
26644 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
26645 (grub_script_yylex): don't segfault on unterminated script
26646 newline terminates command and variable
26647
26648 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26649
26650 avoid double grub_adjust_range call. Bug reported by David Simner
26651
26652 * kern/disk.c (grub_disk_write): change to raw disk access before
26653 calling disk_read
26654
26655 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
26656
26657 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26658 spaces, for the benefit of help2man.
26659 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26660
26661 2009-06-16 Pavel Roskin <proski@gnu.org>
26662
26663 * kern/i386/halt.c: Include grub/machine/init.h.
26664 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26665
26666 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
26667
26668 * util/grub.d/30_os-prober.in: Use ${root} in the generated
26669 drivemap menuentry.
26670
26671 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
26672
26673 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
26674 `echo' command.
26675
26676 2009-06-16 Pavel Roskin <proski@gnu.org>
26677
26678 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
26679 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
26680 save %dx, we only need %dl and we never change it.
26681 * boot/i386/pc/cdboot.S: Don't set the root drive.
26682 * boot/i386/pc/pxeboot.S: Likewise.
26683 * include/grub/i386/pc/boot.h: Remove
26684 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
26685 GRUB_BOOT_MACHINE_DRIVE_CHECK.
26686 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
26687 * kern/i386/pc/init.c (make_install_device): Remove references
26688 to grub_root_drive.
26689 * kern/i386/pc/startup.S: Likewise.
26690 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
26691
26692 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26693
26694 xnu_uuid command
26695
26696 * commands/xnu_uuid.c: new file
26697 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
26698 (xnu_uuid_mod_SOURCES): new variable
26699 (xnu_uuid_mod_CFLAGS): likewise
26700 (xnu_uuid_mod_LDFLAGS): likewise
26701 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26702 * conf/i386-ieee1275.rmk: likewise
26703 * conf/i386-pc.rmk: likewise
26704 * conf/powerpc-ieee1275.rmk: likewise
26705 * conf/sparc64-ieee1275.rmk: likewise
26706 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
26707
26708 2009-06-16 Pavel Roskin <proski@gnu.org>
26709
26710 * configure.ac: Avoid '==' in test command, it's not portable.
26711
26712 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26713
26714 Probe command
26715
26716 * commands/probe.c: new file
26717 * conf/common.rmk (pkglib_MODULES): add probe.mod
26718 (probe_mod_SOURCES): new variable
26719 (probe_mod_CFLAGS): likewise
26720 (probe_mod_LDFLAGS): likewise
26721 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26722 * conf/i386-ieee1275.rmk: likewise
26723 * conf/i386-pc.rmk: likewise
26724 * conf/powerpc-ieee1275.rmk: likewise
26725 * conf/sparc64-ieee1275.rmk: likewise
26726
26727 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
26728
26729 Fix handling of string like \"hello\" and "a
26730 b"
26731
26732 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
26733 (grub_script_yylex): fix parsing of quoting, escaping and newline
26734
26735 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
26736
26737 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
26738 handling
26739
26740 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
26741
26742 * util/grub-mkconfig.in: Fix parsing of --output option.
26743
26744 2009-06-12 Pavel Roskin <proski@gnu.org>
26745
26746 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
26747 genmk.rb don't need to be generated or installed.
26748
26749 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26750
26751 * commands/i386/pc/drivemap_int13h.S: add more comments
26752
26753 2009-06-11 Pavel Roskin <proski@gnu.org>
26754
26755 * Makefile.in (uninstall): Uninstall manuals.
26756
26757 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26758 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26759 and update-grub_lib in two places.
26760 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26761
26762 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26763 a compiler warning.
26764
26765 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26766 `entry_lo' to fix variable shadowing.
26767
26768 2009-06-11 Christian Franke <franke@computer.org>
26769
26770 * kern/misc.c (__enable_execute_stack): Add missing return type
26771 to prevent gcc warning.
26772
26773 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
26774
26775 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
26776
26777 2009-06-11 Pavel Roskin <proski@gnu.org>
26778
26779 * Makefile.in: Don't rely on any scripts being executable.
26780 Always use $(SHELL) to run shell scripts.
26781
26782 * configure.ac: Always define ___main if using -nostdlib. This
26783 fixes tests on Cygwin.
26784
26785 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
26786
26787 UDF fix
26788
26789 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
26790 is in bytes and not in blocks
26791
26792 2009-06-11 Pavel Roskin <proski@gnu.org>
26793
26794 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
26795 warning.
26796
26797 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
26798
26799 * util/grub.d/30_os-prober.in: Fix a comment. Source
26800 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
26801 to set the root device. Place drivemap command in the generated
26802 chain entry.
26803
26804 2009-06-11 Pavel Roskin <proski@gnu.org>
26805
26806 * configure.ac: Remove host_m32. Issues with 64-bit utilities
26807 have long been resolved.
26808
26809 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
26810
26811 * util/grub.d/10_linux.in: Capitalise "Linux".
26812
26813 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
26814
26815 2009-06-11 Pavel Roskin <proski@gnu.org>
26816
26817 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
26818 fix a gcc warning and ensure that the function won't ever exit.
26819
26820 * kern/i386/ieee1275/init.c: Add missing prototype for
26821 grub_stop_floppy().
26822
26823 * loader/ieee1275/multiboot2.c [__i386__]: Include
26824 grub/cpu/multiboot.h.
26825
26826 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
26827 casts to short - they are not portable and cause warnings. Fix
26828 use of uninitialized values in input_buf. Use ARRAY_SIZE.
26829
26830 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
26831
26832 Drivemap fixes
26833
26834 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
26835 new function
26836 (grub_get_root_biosnumber_saved): new variable
26837 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
26838 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
26839 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
26840 %dx after the call if necessary
26841 * conf/common.rmk (pkglib_MODULES): remove boot.mod
26842 (boot_mod_SOURCES): remove
26843 (boot_mod_CFLAGS): remove
26844 (boot_mod_LDFLAGS): remove
26845 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
26846 (boot_mod_SOURCES): new variable
26847 (boot_mod_CFLAGS): likewise
26848 (boot_mod_LDFLAGS): likewise
26849 * conf/i386-efi.rmk: likewise
26850 * conf/i386-ieee1275.rmk: likewise
26851 * conf/i386-pc.rmk: likewise
26852 * conf/powerpc-ieee1275.rmk: likewise
26853 * conf/sparc64-ieee1275.rmk: likewise
26854 * conf/x86_64-efi.rmk: likewise
26855 * include/grub/i386/pc/biosnum.h: new file
26856 * lib/i386/pc/biosnum.c: likewise
26857 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
26858 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
26859 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
26860
26861 2009-06-10 Pavel Roskin <proski@gnu.org>
26862
26863 * io/gzio.c (test_header): Don't reuse one buffer for all data.
26864 Use separate variables. Read only the file size at the end, but
26865 not the checksum that we don't use.
26866
26867 * kern/file.c (grub_file_read): Use void pointer for the buffer.
26868 Adjust all callers.
26869
26870 * kern/ieee1275/openfw.c: Remove libc includes.
26871 * kern/ieee1275/cmain.c: Likewise.
26872 * include/grub/ieee1275/ieee1275.h: Likewise.
26873
26874 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
26875 compiler warnings.
26876
26877 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
26878
26879 * Makefile.in: Remove all trailing whitespace.
26880 * conf/i386-pc.rmk: Likewise.
26881 * conf/powerpc-ieee1275.rmk: Likewise.
26882 * conf/sparc64-ieee1275.rmk: Likewise.
26883 * docs/grub.texi: Likewise.
26884 * docs/texinfo.tex: Likewise.
26885 * disk/fs_uuid.c: Likewise.
26886 * disk/lvm.c: Likewise.
26887 * disk/scsi.c: Likewise.
26888 * disk/ata.c: Likewise.
26889 * disk/ieee1275/ofdisk.c: Likewise.
26890 * disk/i386/pc/biosdisk.c: Likewise.
26891 * disk/host.c: Likewise.
26892 * disk/raid.c: Likewise.
26893 * disk/efi/efidisk.c: Likewise.
26894 * disk/usbms.c: Likewise.
26895 * disk/memdisk.c: Likewise.
26896 * disk/loopback.c: Likewise.
26897 * kern/powerpc/dl.c: Likewise.
26898 * kern/device.c: Likewise.
26899 * kern/dl.c: Likewise.
26900 * kern/sparc64/dl.c: Likewise.
26901 * kern/ieee1275/ieee1275.c: Likewise.
26902 * kern/term.c: Likewise.
26903 * kern/fs.c: Likewise.
26904 * kern/i386/dl.c: Likewise.
26905 * kern/i386/pc/startup.S: Likewise.
26906 * kern/i386/pc/init.c: Likewise.
26907 * kern/i386/pc/mmap.c: Likewise.
26908 * kern/i386/pc/lzo1x.S: Likewise.
26909 * kern/i386/ieee1275/init.c: Likewise.
26910 * kern/i386/realmode.S: Likewise.
26911 * kern/i386/tsc.c: Likewise.
26912 * kern/partition.c: Likewise.
26913 * kern/corecmd.c: Likewise.
26914 * kern/file.c: Likewise.
26915 * kern/efi/efi.c: Likewise.
26916 * kern/efi/init.c: Likewise.
26917 * kern/efi/mm.c: Likewise.
26918 * kern/main.c: Likewise.
26919 * kern/err.c: Likewise.
26920 * kern/env.c: Likewise.
26921 * kern/disk.c: Likewise.
26922 * kern/generic/millisleep.c: Likewise.
26923 * kern/generic/rtc_get_time_ms.c: Likewise.
26924 * kern/misc.c: Likewise.
26925 * kern/parser.c: Likewise.
26926 * genmk.rb: Likewise.
26927 * configure.ac: Likewise.
26928 * boot/i386/pc/diskboot.S: Likewise.
26929 * boot/i386/pc/pxeboot.S: Likewise.
26930 * boot/i386/pc/boot.S: Likewise.
26931 * boot/i386/pc/lnxboot.S: Likewise.
26932 * boot/i386/pc/cdboot.S: Likewise.
26933 * parttool/pcpart.c: Likewise.
26934 * video/readers/tga.c: Likewise.
26935 * video/video.c: Likewise.
26936 * video/bitmap.c: Likewise.
26937 * lib/envblk.c: Likewise.
26938 * lib/i386/setjmp.S: Likewise.
26939 * fs/xfs.c: Likewise.
26940 * fs/afs.c: Likewise.
26941 * fs/fat.c: Likewise.
26942 * fs/ntfs.c: Likewise.
26943 * fs/udf.c: Likewise.
26944 * fs/affs.c: Likewise.
26945 * fs/iso9660.c: Likewise.
26946 * fs/hfs.c: Likewise.
26947 * fs/fshelp.c: Likewise.
26948 * fs/ext2.c: Likewise.
26949 * fs/jfs.c: Likewise.
26950 * fs/reiserfs.c: Likewise.
26951 * fs/hfsplus.c: Likewise.
26952 * fs/minix.c: Likewise.
26953 * fs/cpio.c: Likewise.
26954 * fs/sfs.c: Likewise.
26955 * fs/ufs.c: Likewise.
26956 * efiemu/prepare.c: Likewise.
26957 * efiemu/loadcore_common.c: Likewise.
26958 * efiemu/runtime/efiemu.sh: Likewise.
26959 * efiemu/runtime/efiemu.S: Likewise.
26960 * efiemu/runtime/efiemu.c: Likewise.
26961 * efiemu/pnvram.c: Likewise.
26962 * efiemu/main.c: Likewise.
26963 * efiemu/i386/pc/cfgtables.c: Likewise.
26964 * efiemu/i386/loadcore64.c: Likewise.
26965 * efiemu/i386/loadcore32.c: Likewise.
26966 * efiemu/loadcore.c: Likewise.
26967 * efiemu/symbols.c: Likewise.
26968 * efiemu/mm.c: Likewise.
26969 * include/grub/autoefi.h: Likewise.
26970 * include/grub/datetime.h: Likewise.
26971 * include/grub/term.h: Likewise.
26972 * include/grub/hfs.h: Likewise.
26973 * include/grub/lvm.h: Likewise.
26974 * include/grub/i386/tsc.h: Likewise.
26975 * include/grub/i386/linux.h: Likewise.
26976 * include/grub/i386/xnu.h: Likewise.
26977 * include/grub/i386/efiemu.h: Likewise.
26978 * include/grub/i386/pc/biosdisk.h: Likewise.
26979 * include/grub/i386/pc/memory.h: Likewise.
26980 * include/grub/i386/pc/vbe.h: Likewise.
26981 * include/grub/parttool.h: Likewise.
26982 * include/grub/video.h: Likewise.
26983 * include/grub/memory.h: Likewise.
26984 * include/grub/fs.h: Likewise.
26985 * include/grub/partition.h: Likewise.
26986 * include/grub/xnu.h: Likewise.
26987 * include/grub/efi/api.h: Likewise.
26988 * include/grub/efi/pe32.h: Likewise.
26989 * include/grub/efi/memory.h: Likewise.
26990 * include/grub/multiboot.h: Likewise.
26991 * include/grub/usbdesc.h: Likewise.
26992 * include/grub/multiboot2.h: Likewise.
26993 * include/grub/acpi.h: Likewise.
26994 * include/grub/efiemu/efiemu.h: Likewise.
26995 * include/grub/disk.h: Likewise.
26996 * include/grub/ieee1275/ieee1275.h: Likewise.
26997 * include/grub/net.h: Likewise.
26998 * include/grub/machoload.h: Likewise.
26999 * include/grub/macho.h: Likewise.
27000 * include/multiboot.h: Likewise.
27001 * genmoddep.awk: Likewise.
27002 * normal/main.c: Likewise.
27003 * normal/menu_entry.c: Likewise.
27004 * normal/menu_viewer.c: Likewise.
27005 * normal/completion.c: Likewise.
27006 * normal/cmdline.c: Likewise.
27007 * normal/misc.c: Likewise.
27008 * normal/datetime.c: Likewise.
27009 * bus/usb/usbtrans.c: Likewise.
27010 * bus/usb/ohci.c: Likewise.
27011 * bus/usb/uhci.c: Likewise.
27012 * bus/usb/usb.c: Likewise.
27013 * mmap/efi/mmap.c: Likewise.
27014 * mmap/i386/pc/mmap_helper.S: Likewise.
27015 * mmap/i386/pc/mmap.c: Likewise.
27016 * mmap/i386/mmap.c: Likewise.
27017 * mmap/i386/uppermem.c: Likewise.
27018 * mmap/mmap.c: Likewise.
27019 * commands/acpi.c: Likewise.
27020 * commands/echo.c: Likewise.
27021 * commands/blocklist.c: Likewise.
27022 * commands/loadenv.c: Likewise.
27023 * commands/usbtest.c: Likewise.
27024 * commands/boot.c: Likewise.
27025 * commands/parttool.c: Likewise.
27026 * commands/search.c: Likewise.
27027 * commands/cat.c: Likewise.
27028 * commands/i386/pc/play.c: Likewise.
27029 * commands/i386/pc/drivemap.c: Likewise.
27030 * commands/i386/pc/vbeinfo.c: Likewise.
27031 * commands/i386/pc/acpi.c: Likewise.
27032 * commands/i386/pc/vbetest.c: Likewise.
27033 * commands/ls.c: Likewise.
27034 * commands/cmp.c: Likewise.
27035 * commands/test.c: Likewise.
27036 * commands/efi/acpi.c: Likewise.
27037 * commands/gptsync.c: Likewise.
27038 * commands/help.c: Likewise.
27039 * partmap/amiga.c: Likewise.
27040 * partmap/apple.c: Likewise.
27041 * partmap/acorn.c: Likewise.
27042 * partmap/pc.c: Likewise.
27043 * partmap/sun.c: Likewise.
27044 * partmap/gpt.c: Likewise.
27045 * script/sh/lexer.c: Likewise.
27046 * script/sh/function.c: Likewise.
27047 * font/font.c: Likewise.
27048 * font/font_cmd.c: Likewise.
27049 * loader/powerpc/ieee1275/linux.c: Likewise.
27050 * loader/efi/chainloader.c: Likewise.
27051 * loader/multiboot_loader.c: Likewise.
27052 * loader/macho.c: Likewise.
27053 * loader/i386/multiboot.c: Likewise.
27054 * loader/i386/linux.c: Likewise.
27055 * loader/i386/pc/linux.c: Likewise.
27056 * loader/i386/pc/multiboot2.c: Likewise.
27057 * loader/i386/pc/chainloader.c: Likewise.
27058 * loader/i386/pc/xnu.c: Likewise.
27059 * loader/i386/bsd_trampoline.S: Likewise.
27060 * loader/i386/efi/linux.c: Likewise.
27061 * loader/i386/multiboot_elfxx.c: Likewise.
27062 * loader/i386/bsd_helper.S: Likewise.
27063 * loader/i386/bsd.c: Likewise.
27064 * loader/i386/linux_trampoline.S: Likewise.
27065 * loader/i386/xnu_helper.S: Likewise.
27066 * loader/i386/xnu.c: Likewise.
27067 * loader/i386/bsd_pagetable.c: Likewise.
27068 * loader/i386/multiboot_helper.S: Likewise.
27069 * loader/xnu.c: Likewise.
27070 * loader/xnu_resume.c: Likewise.
27071 * io/gzio.c: Likewise.
27072 * term/efi/console.c: Likewise.
27073 * term/terminfo.c: Likewise.
27074 * term/ieee1275/ofconsole.c: Likewise.
27075 * term/i386/pc/serial.c: Likewise.
27076 * term/i386/pc/vesafb.c: Likewise.
27077 * term/i386/pc/vga.c: Likewise.
27078 * term/usb_keyboard.c: Likewise.
27079 * term/gfxterm.c: Likewise.
27080 * aclocal.m4: Likewise.
27081 * util/lvm.c: Likewise.
27082 * util/grub.d/30_os-prober.in: Likewise.
27083 * util/grub.d/10_hurd.in: Likewise.
27084 * util/console.c: Likewise.
27085 * util/grub-macho2img.c: Likewise.
27086 * util/grub-probe.c: Likewise.
27087 * util/hostfs.c: Likewise.
27088 * util/i386/pc/grub-mkimage.c: Likewise.
27089 * util/i386/pc/grub-setup.c: Likewise.
27090 * util/i386/efi/grub-mkimage.c: Likewise.
27091 * util/grub-mkconfig.in: Likewise.
27092 * util/raid.c: Likewise.
27093 * util/resolve.c: Likewise.
27094 * util/grub-mkdevicemap.c: Likewise.
27095 * util/grub-emu.c: Likewise.
27096 * util/getroot.c: Likewise.
27097 * util/hostdisk.c: Likewise.
27098 * util/usb.c: Likewise.
27099 * util/grub-editenv.c: Likewise.
27100 * util/misc.c: Likewise.
27101
27102 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
27103
27104 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
27105 `genparttoollist.sh'.
27106 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
27107 Add `*.sh' to the list find searches for and change `mdate.sh'
27108 to `mdate-sh'.
27109
27110 2009-06-10 Pavel Roskin <proski@gnu.org>
27111
27112 * include/grub/multiboot2.h: Provide compatibility defines for
27113 multiboot2.h.
27114 * include/multiboot2.h: Include stdint.h only if needed, using
27115 angle brackets.
27116 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
27117 grub/multiboot2.h.
27118 * loader/ieee1275/multiboot2.c: Likewise.
27119 * loader/multiboot2.c: Likewise.
27120 * loader/multiboot_loader.c: Likewise.
27121
27122 * configure.ac: Use -nostdlib when probing for the target. It
27123 should not be required to have libc for the target.
27124
27125 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
27126 they fail without libc headers for the target.
27127 * include/grub/powerpc/libgcc.h: Use weak attribute for all
27128 exports.
27129 * include/grub/sparc64/libgcc.h: Likewise. Don't use
27130 preprocessor conditionals.
27131
27132 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
27133 build system doesn't need to be aware of the tar.c internals.
27134
27135 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
27136
27137 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
27138
27139 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
27140
27141 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
27142 disk limit to 26 for IDE, Virtio, Xen and SCSI.
27143
27144 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
27145
27146 * util/i386/pc/grub-install.in: Change the error message if UUIDs
27147 aren't available if ata.mod gets used.
27148
27149 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
27150
27151 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
27152 initialising controller.
27153 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27154
27155 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
27156
27157 * util/i386/pc/grub-install.in: Add a parameter --disk-module
27158 to choose between ata and biosdisk module on i386-pc.
27159
27160 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
27161
27162 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
27163 Subclass and Programming Interface fields in terms of the 3 byte
27164 Class Code register.
27165 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27166
27167 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
27168 interface is OHCI. Add grub_dprintf for symmetry with
27169 bus/usb/uhci.c.
27170 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
27171 interface is UHCI. Add interf variable for programming
27172 interface. Print interface with class/subclass.
27173
27174 * bus/usb/ohci.c: Set interf with correct field.
27175
27176 * bus/usb/uhci.c: Remove unneeded doubled lines.
27177 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
27178 Remove whitespace inside comment.
27179
27180 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
27181
27182 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
27183 as fallback an equivalent option without depth.
27184
27185 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27186
27187 Not fail if unable to retrieve C/H/S on LBA disks
27188
27189 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
27190 if unable to retrieve C/H/S on LBA disks
27191
27192 2009-06-08 Pavel Roskin <proski@gnu.org>
27193
27194 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
27195 about aliasing.
27196
27197 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
27198
27199 * Makefile.in (uninstall): Remove all $lib_DATA files.
27200
27201 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27202
27203 Bugfix: install on partitionless device
27204
27205 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
27206 is a whole disk
27207
27208 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
27209
27210 * Makefile.in (uninstall): Remove all $include_DATA files.
27211
27212 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
27213
27214 * commands/true.c: New file. Implement the true and false commands.
27215 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
27216 (true_mod_SOURCES): New variable.
27217 (true_mod_CFLAGS): Likewise.
27218 (true_mod_LDFLAGS): Likewise.
27219
27220 2009-06-05 Colin D Bennett <colin@gibibit.com>
27221
27222 Optimized font character lookup using binary search instead of linear
27223 search. Fonts now are required to have the character index ordered by
27224 code point.
27225
27226 * font/font.c (load_font_index): Verify that fonts have ordered
27227 character indices.
27228 (find_glyph): Use binary search instead of linear search to find a
27229 character in a font.
27230
27231 2009-06-05 Michael Scherer <misc@mandriva.org>
27232
27233 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
27234 uses case sensitive btree.
27235 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
27236 only for case insensitive filesystems.
27237
27238 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
27239
27240 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
27241 * conf/common.rmk (search_mod_CFLAGS): likewise
27242
27243 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27244
27245 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
27246 compensate a compiler bug
27247
27248 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27249
27250 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
27251 instead of '\b'
27252
27253 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27254
27255 Definitions for creating asm symbols with Apple's CC
27256
27257 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
27258 [APPLE_CC] (VARIABLE): likewise
27259
27260 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27261
27262 Disable lnxboot.img when compiled
27263 with Apple's CC
27264
27265 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
27266 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
27267 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
27268 [! APPLE_CC] (CODE_LENG): skip
27269 [! APPLE_CC] (setup_sects): likewise
27270 [! APPLE_CC]: skip filling
27271
27272 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27273
27274 Address in trampolines based on 32-bit registers when compiled
27275 with Apple's CC
27276
27277 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
27278 for addresses
27279 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
27280
27281 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27282
27283 Avoid aliases when compiling with Apple's CC for PCBIOS machine
27284
27285 * kern/misc.c [APPLE_CC] (memcpy): new function
27286 [APPLE_CC] (memmove): likewise
27287 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
27288 (memcpy): define alias conditionally on !APPLE_CC
27289 (memset): likewise
27290 (abort): likewise
27291 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
27292 APPLE_CC are defined
27293 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
27294 (grub_assert_fail): make prototype conditional
27295
27296 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27297
27298 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
27299
27300 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
27301 grub-macho2img
27302 (CLEANFILES): add grub-macho2img
27303 (grub_macho2img_SOURCES): new variable
27304 * kern/i386/pc/startup.S (bss_start): new variable
27305 (bss_end): likewise
27306 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
27307 * util/grub-macho2img.c: new file
27308
27309 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27310
27311 Use objconv when compiling with Apple's CC
27312
27313 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
27314 (efiemu64.o): likewise
27315 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
27316 when compiling with Apple's CC
27317 (efiemu64_s.o): likewise
27318 * configure.ac: check for objconv when compiling with Apple's CC
27319 * genmk.rb: use objconv for modules when compiled with Apple's CC
27320
27321 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27322
27323 Define segment as well as section when compiling with
27324 Apple's CC
27325
27326 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
27327 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
27328 (efiemu_convert_pointer): likewise
27329 (efiemu_set_virtual_address_map): likewise
27330 (efiemu_convert_pointer): likewise
27331 (efiemu_getcrc32): likewise
27332 (init_crc32_table): likewise
27333 (reflect): likewise
27334 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
27335 (GRUB_MOD_DEP): likewise
27336
27337 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27338
27339 Allow a compilation without -mcmodel=large
27340
27341 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
27342 when compiled without -mcmodel=large
27343 (filter_memory_map): remove memory post 4 GiB when compiled
27344 without -mcmodel=large
27345 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
27346 TARGET_CFLAGS when -mcmodel=large isn't supported
27347
27348 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27349
27350 Remove nested functions in efiemu core
27351
27352 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
27353
27354 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27355
27356 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
27357
27358 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
27359 temporary storage
27360 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
27361 using Apple's CC
27362 (grub_cpu_is_tsc_supported): likewise
27363 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
27364
27365 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27366
27367 Absolute addressing through constant with Apple's cc
27368
27369 * kern/i386/pc/startup.S: Define necessary constants
27370 and address through it when using ABS with Apple's CC
27371 * boot/i386/pc/diskboot.S: likewise
27372 * boot/i386/pc/boot.S: likewise
27373 * boot/i386/pc/lnxboot.S: likewise
27374 * boot/i386/pc/cdboot.S: likewise
27375 * mmap/i386/pc/mmap_helper.S: likewise
27376 * commands/i386/pc/drivemap_int13h.S: likewise
27377
27378 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27379
27380 Check if compiler is apple cc
27381
27382 * Makefile.in (ASFLAGS): new variable
27383 (TARGET_ASFLAGS): likewise
27384 (TARGET_MODULE_FORMAT): likewise
27385 (TARGET_APPLE_CC): likewise
27386 (OBJCONV): likewise
27387 (TARGET_IMG_CFLAGS): likewise
27388 (TARGET_CPPFLAGS): add includedir
27389 * configure.ac: call grub_apple_cc and grub_apple_target_cc
27390 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
27391 Check for linker script only if compiler isn't Apple's CC
27392 (TARGET_MODULE_FORMAT): set
27393 (TARGET_APPLE_CC): likewise
27394 (TARGET_ASFLAGS): likewise
27395 (ASFLAGS): likewise
27396 Check for objcopy only if compiler isn't Apple's CC
27397 Check for BSS symbol only if compiler isn't Apple's CC
27398 * genmk.rb: adapt nm options if we use Apple's utils
27399 * aclocal.m4 (grub_apple_cc): new test
27400 (grub_apple_target_cc): likewise
27401
27402 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27403
27404 Simplify sed expressions and improve awk
27405
27406 * Makefile.in (install-local): simplify sed expression
27407 * gencmdlist.sh: likewise
27408 * genmoddep.awk: avoid adding module as a dependency of itself
27409
27410 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27411
27412 Add missing start symbols
27413
27414 * boot/i386/pc/boot.S: add start
27415 * boot/i386/pc/pxeboot.S: likewise
27416
27417 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27418
27419 Fix wrong assumptions with grub-mkimage on EFI
27420
27421 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
27422 (relocate_addresses): consider both r_addend and value at offset
27423 (make_mods_section): zerofill modinfo and header
27424 (convert_elf): write prefix here
27425
27426 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27427
27428 Use .asciz instead of .string
27429
27430 * i386/pc/diskboot.S: use .asciz instead of .string
27431 * i386/pc/boot.S: likewise
27432 * include/grub/dl.h (GRUB_MOD_DEP): likewise
27433 (GRUB_MOD_NAME): likewise
27434
27435 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27436
27437 gfxpayload support
27438
27439 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
27440 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
27441 (grub_video_setup): remove
27442 (grub_video_set_mode): new prototype
27443 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
27444 (vid_mode): remove
27445 (linux_vesafb_res): compile only on PCBIOS
27446 (grub_linux_boot): support gfxpayload
27447 * loader/i386/pc/xnu.c (video_hook): new function
27448 (grub_xnu_set_video): support gfxpayload
27449 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
27450 (DEFAULT_VIDEO_HEIGHT): likewise
27451 (DEFAULT_VIDEO_FLAGS): likewise
27452 (DEFAULT_VIDEO_MODE): new definition
27453 (video_hook): new function
27454 (grub_gfxterm_init): use grub_video_set_mode
27455 * util/grub.d/30_os-prober.in: remove explicit modesetting before
27456 loading xnu
27457 * video/video.c (grub_video_setup): removed
27458 (grub_video_set_mode): new function based on grub_gfxterm_init and
27459 grub_video_setup
27460
27461 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27462
27463 Avoid calling biosdisk in drivemap
27464
27465 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
27466 (revparse_biosdisk): likewise
27467 (list_mappings): derive name from id directly
27468 (grub_cmd_drivemap): use tryparse_diskstring
27469
27470 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27471
27472 Script fixes
27473
27474 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
27475 (grub_lexer_param): add tokenonhold
27476 (grub_script_create_cmdline): remove cmdline. All callers updated
27477 (grub_script_function_create): make functionname
27478 grub_script_arg. All callers updated
27479 (grub_script_execute_argument_to_string): new prototype
27480 * kern/parser.c (state_transitions): reorder
27481 (grub_parser_cmdline_state): fix a bug and make more compact
27482 * script/sh/execute.c (grub_script_execute_argument_to_string):
27483 make global
27484 (grub_script_execute_cmdline): use new format
27485 * script/sh/function.c (grub_script_function_create): make functionname
27486 grub_script_arg. All callers updated
27487 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
27488 (grub_script_yylex): remove
27489 (grub_script_yylex2): renamed to ...
27490 (grub_script_yylex): ...renamed
27491 parse the expressions like a${b}c
27492 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
27493 (GRUB_PARSER_TOKEN_VAR): remove
27494 (GRUB_PARSER_TOKEN_NAME): likewise
27495 ("if"): declare as typeless
27496 ("while"): likewise
27497 ("function"): likewise
27498 ("else"): likewise
27499 ("then"): likewise
27500 ("fi"): likewise
27501 (text): remove
27502 (argument): likewise
27503 (script): accept empty scripts and make exit on error
27504 (arguments): use GRUB_PARSER_TOKEN_ARG
27505 (function): likewise
27506 (command): move error handling to script
27507 (menuentry): move grub_script_lexer_ref before
27508 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
27509 argument. All callers updated
27510
27511 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27512
27513 Prevent GRUB from probing floppies during boot.
27514
27515 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27516 * commands/search.c (options): Add --no-floppy.
27517 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27518 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27519 --no-floppy when searching for UUIDs.
27520
27521 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27522
27523 Simplify the code duplication in commands/search.c.
27524
27525 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27526 (search_fs): ... this. Update all users.
27527
27528 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
27529
27530 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27531
27532 2009-05-28 Pavel Roskin <proski@gnu.org>
27533
27534 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27535 Remove the original symlink explicitly.
27536
27537 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27538 just one slash. That's how grub_fshelp_find_file() does it.
27539
27540 2009-05-26 Pavel Roskin <proski@gnu.org>
27541
27542 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27543 to `str'.
27544
27545 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27546 possibly unused.
27547
27548 2009-05-25 Christian Franke <franke@computer.org>
27549
27550 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27551 register.
27552 (grub_atapi_identify): Add wait after drive select.
27553 (grub_ata_identify): Do more strict status register check before
27554 calling grub_atapi_identify (). Suppress error message if status
27555 register is 0x00 after command failure. Add status register
27556 check after PIO read to avoid bogus identify due to stuck DRQ.
27557 Thanks to Pavel Roskin for testing.
27558 (grub_device_initialize): Remove unsafe status register check.
27559 Thanks to 'phcoder' for problem report and patch.
27560 Prevent sign extension in debug message.
27561
27562 2009-05-23 Colin D Bennett <colin@gibibit.com>
27563
27564 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27565 definition file, and functions defined in `normal/menu.c' have had
27566 their prototypes moved to `include/grub/menu.h' for consistency.
27567
27568 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27569 from normal.h.
27570 (grub_menu_get_entry): Likewise.
27571 (grub_menu_get_timeout): Likewise.
27572 (grub_menu_set_timeout): Likewise.
27573 (grub_menu_execute_entry): Likewise.
27574 (grub_menu_execute_with_fallback): Likewise.
27575 (grub_menu_entry_run): Likewise.
27576
27577 * include/grub/normal.h: Re-ordered and grouped function
27578 prototypes by file that the function is defined in.
27579 (grub_menu_execute_callback): Removed; moved to menu.h.
27580 (grub_menu_get_entry): Likewise.
27581 (grub_menu_get_timeout): Likewise.
27582 (grub_menu_set_timeout): Likewise.
27583 (grub_menu_execute_entry): Likewise.
27584 (grub_menu_execute_with_fallback): Likewise.
27585 (grub_menu_entry_run): Likewise.
27586 (grub_menu_addentry): Renamed from this ...
27587 (grub_normal_add_menu_entry): ... to this.
27588
27589 * normal/main.c (grub_menu_addentry): Renamed from this ...
27590 (grub_normal_add_menu_entry): ... to this.
27591
27592 * script/sh/execute.c (grub_script_execute_menuentry): Update
27593 reference to renamed grub_menu_addentry function.
27594
27595 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
27596
27597 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27598
27599 2009-05-22 Pavel Roskin <proski@gnu.org>
27600
27601 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27602 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27603 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27604 compiling for the i386 targets, but not for the utilities.
27605
27606 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27607 to grub_uint8_t.
27608 (grub_root_drive): Likewise.
27609 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27610 remove alignment.
27611 (grub_root_drive): Change size to byte.
27612 (grub_start_addr): Remove.
27613 (grub_end_addr): Likewise.
27614 (grub_apm_bios_info): Likewise.
27615
27616 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
27617
27618 * normal/i386: Remove.
27619 * normal/powerpc: Likewise.
27620 * normal/sparc64: Likewise.
27621 * normal/x86_64: Likewise.
27622
27623 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27624
27625 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
27626 * loader/i386/linux_trampoline.S: Fix indentation
27627 * loader/i386/xnu_helper.S: Likewise
27628
27629 2009-05-18 Colin D Bennett <colin@gibibit.com>
27630
27631 Display error messages when parsing a Lua statement fails.
27632 Previously, executing a syntactically invalid statement like
27633 ")foo" or "bar;" would silently fail.
27634
27635 * script/lua/grub_main.c (handle_lua_error): New function.
27636 (grub_lua_parse_line): Improved reporting of Lua parser and
27637 execution errors.
27638
27639 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27640
27641 Remove -Werror which causes build to fail on some systems
27642
27643 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27644 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27645 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
27646
27647 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27648
27649 trampoline for linux on 64-bit platform
27650
27651 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27652 loader/i386/efi/linux_trampoline.S
27653 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
27654 declaration
27655 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27656 here
27657 * loader/i386/linux_trampoline.S: moved here
27658 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27659 trampoline
27660 (jumpvector): removed
27661 (grub_linux_trampoline_start): new declaration
27662 (grub_linux_trampoline_end): likewise
27663 (grub_linux_boot): use trampoline when on 64-bit platform
27664 * loader/i386/linux.c: likewise
27665
27666 2009-05-16 Pavel Roskin <proski@gnu.org>
27667
27668 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
27669 const to avoid a warning.
27670 (grub_lua_setenv): Likewise.
27671 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
27672 lmsg to fix a warning.
27673
27674 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
27675
27676 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
27677 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27678 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
27679 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27680 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27681 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27682 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27683 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27684
27685 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
27686
27687 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
27688
27689 2009-05-16 Bean <bean123ch@gmail.com>
27690
27691 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
27692 (lua_mod_SOURCES): New variable.
27693 (lua_mod_CFLAGS): Likewise.
27694 (lua_mod_LDFLAGS): Likewise.
27695
27696 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
27697 (setjmp_mod_SOURCES): New variable.
27698 (setjmp_mod_CFLAGS): Likewise.
27699 (setjmp_LDFLAGS): Likewise.
27700
27701 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
27702 (setjmp_mod_SOURCES): New variable.
27703 (setjmp_mod_CFLAGS): Likewise.
27704 (setjmp_LDFLAGS): Likewise.
27705
27706 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27707 (setjmp_mod_SOURCES): New variable.
27708 (setjmp_mod_CFLAGS): Likewise.
27709 (setjmp_LDFLAGS): Likewise.
27710
27711 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27712 (setjmp_mod_SOURCES): New variable.
27713 (setjmp_mod_CFLAGS): Likewise.
27714 (setjmp_LDFLAGS): Likewise.
27715
27716 * normal/i386/setjmp.S: Moved from here ...
27717 * lib/i386/setjmp.S: ... Moved here
27718 * normal/x86_64/setjmp.S: Moved from here ...
27719 * lib/x86_64/setjmp.S: ... Moved here
27720 * normal/powerpc/setjmp.S: Moved from here ...
27721 * lib/powerpc/setjmp.S: ... Moved here
27722 * normal/sparc64/setjmp.S: Moved from here ...
27723 * lib/sparc64/setjmp.S: ... Moved here
27724
27725 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
27726 returns_twice in mingw.
27727
27728 * script/lua/grub_lib.c: New file.
27729 * script/lua/grub_lib.h: Likewise.
27730 * script/lua/grub_lua.h: Likewise.
27731 * script/lua/grub_main.c: Likewise.
27732 * script/lua/lapi.c: Likewise.
27733 * script/lua/lapi.h: Likewise.
27734 * script/lua/lauxlib.c: Likewise.
27735 * script/lua/lauxlib.h: Likewise.
27736 * script/lua/lbaselib.c: Likewise.
27737 * script/lua/lcode.c: Likewise.
27738 * script/lua/lcode.h: Likewise.
27739 * script/lua/ldblib.c: Likewise.
27740 * script/lua/ldebug.c: Likewise.
27741 * script/lua/ldebug.h: Likewise.
27742 * script/lua/ldo.c: Likewise.
27743 * script/lua/ldo.h: Likewise.
27744 * script/lua/ldump.c: Likewise.
27745 * script/lua/lfunc.c: Likewise.
27746 * script/lua/lfunc.h: Likewise.
27747 * script/lua/lgc.c: Likewise.
27748 * script/lua/lgc.h: Likewise.
27749 * script/lua/linit.c: Likewise.
27750 * script/lua/liolib.c: Likewise.
27751 * script/lua/llex.c: Likewise.
27752 * script/lua/llex.h: Likewise.
27753 * script/lua/llimits.h: Likewise.
27754 * script/lua/lmathlib.c: Likewise.
27755 * script/lua/lmem.c: Likewise.
27756 * script/lua/lmem.h: Likewise.
27757 * script/lua/loadlib.c: Likewise.
27758 * script/lua/lobject.c: Likewise.
27759 * script/lua/lobject.h: Likewise.
27760 * script/lua/lopcodes.c: Likewise.
27761 * script/lua/lopcodes.h: Likewise.
27762 * script/lua/loslib.c: Likewise.
27763 * script/lua/lparser.c: Likewise.
27764 * script/lua/lparser.h: Likewise.
27765 * script/lua/lstate.c: Likewise.
27766 * script/lua/lstate.h: Likewise.
27767 * script/lua/lstring.c: Likewise.
27768 * script/lua/lstring.h: Likewise.
27769 * script/lua/lstrlib.c: Likewise.
27770 * script/lua/ltable.c: Likewise.
27771 * script/lua/ltable.h: Likewise.
27772 * script/lua/ltablib.c: Likewise.
27773 * script/lua/ltm.c: Likewise.
27774 * script/lua/ltm.h: Likewise.
27775 * script/lua/lua.h: Likewise.
27776 * script/lua/luaconf.h: Likewise.
27777 * script/lua/lualib.h: Likewise.
27778 * script/lua/lundump.c: Likewise.
27779 * script/lua/lundump.h: Likewise.
27780 * script/lua/lvm.c: Likewise.
27781 * script/lua/lvm.h: Likewise.
27782 * script/lua/lzio.c: Likewise.
27783 * script/lua/lzio.h: Likewise.
27784
27785 2009-05-16 Bean <bean123ch@gmail.com>
27786
27787 * include/grub/kernel.h (grub_module_header_types): Add type
27788 OBJ_TYPE_CONFIG.
27789
27790 * kern/main.c (grub_load_config): New function.
27791 (grub_main): Call grub_load_config to read boot config.
27792
27793 * grub-mkimage (generate_image): New parameter config_path.
27794 (options): New option --config.
27795 (main): Parse --config option, and pass it to generate_image.
27796
27797 2009-05-14 Christian Franke <franke@computer.org>
27798
27799 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
27800 This fixes build on Cygwin.
27801
27802 2009-05-14 Pavel Roskin <proski@gnu.org>
27803
27804 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
27805 jump. This saves two bytes, so the typical case of 2 swapped
27806 drives would fit 32 bytes.
27807
27808 2009-05-13 Pavel Roskin <proski@gnu.org>
27809
27810 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
27811 grub_uint32_t to avoid a warning.
27812
27813 * loader/i386/linux.c (allocate_pages): When assigning
27814 real_mode_mem, cast through grub_size_t to fix a warning. The
27815 code already makes sure that the value would fit a pointer.
27816 (grub_linux_setup_video): Cast render_target->data to
27817 grub_size_t to fix a warning.
27818
27819 2009-05-13 Javier Martín <lordhabbit@gmail.com>
27820
27821 * commands/i386/pc/drivemap.c: New file - implement drivemap
27822 command.
27823 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
27824 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
27825
27826 2009-05-13 Pavel Roskin <proski@gnu.org>
27827
27828 * util/i386/pc/grub-setup.c (setup): Remove unused variable
27829 embedding_area_exists.
27830
27831 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
27832
27833 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
27834 it easier to understand / work with.
27835 Improve warning messages for cases where there's no embedding area,
27836 or when it is too small (or core.img too large).
27837
27838 2009-05-13 Pavel Roskin <proski@gnu.org>
27839
27840 * loader/i386/pc/multiboot2.c: Add necessary includes for
27841 grub_multiboot2_real_boot().
27842
27843 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
27844 PX record is always little-endian. We only need the lower 2
27845 bytes of the mode.
27846
27847 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
27848 facilitate code reuse.
27849 (grub_cpio_mount): Use "struct head", not a char buffer. This
27850 fixes a warning reported by gcc 4.4.
27851
27852 * kernel/disk.c (grub_disk_read): Use void pointer for the
27853 buffer.
27854 (grub_disk_write): Use const void pointer for the buffer.
27855 Adjust all callers. Remove unnecessary casts.
27856
27857 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
27858
27859 * util/i386/pc/grub-install.in: Update copyright year.
27860
27861 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27862
27863 gptsync
27864
27865 * commands/gptsync.c: new file
27866 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
27867 (gptsync_mod_SOURCES): new variable
27868 (gptsync_mod_CFLAGS): likewise
27869 (gptsync_mod_LDFLAGS): likewise
27870 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
27871 new definition
27872 (GRUB_PC_PARTITION_TYPE_HFS): likewise
27873 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
27874 * conf/i386-ieee1275.rmk: likewise
27875 * conf/i386-pc.rmk: likewise
27876 * conf/powerpc-ieee1275.rmk: likewise
27877
27878 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27879
27880 Fixed grub-emu
27881
27882 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
27883 (grub_dl_ref): likewise
27884
27885 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
27886
27887 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
27888 split in two functions (one for msdos and one for gpt).
27889
27890 2009-05-08 Pavel Roskin <proski@gnu.org>
27891
27892 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
27893 not modified.
27894
27895 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
27896 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
27897 Initialize them with -1. Add sanity check for bad1. Eliminate
27898 nerr variable.
27899
27900 2009-05-08 David S. Miller <davem@davemloft.net>
27901
27902 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
27903
27904 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
27905
27906 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
27907 existence.
27908
27909 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
27910
27911 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27912 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
27913
27914 2009-05-05 David S. Miller <davem@davemloft.net>
27915
27916 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
27917
27918 2009-05-05 Pavel Roskin <proski@gnu.org>
27919
27920 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
27921 of grub_dl_ref() and grub_dl_unref().
27922 * commands/parttool.c: Remove preprocessor conditionals around
27923 grub_dl_ref() and grub_dl_unref().
27924 * fs/affs.c: Likewise.
27925 * fs/afs.c: Likewise.
27926 * fs/cpio.c: Likewise.
27927 * fs/ext2.c: Likewise.
27928 * fs/fat.c: Likewise.
27929 * fs/hfs.c: Likewise.
27930 * fs/hfsplus.c: Likewise.
27931 * fs/iso9660.c: Likewise.
27932 * fs/jfs.c: Likewise.
27933 * fs/minix.c: Likewise.
27934 * fs/ntfs.c: Likewise.
27935 * fs/reiserfs.c: Likewise.
27936 * fs/sfs.c: Likewise.
27937 * fs/udf.c: Likewise.
27938 * fs/ufs.c: Likewise.
27939 * fs/xfs.c: Likewise.
27940 * include/grub/dl.h: Likewise.
27941 * loader/xnu.c: Likewise.
27942
27943 2009-05-04 Pavel Roskin <proski@gnu.org>
27944
27945 * commands/acpi.c: Remove unused variable my_mod.
27946 * partmap/amiga.c: Likewise.
27947 * partmap/apple.c: Likewise.
27948 * partmap/gpt.c: Likewise.
27949 * partmap/pc.c: Likewise.
27950 * partmap/sun.c: Likewise.
27951 * term/gfxterm.c: Likewise.
27952 * term/i386/pc/vesafb.c: Likewise.
27953 * term/i386/pc/vga.c: Likewise.
27954
27955 2009-05-04 David S. Miller <davem@davemloft.net>
27956
27957 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
27958 pointer args to grub_ieee1275_get_property().
27959
27960 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
27961
27962 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
27963 devices, and do not traverse down under controller nodes.
27964
27965 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
27966 (grub_ofdisk_open): Use it to un-escape "," characters.
27967 * kern/disk.c (find_part_sep): New.
27968 (grub_disk_open): Use it to find the first non-escaped ','
27969 character in the disk name.
27970 * util/ieee1275/devicemap.c (escape_of_path): New.
27971 (grub_util_emit_devicemap_entry): Use it.
27972 * util/sparc64/ieee1275/grub-install.in: Update script to
27973 strip partition specifiers properly by not triggering on
27974 '\' escaped ',' characters.
27975
27976 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27977
27978 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
27979 to 0x300.
27980 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
27981 resolutions.
27982 (linux_vesafb_modes): Add a lot of additional modes to the list (based
27983 on documentation from Wikipedia).
27984
27985 2009-05-04 Pavel Roskin <proski@gnu.org>
27986
27987 * disk/ata.c: Spelling fixes.
27988 * disk/raid.c: Likewise.
27989 * disk/usbms.c: Likewise.
27990 * disk/dmraid_nvidia.c: Likewise.
27991 * kern/ieee1275/openfw.c: Likewise.
27992 * kern/ieee1275/init.c: Likewise.
27993 * kern/ieee1275/cmain.c: Likewise.
27994 * boot/i386/pc/cdboot.S: Likewise.
27995 * video/readers/png.c: Likewise.
27996 * video/i386/pc/vbe.c: Likewise.
27997 * fs/udf.c: Likewise.
27998 * fs/hfs.c: Likewise.
27999 * fs/reiserfs.c: Likewise.
28000 * efiemu/runtime/efiemu.c: Likewise.
28001 * efiemu/main.c: Likewise.
28002 * efiemu/mm.c: Likewise.
28003 * include/grub/elf.h: Likewise.
28004 * include/grub/xnu.h: Likewise.
28005 * include/grub/usbdesc.h: Likewise.
28006 * include/grub/usb.h: Likewise.
28007 * include/grub/script_sh.h: Likewise.
28008 * include/grub/lib/LzmaEnc.h: Likewise.
28009 * include/grub/efiemu/efiemu.h: Likewise.
28010 * include/grub/command.h: Likewise.
28011 * normal/menu.c: Likewise.
28012 * normal/main.c: Likewise.
28013 * normal/datetime.c: Likewise.
28014 * bus/usb/uhci.c: Likewise.
28015 * mmap/i386/uppermem.c: Likewise.
28016 * mmap/mmap.c: Likewise.
28017 * commands/acpi.c: Likewise.
28018 * commands/test.c: Likewise.
28019 * partmap/apple.c: Likewise.
28020 * font/font.c: Likewise.
28021 * loader/sparc64/ieee1275/linux.c: Likewise.
28022 * loader/macho.c: Likewise.
28023 * loader/i386/bsd_trampoline.S: Likewise.
28024 * loader/i386/bsd.c: Likewise.
28025 * loader/xnu.c: Likewise.
28026 * term/i386/pc/vesafb.c: Likewise.
28027 * term/usb_keyboard.c: Likewise.
28028 * util/resolve.c: Likewise.
28029 * util/getroot.c: Likewise.
28030
28031 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
28032
28033 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
28034
28035 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28036
28037 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
28038 build error.
28039
28040 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28041
28042 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
28043 parameter only available on BIOS.
28044
28045 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28046
28047 Removed wrong semicolon in declaration
28048
28049 * grub/misc.h (grub_dprintf): remove semicolon
28050
28051 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28052
28053 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
28054 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
28055 is done by grub_cmd_linux() now).
28056 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
28057 restore video to text mode.
28058 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
28059 indicates lack of "vga=" parameter. "vga=0" is mapped to
28060 `GRUB_LINUX_VID_MODE_NORMAL'.
28061
28062 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
28063
28064 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
28065 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
28066 and `normal/script.c'. Add `kern/rescue_reader.c',
28067 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
28068 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
28069 `grub_script.tab.c'.
28070
28071 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28072 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28073 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28074 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28075 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28076
28077 * Makefile.in: Remove duplicated 2008 in Copyright line.
28078
28079 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28080
28081 * util/misc.c (grub_util_warn): New function. Emits a warning
28082 unconditionally.
28083 * include/grub/util/misc.h (grub_util_warn): New declaration.
28084
28085 * util/i386/pc/grub-install.in: Understand --force and pass it down
28086 to grub-setup.
28087
28088 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
28089 down to setup().
28090 (setup): Improve error messages and add warnings when requested to
28091 install in odd layouts. Refuse to install using blocklists unless
28092 --force was set.
28093
28094 2009-05-04 martin f. krafft <madduck@madduck.net>
28095
28096 * disk/raid.c (grub_raid_scan_device): Improve debug message.
28097
28098 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28099
28100 Updated copyright year
28101
28102 * fs/hfsplus.c: updated copyright year
28103
28104 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28105
28106 HFS+ UUID
28107
28108 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
28109 in the space previously used by unused3
28110 (grub_hfsplus_uuid): new function
28111 (grub_hfsplus_fs): added uuid field
28112
28113 2009-05-03 Pavel Roskin <proski@gnu.org>
28114
28115 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
28116 suppress warnings. It's no longer needed.
28117 * disk/host.c: Likewise.
28118 * disk/ata_pthru.c: Likewise.
28119 * disk/loopback.c: Likewise.
28120 * hook/datehook.c: Likewise.
28121 * parttool/pcpart.c: Likewise.
28122 * fs/i386/pc/pxe.c: Likewise.
28123 * fs/ntfscomp.c: Likewise.
28124 * efiemu/main.c: Likewise.
28125 * mmap/mmap.c: Likewise.
28126 * commands/crc.c: Likewise.
28127 * commands/hexdump.c: Likewise.
28128 * commands/hdparm.c: Likewise.
28129 * commands/acpi.c: Likewise.
28130 * commands/echo.c: Likewise.
28131 * commands/minicmd.c: Likewise.
28132 * commands/blocklist.c: Likewise.
28133 * commands/memrw.c: Likewise.
28134 * commands/loadenv.c: Likewise.
28135 * commands/usbtest.c: Likewise.
28136 * commands/lsmmap.c: Likewise.
28137 * commands/boot.c: Likewise.
28138 * commands/parttool.c: Likewise.
28139 * commands/configfile.c: Likewise.
28140 * commands/search.c: Likewise.
28141 * commands/ieee1275/suspend.c: Likewise.
28142 * commands/cat.c: Likewise.
28143 * commands/i386/pc/pxecmd.c: Likewise.
28144 * commands/i386/pc/play.c: Likewise.
28145 * commands/i386/pc/halt.c: Likewise.
28146 * commands/i386/pc/vbeinfo.c: Likewise.
28147 * commands/i386/pc/vbetest.c: Likewise.
28148 * commands/lspci.c: Likewise.
28149 * commands/date.c: Likewise.
28150 * commands/handler.c: Likewise.
28151 * commands/ls.c: Likewise.
28152 * commands/test.c: Likewise.
28153 * commands/cmp.c: Likewise.
28154 * commands/efi/loadbios.c: Likewise.
28155 * commands/efi/fixvideo.c: Likewise.
28156 * commands/halt.c: Likewise.
28157 * commands/help.c: Likewise.
28158 * commands/reboot.c: Likewise.
28159 * hello/hello.c: Likewise.
28160 * script/sh/main.c: Likewise.
28161 * loader/xnu.c: Likewise.
28162 * term/terminfo.c: Likewise.
28163 * term/i386/pc/serial.c: Likewise.
28164 * term/usb_keyboard.c: Likewise.
28165
28166 2009-05-03 David S. Miller <davem@davemloft.net>
28167
28168 * normal/menu.c: Include grub/parser.h
28169
28170 2009-05-03 Pavel Roskin <proski@gnu.org>
28171
28172 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
28173 not char*.
28174 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
28175 Suggested by Javier Martín <lordhabbit@gmail.com>
28176
28177 * util/i386/pc/grub-mkrescue.in: Allow for the case when
28178 efiemu??.o doesn't exist.
28179 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
28180 copying.
28181
28182 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
28183
28184 FreeBSD 64-bit support
28185
28186 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
28187 and loader/i386/bsd_trampoline.S
28188 (bsd_mod_ASFLAGS): new variable
28189 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
28190 (FREEBSD_MODTYPE_KERNEL64): likewise
28191 (grub_bsd64_trampoline_start): likewise
28192 (grub_bsd64_trampoline_end): likewise
28193 (grub_bsd64_trampoline_selfjump): likewise
28194 (grub_bsd64_trampoline_gdt): likewise
28195 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
28196 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
28197 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
28198 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
28199 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
28200 of "attrib" member
28201 * loader/i386/bsd_pagetable.c: new file
28202 * loader/i386/bsd_trampoline.S: likewise
28203 * loader/i386/bsd.c (ALIGN_QWORD): new macro
28204 (ALIGN_VAR): likewise
28205 (entry_hi): new variable
28206 (kern_end_mdofs): likewise
28207 (is_64bit): likewise
28208 (grub_freebsd_add_meta): use ALIGN_VAR
28209 (grub_e820_mmap): new declaration
28210 (grub_freebsd_add_mmap): new function
28211 (grub_freebsd_add_meta_module): support 64 bit kernels
28212 (grub_freebsd_list_modules): use ALIGN_VAR
28213 (gdt_descriptor): new declaration
28214 (grub_freebsd_boot): support 64 bit kernels
28215 (grub_bsd_elf64_hook): new function
28216 (grub_bsd_load_elf): support elf64
28217
28218 2009-05-03 Bean <bean123ch@gmail.com>
28219
28220 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
28221 after we get the result of if statement.
28222
28223 2009-05-03 Bean <bean123ch@gmail.com>
28224
28225 * Makefile.in (enable_efiemu): New variable.
28226
28227 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
28228 set.
28229 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
28230 path.
28231 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
28232 path, add -mno-red-zone option.
28233 (efiemu64_s.o): Likewise.
28234 (efiemu64.o): Use macro $^ for source file.
28235
28236 * configure.ac (--enable-efiemu): New option.
28237
28238 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28239
28240 xnu support
28241
28242 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
28243 (pkglib_MODULES): add xnu.mod
28244 (xnu_mod_SOURCES): new variable
28245 (xnu_mod_CFLAGS): likewise
28246 (xnu_mod_LDFLAGS): likewise
28247 (xnu_mod_ASFLAGS): likewise
28248 * conf/i386-pc.rmk: likewise
28249 * conf/x86_64-efi.rmk: likewise
28250 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
28251 new declaration
28252 * include/grub/i386/macho.h: new file
28253 * include/grub/i386/xnu.h: likewise
28254 * include/grub/macho.h: likewise
28255 * include/grub/machoload.h: likewise
28256 * include/grub/x86_64/macho.h: likewise
28257 * include/grub/x86_64/xnu.h: likewise
28258 * include/grub/xnu.h: likewise
28259 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
28260 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
28261 * loader/i386/efi/xnu.c: new file
28262 * loader/i386/pc/xnu.c: likewise
28263 * loader/i386/xnu.c: likewise
28264 * loader/i386/xnu_helper.S: likewise
28265 * loader/macho.c: likewise
28266 * loader/xnu.c: likewise
28267 * loader/xnu_resume.c: likewise
28268 * util/grub-dumpdevtree: likewise
28269 * include/grub/i386/pit.h: include grub/err.h
28270 (grub_pit_wait): export
28271 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
28272
28273 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28274
28275 Efiemu
28276
28277 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
28278 _linux_efi, linux_efi.
28279 new files in grub-emu
28280 new targets efiemu32.o and efiemu64.o
28281 * loader/linux_normal_efiemu.c: likewise
28282 * loader/i386/efi/linux.c: added preliminary efiemu support
28283 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
28284 files to copy
28285 * include/grub/autoefi.h: new file
28286 * include/grub/i386/efiemu.h: likewise
28287 * include/grub/i386/pc/efiemu.h: likewise
28288 * include/grub/efi/api.h: add LL suffix when necessary
28289 new definitions relating to tables
28290 * include/grub/efiemu/efiemu.h: new file
28291 * include/grub/efiemu/runtime.h: likewise
28292 * efiemu/prepare.c: likewise
28293 * efiemu/loadcore_common.c: likewise
28294 * efiemu/loadcore64.c: likewise
28295 * efiemu/runtime/efiemu.sh: likewise
28296 * efiemu/runtime/efiemu.S: likewise
28297 * efiemu/runtime/efiemu.c: likewise
28298 * efiemu/runtime/config.h: likewise
28299 * efiemu/prepare32.c: likewise
28300 * efiemu/main.c: likewise
28301 * efiemu/modules/pnvram.c: likewise
28302 * efiemu/modules/i386: likewise
28303 * efiemu/modules/i386/pc: likewise
28304 * efiemu/modules/acpi.c: likewise
28305 * efiemu/i386/pc/cfgtables.c: likewise
28306 * efiemu/i386/loadcore64.c: likewise
28307 * efiemu/i386/loadcore32.c: likewise
28308 * efiemu/prepare64.c: likewise
28309 * efiemu/loadcore.c: likewise
28310 * efiemu/symbols.c: likewise
28311 * efiemu/mm.c: likewise
28312 * efiemu/loadcore32.c: likewise
28313
28314 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28315
28316 ACPI spoofing
28317
28318 * commands/acpi.c: new file
28319 * commands/i386/pc/acpi.c: likewise
28320 * commands/efi/acpi.c: likewise
28321 * include/grub/acpi.h: likewise
28322 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
28323 (acpi_mod_SOURCES): new variable
28324 (acpi_mod_CFLAGS): likewise
28325 (acpi_mod_LDFLAGS): likewise
28326 * conf/i386-efi.rmk: likewise
28327 * conf/x86_64-efi.rmk: likewise
28328
28329 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28330
28331 Missing part from mmap patch
28332
28333 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
28334 (grub_mmap_unregister)
28335 (grub_mmap_free_and_unregister): use grub_mmap_register
28336
28337 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28338
28339 Mmap services
28340
28341 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
28342 * loader/i386/linux.c (find_mmap_size): likewise
28343 (allocate_pages): likewise
28344 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
28345 (grub_fill_multiboot_mmap): likewise
28346 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
28347 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
28348 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
28349 (OPENBSD_MMAP_RESERVED): likewise
28350 * include/grub/i386/pc/memory.h: include grub/memory.h
28351 (grub_lower_mem): removed
28352 (grub_upper_mem): likewise
28353 (GRUB_MACHINE_MEMORY_ACPI): new definition
28354 (GRUB_MACHINE_MEMORY_NVS): likewise
28355 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
28356 (GRUB_MACHINE_MEMORY_HOLE): likewise
28357 (grub_machine_mmap_register): likewise
28358 (grub_machine_mmap_unregister): likewise
28359 (grub_machine_get_upper): likewise
28360 (grub_machine_get_lower): likewise
28361 (grub_machine_get_post64): likewise
28362 * include/grub/i386/efi/memory.h: new file
28363 * include/grub/x86_64/efi/memory.h: likewise
28364 * include/grub/efi/memory.h: likewise
28365 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
28366 (mmap_mod_SOURCES): new variable
28367 (mmap_mod_LDFLAGS): likewise
28368 (mmap_mod_ASFLAGS): likewise
28369 * conf/i386-coreboot.rmk: likewise
28370 * conf/i386-ieee1275.rmk: likewise
28371 * conf/i386-efi.rmk: likewise
28372 * conf/x86_64-efi.rmk: likewise
28373 * include/grub/types.h (UINT_TO_PTR): new macro
28374 (PTR_TO_UINT32): likewise
28375 (PTR_TO_UINT64): likewise
28376 * include/grub/memory.h: new file
28377 * mmap/i386/pc/mmap.c: likewise
28378 * mmap/i386/pc/mmap_helper.S: likewise
28379 * mmap/i386/uppermem.c: likewise
28380 * mmap/mmap.c: likewise
28381 * mmap/efi/mmap.c: likewise
28382 * kern/i386/coreboot/init.c (grub_machine_init): don't use
28383 grub_upper_mem
28384 * kern/i386/pc/init.c (grub_lower_mem): removed variable
28385 (grub_upper_mem): likewise
28386 (grub_machine_init): don't use grub_upper_mem,
28387 make grub_lower_mem local
28388 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
28389 grub_mmap_iterate and grub_mmap_get_upper
28390 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
28391
28392 2009-05-02 Bean <bean123ch@gmail.com>
28393
28394 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
28395 script/sh/parser.y.
28396 (pkglib_MODULES): Add normal.mod and sh.mod.
28397 (normal_SOURCES): New variable.
28398 (normal_mod_CFLAGS): Likewise.
28399 (normal_mod_LDFLAGS): Likewise.
28400 (sh_mod_SOURCES): Likewise.
28401 (sh_mod_CFLAGS): Likewise.
28402 (sh_mod_LDFLAGS): Likewise.
28403
28404 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
28405 script/sh/lexer.c_DEPENDENCIES.
28406 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
28407 kern/rescue_reader.c and kern/rescue_parser.c.
28408 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
28409 (grub_emu_SOURCES): Change source files.
28410 (pkglib_MODULES): Remove normal.mod.
28411 (normal_SOURCES): Removed.
28412 (normal_mod_CFLAGS): Likewise.
28413 (normal_mod_LDFLAGS): Likewise.
28414 * conf/i386-coreboot.rmk: Likewise.
28415 * conf/i386-efi.rmk: Likewise.
28416 * conf/i386-ieee1276.rmk: Likewise.
28417 * conf/powerpc-ieee1275.rmk: Likewise.
28418 * conf/sparc64-ieee1275.rmk: Likewise.
28419 * conf/x86_64-efi.rmk: Likewise.
28420
28421 * include/grub/command.h (grub_command_execute): New inline function.
28422
28423 * include/grub/menu.h (grub_menu_entry): Removed commands field.
28424
28425 * include/grub/normal.h: Remove <grub/setjmp.h>.
28426 (grub_fs_module_list): Moved to normal/autofs.c.
28427 (grub_exit_env): Removed.
28428 (grub_command_execute): Likewise.
28429 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
28430 parameter script.
28431 (read_command_list): New function declaration.
28432 (read_fs_list): Likewise.
28433
28434 * include/parser.h: Include <grub/reader.h>.
28435 (grub_parser_split_cmdline): Change type of getline parameter.
28436 (grub_parser): New structure.
28437 (grub_parser_class): New variable.
28438 (grub_parser_execute): New function declaration.
28439 (grub_register_rescue_parser): Likewise.
28440 (grub_parser_register): New inline function.
28441 (grub_parser_unregister): Likewise.
28442 (grub_parser_get_current): Likewise.
28443 (grub_parser_set_current): Likewise.
28444
28445 * include/grub/reader.h: New file.
28446 * kern/reader.c: Likewise.
28447 * kern/rescue_parser.c: Likewise.
28448 * kern/rescue_reader.c: Likewise.
28449 * normal/autofs.c: Likewise.
28450 * normal/dyncmd.c: Likewise.
28451
28452 * include/grub/rescue.h: Removed.
28453 * normal/command.h: Likewise.
28454
28455 * include/grub/script.h: Moved to ...
28456 * include/grub/script_sh.h: ... Moved here.
28457 * normal/execute.c: Moved to ...
28458 * script/sh/execute.c: ... Moved here.
28459 * normal/function.c: Moved to ...
28460 * script/sh/function.c: ... Moved here.
28461 * normal/lexer.c: Moved to ...
28462 * script/sh/lexer.c: ... Moved here.
28463 * normal/parser.y: Moved to ...
28464 * script/sh/parser.y: ... Moved here.
28465 * normal/script.c: Moved to ...
28466 * script/sh/script.c: ... Moved here.
28467
28468 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
28469 <grub/reader.h>.
28470 (grub_exit_env): Removed.
28471 (fs_module_list): Moved to normal/autofs.c.
28472 (grub_file_getline): Don't handle comment here.
28473 (free_menu): Skip removed field entry->commands.
28474 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
28475 script parameter.
28476 (read_config_file): Removed nested parameter, change getline function.
28477 (grub_enter_normal_mode): Removed.
28478 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
28479 (read_command_list): Likewise.
28480 (autoload_fs_module): Moved to normal/autofs.c.
28481 (read_fs_list): Likewise.
28482 (reader_nested): New variable.
28483 (grub_normal_execute): Run parser.sh to switch to sh parser.
28484 (grub_cmd_rescue): Removed.
28485 (cmd_normal): Removed.
28486 (grub_cmd_normal): Unregister itself at the beginning. Don't register
28487 rescue command.
28488 (grub_cmdline_run): New function.
28489 (grub_normal_reader_init): Likewise.
28490 (grub_normal_read_line): Likewise.
28491 (grub_env_write_pager): Likewise.
28492 (cmdline): New variable.
28493 (grub_normal_reader): Likewise.
28494 (GRUB_MOD_INIT): Register normal reader and set as current, register
28495 pager hook, register normal command with grub_register_command_prio,
28496 so that it won't show up in command.lst.
28497 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28498 grub_fs_autoload_hook.
28499
28500 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28501 (grub_menu_execute_entry): Replace grub_script_execute with
28502 grub_parser_execute, change parameter to grub_command_execute.
28503
28504 * normal/menu_text.c: Remove <grub/script.h>.
28505
28506 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28507 and <grub/parser.h>.
28508 (run): Change editor_getline to use new parser interface. Change
28509 parameter to grub_command_execute.
28510
28511 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28512 <grub/reader.h> and <grub/parser.h>.
28513 (grub_load_normal_mode): Execute normal command.
28514 (grub_main): Call grub_register_core_commands,
28515 grub_register_rescue_parser and grub_register_rescue_reader, use
28516 grub_reader_loop to enter input loop.
28517
28518 * kern/parser.c (grub_parser_split_cmdline): Change type of
28519 getline parameter.
28520 (grub_parser_class): New variable.
28521 (grub_parser_execute): New function.
28522
28523 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28524 * loader/multiboot2.c: Likewise.
28525 * loader/sparc64/ieee1275/linux.c: Likewise.
28526
28527 * util/grub-emu.c (read_command_list): New dummy function.
28528
28529 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28530
28531 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28532 count to 16 for CCISS and IDA.
28533
28534 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28535
28536 * normal/menu_text.c (grub_wait_after_message): Print a newline
28537 after waiting for user input.
28538
28539 * loader/i386/linux.c: Include `<grub/normal.h>'.
28540 (grub_cmd_linux): Improve the error message about `ask' mode, by
28541 waiting for user input so it's not missed (we can do this, since
28542 user requested interaction).
28543
28544 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28545
28546 Added missing lst to grub-mkrescue
28547
28548 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28549 and ${input_dir}/parttool.lst
28550
28551 2009-04-30 David S. Miller <davem@davemloft.net>
28552
28553 * util/hostdisk.c (device_is_wholedisk): New function.
28554 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28555 zero only if device_is_wholedisk() returns true.
28556
28557 * util/hostdisk.c (convert_system_partition_to_system_disk):
28558 Handle virtual disk devices named /dev/vdiskX as found on sparc
28559 and powerpc.
28560
28561 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28562 lettered partition specifier is found, convert to numbered.
28563
28564 2009-04-29 David S. Miller <davem@davemloft.net>
28565
28566 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28567 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28568
28569 * normal/command.c: Add missing newline at end of file.
28570
28571 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28572 warnings.
28573 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28574 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28575 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28576 ihandles have a 32-bit type but need to be stored in a "void *".
28577
28578 2009-04-28 Pavel Roskin <proski@gnu.org>
28579
28580 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28581 not disk. Adjust all dependencies.
28582 (grub_fs_uuid_close): Use grub_device_close(), not
28583 grub_disk_close().
28584
28585 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28586 parent's partition, don't copy it by reference, as it gets freed
28587 on close.
28588
28589 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28590
28591 Preboot hooks support
28592
28593 * commands/boot.c (struct grub_preboot_t): new declaration
28594 (preboots_head): new variable
28595 (preboots_tail): likewise
28596 (grub_loader_register_preboot_hook): new function
28597 (grub_loader_unregister_preboot_hook): likewise
28598 (grub_loader_set): launch preboot hooks
28599 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28600 (grub_loader_register_preboot_hook): new declaration
28601 (grub_loader_unregister_preboot_hook): likewise
28602
28603 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28604
28605 Warning fix
28606
28607 * disk/scsi.c (grub_scsi_open): added missing cast when
28608 calling grub_dprintf
28609
28610 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28611
28612 Bug and warning fixes
28613
28614 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
28615 declaration
28616 * commands/test.c (test_parse): fixed bug with file tests and corrected
28617 declaration of find_file
28618
28619 2009-04-26 Pavel Roskin <proski@gnu.org>
28620
28621 * Makefile.in: Don't install empty manual pages if help2man is
28622 missing. Use help2man option for output, not shell redirection.
28623
28624 2009-04-26 David S. Miller <davem@davemloft.net>
28625
28626 * util/grub-mkdevicemap.c (make_device_map): Add missing
28627 NESTED_FUNC_ATTR to process_device().
28628
28629 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28630
28631 Test command
28632
28633 * commands/test.c: rewritten to use bash-like test
28634
28635 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28636
28637 Parttool autoloading and improvements
28638
28639 * Makefile.in (pkglib_DATA): add parttool.lst
28640 (parttool.lst): new target
28641 * genmk.rb: generate parttool-*
28642 (CLEANFILES): add #{parttool}
28643 (PARTTOOLFILES): new variable
28644 * genparttoollist.sh: new file
28645 * parttool/pcpart.c (grub_pcpart_boot): more feedback
28646 (grub_pcpart_type): likewise
28647 * commands/parttool.c (helpmsg): new variable
28648 (grub_cmd_parttool): output help if not enough arguments are supplied
28649 autoload modules
28650 (GRUB_MOD_INIT(parttool)): use helpmsg
28651
28652 2009-04-24 David S. Miller <davem@davemloft.net>
28653
28654 Avoiding opening same device multiple times in device iterator.
28655
28656 * kern/device.c: (grub_device_iterate): Define struct part_ent,
28657 and use it to build a list of partitions in iterate_disk() and
28658 iterate_partition().
28659
28660 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28661 on disk->data.
28662
28663 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28664 grub_devalias_iterate() result instead of unconditional 0.
28665 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28666 Also, capture hook return value, either directly or via
28667 grub_children_iterate(), and propagate to caller.
28668 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
28669 grub_children_iterate): Return value is now 'int' instead of
28670 'grub_err_t'.
28671 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
28672 like a proper iterator, stopping when hooks return non-zero.
28673 (grub_devalias_iterate): Likewise.
28674
28675 2009-04-23 David S. Miller <davem@davemloft.net>
28676
28677 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
28678
28679 2009-04-22 David S. Miller <davem@davemloft.net>
28680
28681 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
28682 is larger than address_cells, use that value for address_cells too.
28683
28684 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
28685 IEEE1275_MAX_PATH_LEN): Define.
28686 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
28687 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
28688 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
28689 'devtype'. Explicitly NULL terminate devalias expansion.
28690
28691 * util/sparc64/ieee1275/misc.c: New file.
28692 * util/sparc64/ieee1275/grub-setup.c: New file.
28693 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
28694 * util/sparc64/ieee1275/grub-mkimage.c: New file.
28695 * util/sparc64/ieee1275/grub-install.in: New file.
28696 * util/ieee1275/ofpath.c: New file.
28697 * util/ieee1275/devicemap.c: New file.
28698 * util/devicemap.c: New file.
28699 * util/deviceiter.c: New file.
28700 * kern/sparc64/ieee1275/init.c: New file.
28701 * include/grub/util/ofpath.h: New file.
28702 * include/grub/util/deviceiter.h: New file.
28703 * util/grub-mkdevicemap.c: Include deviceiter.h.
28704 Implement using grub_util_emit_devicemap_entry and
28705 grub_util_iterate_devices.
28706 * conf/i386-corebook.rmk: Build util/deviceiter.c and
28707 util/devicemap.c into grub-mkdevicemap
28708 * conf/i386-efi.rmk: Likewise.
28709 * conf/i386-ieee1275.rmk: Likewise.
28710 * conf/i386-pc.rmk: Likewise.
28711 * conf/powerpc-ieee1275.rmk: Likewise.
28712 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
28713 images and installation utilities. Build kernel as image
28714 instead of as elf binary. Use common rules as much as possible.
28715
28716 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28717
28718 Correct GPT definition
28719
28720 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
28721 of "attrib" member
28722
28723 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
28724
28725 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
28726
28727 2009-04-19 David S. Miller <davem@davemloft.net>
28728
28729 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
28730 (grub_rescue_cmd_linux): Rename to...
28731 (grub_cmd_linux): and fix prototype.
28732 (grub_rescue_cmd_initrd): Rename to...
28733 (grub_cmd_initrd): and fix prototype.
28734 (cmd_linux, cmd_initrd): New.
28735 (GRUB_MOD_INIT(linux)): Use grub_register_command().
28736 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
28737
28738 2009-04-17 Pavel Roskin <proski@gnu.org>
28739
28740 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
28741 format.
28742 (grub_ohci_transfer): Likewise.
28743
28744 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
28745
28746 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
28747 return without a value. Fix inconsistent indentation.
28748
28749 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28750 match struct grub_fs.
28751
28752 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28753 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28754 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28755 * commands/lspci.c (grub_lspci_iter): Likewise.
28756
28757 2009-04-16 Bean <bean123ch@gmail.com>
28758
28759 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28760 value.
28761
28762 2009-04-15 Pavel Roskin <proski@gnu.org>
28763
28764 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28765 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28766 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28767 definitions.
28768
28769 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
28770
28771 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
28772 that no multiple data or metadata areas are supported and `Unknown
28773 metadata header'.
28774
28775 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
28776
28777 Move loader out of the kernel
28778
28779 * kern/loader.c: moved to ...
28780 * commands/boot.c: ... moved here
28781 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
28782 * commands/boot.c (grub_cmd_boot): moved here. All users updated
28783 * include/grub/kernel.h (grub_machine_fini): export
28784 * include/grub/loader.h (grub_loader_is_loaded): update declaration
28785 (grub_loader_set): likewise
28786 (grub_loader_unset): likewise
28787 (grub_loader_boot): likewise
28788 * conf/common.rmk: new module boot.mod
28789 (pkglib_MODULES): add boot.mod
28790 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
28791 (grub_emu_SOURCES): likewise
28792 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
28793 (grub_emu_SOURCES): likewise
28794 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
28795 (grub_emu_SOURCES): likewise
28796 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
28797 (grub_emu_SOURCES): likewise
28798 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
28799 (grub_emu_SOURCES): likewise
28800 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
28801 (grub_emu_SOURCES): likewise
28802 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
28803 (grub_emu_SOURCES): likewise
28804
28805 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
28806
28807 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
28808
28809 * kern/misc.c (grub_itoa): Removed function
28810 (grub_ltoa): likewise
28811 (grub_vsprintf): use grub_lltoa
28812
28813 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
28814
28815 Restore grub-emu
28816
28817 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
28818 * conf/i386-coreboot.rmk: likewise
28819 * conf/i386-ieee1275.rmk: likewise
28820 * conf/powerpc-ieee1275.rmk: likewise
28821
28822 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
28823
28824 * INSTALL: Add that `./autogen.sh' needs to be run before
28825 `./configure.'.
28826
28827 2009-04-14 Bean <bean123ch@gmail.com>
28828
28829 * Makefile.in (pkglib_DATA): Add handler.lst.
28830 (handler.lst): New rule.
28831
28832 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
28833 * conf/i386-coreboot.rmk: Likewise.
28834 * conf/i386-ieee1275.rmk: Likewise.
28835 * conf/i386-efi.rmk: Likewise.
28836 * conf/x86_64-efi.rmk: Likewise.
28837 * conf/powerpc-ieee1275.rmk: Likewise.
28838 * conf/sparc64-ieee1275.rmk: Likewise.
28839
28840 * genhandlerlist.sh: New file.
28841
28842 * genmk.rb: Add rules to generate handler.lst.
28843
28844 * include/grub/normal.h (grub_file_getline): New function definition.
28845 (read_handler_list): Likewise.
28846 (free_handler_list): Likewise.
28847
28848 * include/grub/term.h (grub_term_register_input): Add name parameter
28849 for auto generation of handler.lst.
28850 (grub_term_register_output): Likewise.
28851
28852 * normal/handler.c: New file.
28853
28854 * normal/main.c (get_line): Renamed to grub_file_getline.
28855 (read_config_file): Use the newly renamed grub_file_getline.
28856 (read_command_list): Likewise.
28857 (read_fs_list): Likewise.
28858 (grub_normal_execute): Call read_handler_list to parse handler.lst.
28859 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
28860
28861 * term/efi/console.c (grub_console_init): Add name parameter for auto
28862 generation of handler.lst.
28863 * term/gfxterm.c: Likewise.
28864 * term/i386/pc/at_keyboard.c: Likewise.
28865 * term/i386/pc/console.c: Likewise.
28866 * term/i386/pc/serial.c: Likewise.
28867 * term/i386/pc/vesafb.c: Likewise.
28868 * term/i386/pc/vga.c: Likewise.
28869 * term/i386/pc/vga_text.c: Likewise.
28870 * term/ieee1275/ofconsole.c: Likewise.
28871 * term/usb_keyboard.c: Likewise.
28872
28873 2009-04-14 Bean <bean123ch@gmail.com>
28874
28875 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
28876 properly with null character.
28877
28878 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
28879
28880 * configure: Remove.
28881 * config.h.in: Likewise.
28882 * stamp-h.in: Likewise.
28883 * DISTLIST: Likewise.
28884 * conf/common.mk: Likewise.
28885 * conf/i386-coreboot.mk: Likewise.
28886 * conf/i386-efi.mk: Likewise.
28887 * conf/i386-ieee1275.mk: Likewise.
28888 * conf/i386.mk: Likewise.
28889 * conf/i386-pc.mk: Likewise.
28890 * conf/powerpc-ieee1275.mk: Likewise.
28891 * conf/sparc64-ieee1275.mk: Likewise.
28892 * conf/x86_64-efi.mk: Likewise.
28893
28894 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
28895 develop on GRUB.
28896
28897 2009-04-14 John Stanley <jpsinthemix@verizon.net>
28898 David S. Miller <davem@davemloft.net>
28899
28900 * util/hostdisk.c (make_device_name): Fix buffer length
28901 calculations.
28902
28903 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
28904
28905 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
28906 <sys/param.h> and <sys/sysctl.h>.
28907 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
28908 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
28909 opening the device and reset them afterwards.
28910
28911 2009-04-13 Pavel Roskin <proski@gnu.org>
28912
28913 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
28914 Reported by John Stanley <jpsinthemix@verizon.net>
28915
28916 2009-04-13 Robert Millan <rmh@aybabtu.com>
28917
28918 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
28919 that name for menuentries when appropriate.
28920
28921 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
28922
28923 * util/grub.d/10_freebsd.in: Add a missing `fi'.
28924
28925 2009-04-13 Robert Millan <rmh@aybabtu.com>
28926
28927 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
28928 to Linux, simply abort telling the user it's no longer supported.
28929
28930 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
28931
28932 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
28933 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
28934 `freebsd_loadenv' only when devices.hints exist.
28935
28936 2009-04-13 Pavel Roskin <proski@gnu.org>
28937
28938 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
28939
28940 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
28941
28942 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
28943 partition number.
28944 (grub_drive): Likewise.
28945
28946 2009-04-13 David S. Miller <davem@davemloft.net>
28947
28948 * kern/sparc64/ieee1275/ieee1275.c: New file.
28949 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
28950 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
28951 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
28952 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
28953 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
28954 grub_ieee1275_alloc_physmem): Declare new exported functions.
28955
28956 * include/grub/sparc64/ieee1275/loader.h: New file.
28957 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28958 * include/grub/sparc64/kernel.h: Likewise.
28959 * loader/sparc64/ieee1275/linux.c: Likewise.
28960
28961 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
28962 (grub_fstest_SOURCES): Likewise.
28963
28964 * util/hostdisk.c (make_device_name): Do not make any assumptions
28965 about the length of drive names.
28966
28967 * kern/dl.c (grub_dl_load_file): Close file immediately when
28968 we are done using it.
28969
28970 2009-04-12 David S. Miller <davem@davemloft.net>
28971
28972 * kern/misc.c (grub_ltoa): Fix cast when handling negative
28973 values. Noticed by Pavel Roskin.
28974
28975 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
28976 target compiler.
28977
28978 * genmk.rb: Add more flexible image type specification, also
28979 pass --strip-unneeded to objcopy.
28980 * conf/i386-pc.rmk: Use *_FORMAT.
28981 * conf/i386-pc.mk: Rebuilt.
28982
28983 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
28984 (OFDISK_HASH_SZ): Define.
28985 (ofdisk_hash): New hash table.
28986 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
28987 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
28988 instead of device phandle which is not unique.
28989
28990 * kern/sparc64/ieee1275/init.c: Delete, replace with...
28991 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
28992 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
28993 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
28994 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
28995 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
28996 GRUB_KERNEL_MACHINE_DATA_END): Define.
28997 (grub_kernel_image_size, grub_total_module_size): Declare.
28998
28999 2009-04-12 Pavel Roskin <proski@gnu.org>
29000
29001 * configure.ac: Change the logic when we check for target tools.
29002 Do it when the target is specified and it's different from the
29003 specified value of the host.
29004
29005 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
29006
29007 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
29008 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
29009 GNU/kFreeBSD. Check if a device is a character device. Use
29010 DIOCGMEDIASIZE to get the size.
29011 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
29012 support for GNU/kFreeBSD.
29013 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
29014 is a character device instead of a block device. Add support for
29015 FreeBSD device names.
29016
29017 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
29018 is a character device instead of a block device.
29019
29020 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
29021 is a character device instead of a block device.
29022
29023 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
29024
29025 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
29026 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
29027 FreeBSD. Check if a device is a character device. Use
29028 DIOCGMEDIASIZE to get the size.
29029 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
29030 support for FreeBSD.
29031 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
29032 is a character device instead of a block device. Add support for
29033 FreeBSD device names.
29034
29035 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
29036 a character device instead of a block device.
29037 (grub_util_check_char_device): New function.
29038
29039 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
29040 a character device instead of a block device.
29041
29042 * include/grub/util/getroot.h (grub_util_check_char_device): New
29043 prototype.
29044
29045 2009-04-11 David S. Miller <davem@davemloft.net>
29046
29047 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
29048 static libgcc.
29049 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
29050 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
29051 function, if present.
29052 (__bswapdi2): Likewise.
29053
29054 * include/grub/sparc64/ieee1275/boot.h: New file.
29055 * boot/sparc64/ieee1275/boot.S: Likewise.
29056 * boot/sparc64/ieee1275/diskboot.S: Likewise.
29057
29058 * kern/misc.c (grub_ltoa): New function.
29059 (grub_vsprintf): Use it to format 'long' integers.
29060
29061 2009-04-10 David S. Miller <davem@davemloft.net>
29062
29063 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
29064 slots are of type grub_ieee1275_cell_t.
29065 (grub_nand_read): Likewise.
29066 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
29067 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
29068 macros are used to compare values in arg/ret block of the call.
29069 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
29070 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
29071 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
29072 grub_ieee1275_instance_to_path, grub_ieee1275_write,
29073 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
29074 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
29075 grub_ieee1275_close, grub_ieee1275_set_property,
29076 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
29077 grub_ieee1275_cell_t.
29078 * kern/ieee1275/openfw.c (grub_map): Likewise.
29079 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
29080 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
29081
29082 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
29083 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
29084 (grub_devalias_iterate): Likewise.
29085
29086 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29087
29088 UFS improvements
29089
29090 * fs/ufs.c (INODE_NBLOCKS): new definition
29091 (struct grub_ufs_dirent): added fields for non-BSD dirents
29092 (grub_ufs_get_file_block): fixed double indirect handling
29093 (grub_ufs_lookup_symlink): use more robust way to determine whether
29094 symlink is inline
29095 (grub_ufs_find_file): support for non-BSD dirents
29096 (grub_ufs_dir): support for non-BSD dirents
29097
29098 2009-04-10 Bean <bean123ch@gnail.com>
29099
29100 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
29101 attribute, otherwise the size would be wrong for i386 platform.
29102
29103 * include/grub/pci.h (grub_pci_read_word): New inline function.
29104 (grub_pci_read_byte): Likewise.
29105 (grub_pci_write): Likewise.
29106 (grub_pci_write_word): Likewise.
29107 (grub_pci_write_byte): Likewise.
29108
29109 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
29110
29111 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
29112 (find_framebuf): Scan pci to locate the frame buffer address.
29113
29114 * commands/efi/fixvideo.c: New file.
29115
29116 * commands/efi/loadbios.c: Likewise.
29117
29118 * commands/memrw.c: Likewise.
29119
29120 * util/grub-dumpbios.in: Likewise.
29121
29122 * conf/common.rmk (grub-dumpbios): New utility.
29123 (pkglib_MODULES): New module memrw.mod.
29124 (memrw_mod_SOURCE): New macro.
29125 (memrw_mod_CFLAGS): Likewise.
29126 (memrw_mod_LDFLAGS): Likewise.
29127
29128 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
29129 fixvideo.mod.
29130 (loadbios_mod_SOURCE): New macro.
29131 (loadbios_mod_CFLAGS): Likewise.
29132 (loadbios_mod_LDFLAGS): Likewise.
29133 (fixvideo_mod_SOURCE): Likewise.
29134 (fixvideo_mod_CFLAGS): Likewise.
29135 (fixvideo_mod_LDFLAGS): Likewise.
29136
29137 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
29138 fixvideo.mod.
29139 (loadbios_mod_SOURCE): New macro.
29140 (loadbios_mod_CFLAGS): Likewise.
29141 (loadbios_mod_LDFLAGS): Likewise.
29142 (fixvideo_mod_SOURCE): Likewise.
29143 (fixvideo_mod_CFLAGS): Likewise.
29144 (fixvideo_mod_LDFLAGS): Likewise.
29145
29146 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
29147
29148 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
29149
29150 2009-04-07 David S. Miller <davem@davemloft.net>
29151
29152 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
29153 support for R_SPARC_OLO10 relocations. Fix compile warning for
29154 R_SPARC_WDISP30 case.
29155 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
29156
29157 2009-04-06 Pavel Roskin <proski@gnu.org>
29158
29159 * include/grub/misc.h (ARRAY_SIZE): New macro.
29160 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
29161 New macro.
29162 * loader/i386/linux.c (allocate_pages): Use free_pages().
29163 (grub_linux_unload): Don't use free_pages().
29164 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
29165 wrong index. Treat all other modes as text modes.
29166 (grub_cmd_linux): Initialize vid_mode unconditionally to
29167 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
29168
29169 * commands/help.c (print_command_help): Use cmd->prio, not
29170 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
29171
29172 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
29173
29174 Parttool
29175
29176 * parttool/pcpart.c: new file
29177 * commands/parttool.c: likewise
29178 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
29179 (parttool_mod_SOURCES): new variable
29180 (parttool_mod_CFLAGS): likewise
29181 (parttool_mod_LDFLAGS): likewise
29182 (pcpart_mod_SOURCES): likewise
29183 (pcpart_mod_CFLAGS): likewise
29184 (pcpart_mod_LDFLAGS): likewise
29185 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
29186 and parttool/pcpart.c
29187 * conf/i386-efi.rmk: likewise
29188 * conf/i386-ieee1275.rmk: likewise
29189 * conf/i386-pc.rmk: likewise
29190 * conf/powerpc-ieee1275.rmk: likewise
29191 * conf/sparc64-ieee1275.rmk: likewise
29192 * conf/x86_64-ieee1275.rmk: likewise
29193
29194 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29195
29196 Support for mtime and further expandability of dir command
29197
29198 * include/grub/lib/datetime.h: moved to ...
29199 * include/grub/datetime.h: ... moved here and added
29200 declaration of grub_unixtime2datetime. All users updated
29201 * include/grub/fs.h: new syntax for dir and mtime functions in
29202 struct grub_fs
29203 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
29204 and GRUB_FSHELP_FLAGS_MASK
29205 * commands/ls.c (grub_ls_list_files): Write mtime in long format
29206 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
29207 (grub_ext2_mtime): new function
29208 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
29209 (grub_hfsplus_mtime): new function
29210 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
29211 (GRUB_UFS_ATTR_FILE): likewise
29212 (GRUB_UFS_ATTR_LNK): likewise
29213 (struct grub_ufs_sblock): new fields mtime
29214 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
29215 all users updated
29216 (grub_ufs_dir): mtime support
29217 (grub_ufs_mtime): new function
29218 * fs/affs.c (grub_affs_dir): use new dir syntax
29219 * fs/afs.c (grub_afs_dir): likewise
29220 * fs/cpio.c (grub_cpio_dir): likewise
29221 * fs/fat.c (grub_fat_find_dir): likewise
29222 * fs/hfs.c (grub_hfs_dir): likewise
29223 * fs/iso9660.c (grub_iso9660_dir): likewise
29224 * fs/jfs.c (grub_jfs_dir): likewise
29225 * fs/minix.c (grub_minix_dir): likewise
29226 * fs/ntfs.c (grub_ntfs_dir): likewise
29227 * fs/reiserfs.c (grub_reiserfs_dir): likewise
29228 * fs/sfs.c (grub_sfs_dir): likewise
29229 * fs/xfs.c (grub_xfs_dir): likewise
29230 * util/hostfs.c (grub_hostfs_dir): likewise
29231 * lib/datetime.c: moved to ...
29232 * normal/datetime.c: ... moved here
29233 (grub_unixtime2datetime): new function
29234 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
29235 * normal/completion.c (iterate_dir): use new dir syntax
29236 * normal/misc.c (grub_normal_print_device_info): tell the
29237 last modification time of a volume
29238 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
29239 * conf/common.rmk: added lib/datetime.c to ls.mod
29240 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
29241 (normal_mod_SOURCES): likewise
29242 (datetime_mod_SOURCES): Removed lib/datetime.c
29243 * conf/i386-efi.rmk: likewise
29244 * conf/i386-ieee1275.rmk: likewise
29245 * conf/i386-pc.rmk: likewise
29246 * conf/powerpc-ieee1275.rmk: likewise
29247 * conf/sparc64-ieee1275.rmk: likewise
29248 * conf/x86_64-efi.rmk: likewise
29249
29250 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29251
29252 Trim trailing spaces in FAT label and support mtools-like labels
29253
29254 * fs/fat.c (grub_fat_iterate_dir): New function based
29255 on grub_fat_find_dir
29256 (grub_fat_find_dir): use grub_fat_iterate_dir
29257 (grub_fat_label): likewise
29258
29259 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29260
29261 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
29262 and command.h
29263 remove extraneous kernel_elf_HEADERS
29264
29265 2009-04-04 Bean <bean123ch@gnail.com>
29266
29267 * include/grub/util/misc.h: Add dummy function fsync for mingw.
29268
29269 * util/misc.c: Likewise.
29270
29271 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29272
29273 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
29274 instead of grub_printf.
29275
29276 2009-04-03 Robert Millan <rmh@aybabtu.com>
29277
29278 * loader/i386/linux.c (grub_linux_setup_video): Fill
29279 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
29280 values from `mode info' structure instead of hardcoded
29281 values.
29282
29283 2009-04-01 Pavel Roskin <proski@gnu.org>
29284
29285 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
29286 unused now.
29287 * genmk.rb: Likewise.
29288 * configure.ac: Likewise.
29289
29290 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
29291
29292 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
29293 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
29294
29295 2009-04-01 David S. Miller <davem@davemloft.net>
29296
29297 * normal/sparc64/setjmp.S: Fix setjmp implementation.
29298 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
29299 (grub_setjmp): Mark with 'returns_twice' attribute.
29300 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
29301 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
29302 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
29303
29304 2009-04-01 Robert Millan <rmh@aybabtu.com>
29305
29306 Reapply fix from 2008-07-28 which was accidentally reverted; also
29307 perform the same fix to a similar check in same function.
29308
29309 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29310 with the same number are found, just use issue a warning with
29311 grub_dprintf(), as this error has been reported to be non-fatal.
29312
29313 2009-03-31 Pavel Roskin <proski@gnu.org>
29314
29315 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
29316 for cross-compilation.
29317
29318 2009-03-30 Robert Millan <rmh@aybabtu.com>
29319
29320 Fix i386-ieee1275 build.
29321
29322 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
29323 Remove declaration.
29324
29325 2009-03-30 Pavel Roskin <proski@gnu.org>
29326
29327 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
29328 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
29329 zero-terminated, rely only on the strlen value. Fix comparison
29330 of strings differing in length.
29331
29332 2009-03-30 Robert Millan <rmh@aybabtu.com>
29333
29334 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
29335 checking for abi version. Improve error messages on BIOS to notify
29336 user about `linux16' command.
29337
29338 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
29339
29340 Leak fixes
29341
29342 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
29343 in case of collision
29344 * disk/scsi.c (grub_scsi_open): free scsi in case of error
29345
29346 2009-03-29 Robert Millan <rmh@aybabtu.com>
29347
29348 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
29349 set `vid_mode' accordingly.
29350 (grub_linux_boot): Process `vid_mode' and set video mode.
29351
29352 2009-03-29 Robert Millan <rmh@aybabtu.com>
29353
29354 * util/grub.d/10_linux.in (linux_entry): New function.
29355 Factorize generation of Linux boot entries.
29356
29357 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
29358
29359 Make the format of Environment Block plain text. The boot loader
29360 part is not tested well yet.
29361
29362 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
29363 (buffer): Removed.
29364 (envblk): Likewise.
29365 (usage): Remove "info" and "clear". Add "unset". Update the
29366 description of "set", as this does not delete variables any
29367 longer.
29368 (create_envblk_file): Complete rewrite.
29369 (open_envblk_file): Likewise.
29370 (cmd_info): Removed.
29371 (cmd_list): Likewise.
29372 (cmd_set): Likewise.
29373 (cmd_clear): Likewise.
29374 (list_variables): New function.
29375 (write_envblk): Likewise.
29376 (set_variables): Likewise.
29377 (unset_variables): Likewise.
29378 (main): Complete rewrite.
29379
29380 * commands/loadenv.c (buffer): Removed.
29381 (envblk): Likewise.
29382 (open_envblk_file): New function.
29383 (read_envblk_file): Complete rewrite.
29384 (grub_cmd_load_env): Likewise.
29385 (grub_cmd_list_env): Likewise.
29386 (struct blocklist): New struct.
29387 (free_blocklists): New function.
29388 (check_blocklists): Likewise.
29389 (write_blocklists): Likewise.
29390 (grub_cmd_save_env): Complete rewrite.
29391
29392 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
29393 a plain text signature.
29394 (GRUB_ENVBLK_MAXLEN): Removed.
29395 (struct grub_envblk): Complete rewrite.
29396 (grub_envblk_find): Removed.
29397 (grub_envblk_insert): Likewise.
29398 (grub_envblk_open): New prototype.
29399 (grub_envblk_set): Likewise.
29400 (grub_envblk_delete): Put const to VALUE.
29401 (grub_envblk_iterate): Put const to NAME and VALUE.
29402 (grub_envblk_close): New prototype.
29403 (grub_envblk_buffer): New inline function.
29404 (grub_envblk_size): Likewise.
29405
29406 * lib/envblk.c: Include grub/mm.h.
29407 (grub_env_find): Removed.
29408 (grub_envblk_open): New function.
29409 (grub_envblk_close): Likewise.
29410 (escaped_value_len): Likewise.
29411 (find_next_line): Likewise.
29412 (grub_envblk_insert): Removed.
29413 (grub_envblk_set): New function.
29414 (grub_envblk_delete): Complete rewrite.
29415 (grub_envblk_iterate): Likewise.
29416
29417 2009-03-28 Robert Millan <rmh@aybabtu.com>
29418
29419 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
29420 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
29421 variables. Use 16-bit loader.
29422 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
29423 loader.
29424 * kern/i386/loader.S (grub_linux_boot): Rename to ...
29425 (grub_linux16_boot): ... this. Update all users.
29426 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
29427 (grub_linux_boot): ... this. Update all users.
29428
29429 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
29430 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
29431 commands to `linux16' and `initrd16'.
29432 (GRUB_MOD_FINI(linux)): Rename to ...
29433 (GRUB_MOD_FINI(linux16)): ... this.
29434
29435 2009-03-24 Pavel Roskin <proski@gnu.org>
29436
29437 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
29438 not just for compilation.
29439
29440 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
29441
29442 Move multiboot helper out of kernel
29443
29444 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
29445 `loader/i386/multiboot_helper.S'.
29446 * conf/i386-coreboot.rmk: Likewise
29447 * conf/i386-ieee1275.rmk: Likewise
29448
29449 * kern/i386/loader.S: Move multiboot helpers from here...
29450 * loader/i386/multiboot_helper.S: ...moved here
29451 * include/grub/i386/loader.h: Move declarations of multiboot
29452 helpers from here...
29453 * include/grub/i386/multiboot.h: ...moved here
29454 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
29455
29456 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29457
29458 * kern/env.c (grub_env_context_open): Added an argument to specify
29459 whether a new context inherits exported variables from current
29460 one. This is useful when making a sandbox to interpret a config
29461 file.
29462 All callers updated.
29463
29464 * include/grub/env.h (grub_env_context_open): Updated the prototype.
29465
29466 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29467
29468 * kern/env.c (grub_env_context_close): Fix memory leaks.
29469
29470 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29471
29472 * normal/main.c (grub_normal_execute): Added an argument
29473 BATCH to specify if an interactive interface should be provided
29474 after reading a config file.
29475 All callers updated.
29476 (read_command_list): Prevent being executed twice.
29477 (read_fs_list): Likewise.
29478
29479 * include/grub/normal.h (grub_normal_execute): Updated the
29480 prototype.
29481
29482 2009-03-22 Pavel Roskin <proski@gno.org>
29483
29484 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
29485 _start.
29486 * kern/i386/pc/startup.S: Likewise.
29487 * kern/i386/efi/startup.S: Likewise.
29488 * kern/i386/ieee1275/startup.S: Likewise.
29489 * kern/i386/coreboot/startup.S: Likewise.
29490 * kern/x86_64/efi/startup.S: Likewise.
29491
29492 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
29493 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
29494 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
29495
29496 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29497
29498 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29499
29500 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29501 limit detection.
29502 Use vaddr of correct segment for entry_point.
29503
29504 2009-03-21 Bean <bean123ch@gmail.com>
29505
29506 * commands/blocklist.c: Add include file <grub/command.h>, remove
29507 <grub/normal.h> and <grub/arg.h>.
29508 (grub_cmd_blocklist): Use the new command interface.
29509 (GRUB_MOD_INIT): Likewise.
29510 (GRUB_MOD_FINI): Likewise.
29511 * commands/boot.c: Likewise.
29512 * commands/cat.c: Likewise.
29513 * commands/cmp.c: Likewise.
29514 * commands/configfile.c: Likewise.
29515 * commands/crc.c: Likewise.
29516 * commands/echo.c: Likewise.
29517 * commands/halt.c: Likewise.
29518 * commands/handler.c: Likewise.
29519 * commands/hdparm.c: Likewise.
29520 * commands/help.c: Likewise.
29521 * commands/hexdump.c: Likewise.
29522 * commands/loadenv.c: Likewise.
29523 * commands/ls.c: Likewise.
29524 * commands/lsmmap.c: Likewise.
29525 * commands/lspci.c: Likewise.
29526 * commands/loadenv.c: Likewise.
29527 * commands/read.c: Likewise.
29528 * commands/reboot.c: Likewise.
29529 * commands/search.c: Likewise.
29530 * commands/sleep.c: Likewise.
29531 * commands/test.c: Likewise.
29532 * commands/usbtest.c: Likewise.
29533 * commands/videotest.c: Likewise.
29534 * commands/i386/cpuid.c: Likewise.
29535 * commands/i386/pc/halt.c: Likewise.
29536 * commands/i386/pc/play.c: Likewise.
29537 * commands/i386/pc/pxecmd.c: Likewise.
29538 * commands/i386/pc/vbeinfo.c: Likewise.
29539 * commands/i386/pc/vbetest.c: Likewise.
29540 * commands/ieee1275/suspend.c: Likewise.
29541 * disk/loopback.c: Likewise.
29542 * font/font_cmd.c: Likewise.
29543 * hello/hello.c: Likewise.
29544 * loader/efi/appleloader.c: Likewise.
29545 * loader/efi/chainloader.c: Likewise.
29546 * loader/i386/bsd.c: Likewise.
29547 * loader/i386/efi/linux.c: Likewise.
29548 * loader/i386/ieee1275/linux.c: Likewise.
29549 * loader/i386/linux.c: Likewise.
29550 * loader/i386/pc/chainloader.c: Likewise.
29551 * loader/i386/pc/linux.c: Likewise.
29552 * loader/powerpc/ieee1275/linux.c: Likewise.
29553 * loader/multiboot_loader.c: Likewise.
29554 * term/gfxterm.c: Likewise.
29555 * term/i386/pc/serial.c: Likewise.
29556 * term/terminfo.c: Likewise.
29557
29558 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29559 * term/i386/pc/vga.c: Likewise.
29560 * video/readers/jpeg.c: Likewise.
29561 * video/readers/png.c: Likewise.
29562 * video/readers/tga.c: Likewise.
29563
29564 * util/grub-fstest (cmd_loopback): Removed.
29565 (cmd_blocklist): Likewise.
29566 (cmd_ls): Likewise.
29567 (grub_register_command): Likewise.
29568 (grub_unregister_command): Likewise.
29569 (execute_command): Use grub_command_find to locate command and execute
29570 it.
29571
29572 * include/grub/efi/chainloader.h: Removed.
29573 * loader/efi/chainloader_normal.c: Likewise.
29574 * loader/i386/bsd_normal.c: Likewise.
29575 * loader/i386/pc/chainloader_normal.c: Likewise.
29576 * loader/i386/pc/multiboot_normal.c: Likewise.
29577 * loader/linux_normal.c: Likewise.
29578 * loader/multiboot_loader_normal.c: Likewise.
29579 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29580
29581 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29582 and grub_register_command_p1.
29583
29584 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29585 kern/command.c, lib/arg.c and commands/extcmd.c.
29586 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29587 (minicmd_mod_SOURCES): New variable.
29588 (minicmd_mod_CFLAGS): Likewise.
29589 (minicmd_mod_LDFLAGS): Likewise.
29590 (extcmd_mod_SOURCES): Likewise.
29591 (extcmd_mod_CFLAGS): Likewise.
29592 (extcmd_mod_LDFLAGS): Likewise.
29593 (boot_mod_SOURCES): Removed.
29594 (boot_mod_CFLAGS): Likewise.
29595 (boot_mod_LDFLAGS): Likewise.
29596
29597 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29598 kern/corecmd.c.
29599 (kernel_img_HEADERS): Add command.h.
29600 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29601 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29602 and lib/arg.c.
29603 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29604 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29605 remove the corresponding normal mode command.
29606 (normal_mod_SOURCES): Remove normal/arg.c.
29607 * conf/i386-coreboot.rmk: Likewise.
29608 * conf/i386-efi.rmk: Likewise.
29609 * conf/i386-ieee1275.rmk: Likewise.
29610 * conf/powerpc-ieee1275.rmk: Likewise.
29611 * conf/x86_64-efi.rmk: Likewise.
29612
29613 * include/grub/arg.h: Move from here ...
29614 * include/grub/lib/arg.h: ... to here.
29615
29616 * normal/arg.c: Move from here ...
29617 * lib/arg.c: ... to here.
29618
29619 * commands/extcmd.c: New file.
29620 * commands/minicmd.c: Likewise.
29621 * include/grub/command.h: Likewise.
29622 * include/grub/extcmd.h: Likewise.
29623 * kern/command.c: Likewise.
29624 * kern/corecmd.c: Likewise.
29625
29626 * kern/list.c (grub_list_iterate): Return int instead of void.
29627 (grub_list_insert): New function.
29628 (grub_prio_list_insert): Likewise.
29629
29630 * kern/rescue.c (grub_rescue_command): Removed.
29631 (grub_rescue_command_list): Likewise.
29632 (grub_rescue_register_command): Likewise.
29633 (grub_rescue_unregister_command): Likewise.
29634 (grub_rescue_cmd_boot): Move to minicmd.c
29635 (grub_rescue_cmd_help): Likewise.
29636 (grub_rescue_cmd_info): Likewise.
29637 (grub_rescue_cmd_boot): Likewise.
29638 (grub_rescue_cmd_testload): Likewise.
29639 (grub_rescue_cmd_dump): Likewise.
29640 (grub_rescue_cmd_rmmod): Likewise.
29641 (grub_rescue_cmd_lsmod): Likewise.
29642 (grub_rescue_cmd_exit): Likewise.
29643 (grub_rescue_print_devices): Moved to corecmd.c.
29644 (grub_rescue_print_files): Likewise.
29645 (grub_rescue_cmd_ls): Likewise.
29646 (grub_rescue_cmd_insmod): Likewise.
29647 (grub_rescue_cmd_set): Likewise.
29648 (grub_rescue_cmd_unset): Likewise.
29649 (attempt_normal_mode): Use grub_command_find to get normal module.
29650 (grub_enter_rescue_mode): Use grub_register_core_commands to register
29651 commands, remove grub_rescue_register_command calls.
29652
29653 * normal/command.c (grub_register_command): Removed.
29654 (grub_unregister_command): Likewise.
29655 (grub_command_find): Likewise.
29656 (grub_iterate_commands): Likewise.
29657 (rescue_command): Likewise.
29658 (export_command): Moved to corecmd.c.
29659 (set_command): Removed.
29660 (unset_command): Likewise.
29661 (insmod_command): Likewise.
29662 (rmmod_command): Likewise.
29663 (lsmod_command): Likewise.
29664 (grub_command_init): Likewise.
29665
29666 * normal/completion.c (iterate_command): Use cmd->prio to check for
29667 active command.
29668 (complete_arguments): Use grub_extcmd_t structure to find options.
29669 (grub_normal_do_completion): Change function grub_iterate_commands to
29670 grub_command_iterate.
29671
29672 * normal/execute.c (grub_script_execute_cmd): No need to parse
29673 argument here.
29674
29675 * normal/main.c (grub_dyncmd_dispatcher): New function.
29676 (read_command_list): Register unload commands as dyncmd.
29677 (grub_cmd_normal): Use new command interface, register rescue,
29678 unregister normal at entry, register normal, unregister rescue at exit.
29679
29680 * include/grub/list.h (grub_list_test_t): New type.
29681 (grub_list_iterate): Return int instead of void.
29682 (grub_list_insert): New function.
29683 (GRUB_AS_NAMED_LIST_P): New macro.
29684 (GRUB_AS_PRIO_LIST): Likewise.
29685 (GRUB_AS_PRIO_LIST_P): Likewise.
29686 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
29687 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
29688 (grub_prio_list): New structure.
29689 (grub_prio_list_insert): New function.
29690 (grub_prio_list_remove): New inline function.
29691
29692 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
29693 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
29694 (GRUB_COMMAND_FLAG_MENU): Likewise.
29695 (GRUB_COMMAND_FLAG_BOTH): Likewise.
29696 (GRUB_COMMAND_FLAG_TITLE): Likewise.
29697 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
29698 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
29699 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
29700 (grub_command): Likewise.
29701 (grub_register_command): Likewise.
29702 (grub_command_find): Likewise.
29703 (grub_iterate_commands): Likewise.
29704 (grub_command_init): Likewise.
29705 (grub_arg_parse): Likewise.
29706 (grub_arg_show_help): Likewise.
29707
29708 * include/grub/rescue.h (grub_rescue_register_command): Removed.
29709 (grub_rescue_unregister_command): Likewise.
29710
29711 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
29712 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
29713 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
29714
29715 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
29716 grub_rescue_cmd_initrd.
29717 * include/grub/i386/loader.h: Likewise.
29718 * include/grub/x86_64/loader.h: Likewise.
29719
29720 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
29721
29722 2009-03-21 Bean <bean123ch@gmail.com>
29723
29724 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
29725 instead of stat in mingw environment.
29726
29727 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
29728
29729 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
29730
29731 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
29732 AC_CONFIG_LINKS.
29733
29734 2009-03-21 Bean <bean123ch@gmail.com>
29735
29736 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
29737 out of range error.
29738
29739 2009-03-18 Michel Dänzer <michel@daenzer.net>
29740
29741 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
29742 checking inode flags for EXT4_EXTENTS_FLAG.
29743
29744 2009-03-18 Robert Millan <rmh@aybabtu.com>
29745
29746 * loader/i386/linux.c: Include `<grub/video.h>' and
29747 `<grub/i386/pc/vbe.h>'..
29748 (grub_linux_setup_video): New function. Loosely based on the EFI one.
29749 (grub_linux32_boot): Attempt to configure video settings with
29750 grub_linux_setup_video().
29751 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29752 to avoid grub_console_fini() which would step out of graphical mode
29753 unconditionally.
29754
29755 2009-03-14 Robert Millan <rmh@aybabtu.com>
29756
29757 Fix build on powerpc.
29758 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29759
29760 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29761
29762 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29763 background image command.
29764
29765 2009-03-12 Colin D Bennett <colin@gibibit.com>
29766
29767 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29768 (grub_gfxterm_putchar): Extract pairs of identical calls to
29769 draw_cursor out of conditional blocks.
29770
29771 2009-03-11 Pavel Roskin <proski@gnu.org>
29772
29773 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29774 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29775
29776 2009-03-11 Robert Millan <rmh@aybabtu.com>
29777
29778 * loader/i386/multiboot_elfxx.c
29779 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
29780
29781 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
29782
29783 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
29784 `kern/handler.c'.
29785
29786 2009-03-11 Robert Millan <rmh@aybabtu.com>
29787
29788 * loader/i386/multiboot.c (code_size): New variable.
29789 (grub_multiboot): Define offsets by adding to `code_size' rather
29790 than subtracting from `grub_multiboot_payload_size'. Provide
29791 4-byte alignment to MBI and others by increasing
29792 `boot_loader_name_length' appropriately.
29793
29794 * loader/i386/multiboot_elfxx.c
29795 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
29796
29797 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
29798
29799 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
29800 `fs/ext2.c'.
29801
29802 2009-03-08 Robert Millan <rmh@aybabtu.com>
29803
29804 Make loader/i386/linux.c usable on i386-pc again.
29805
29806 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
29807 memory to heap.
29808 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
29809 `#error' stanza.
29810
29811 2009-03-07 Bean <bean123ch@gmail.com>
29812
29813 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
29814 allocation.
29815
29816 2009-03-06 Robert Millan <rmh@aybabtu.com>
29817
29818 Fix display issue on terminals with screen size other than 80x25
29819 (e.g. gfxterm with resolution higher than 640x480).
29820
29821 * normal/main.c (grub_normal_init_page): Display title text in a
29822 position relative to the center of the terminal instead of relying
29823 on a hardcoded offset.
29824
29825 2009-03-04 Robert Millan <rmh@aybabtu.com>
29826
29827 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
29828 installed.
29829
29830 * Makefile.in (host_kernel): New variable.
29831 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
29832 scripts instead of just the windows one.
29833 * configure.ac: Initialize and AC_SUBST `host_kernel'.
29834
29835 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
29836
29837 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
29838 `kern/handler.c'.
29839 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29840 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29841 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29843 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29844 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29845
29846 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
29847
29848 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
29849 or if there's no space for the disk label and print the partition number on a
29850 invalid magic.
29851
29852 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
29853
29854 * util/misc.c: Include <time.h>.
29855 (grub_millisleep): New function.
29856
29857 2009-03-04 Bean <bean123ch@gmail.com>
29858
29859 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
29860 another option -mno-red-zone.
29861
29862 * commands/handler.c: Change module description.
29863
29864 * kern/handler.c: Add missing space at the end of description line.
29865
29866 * kern/list.c: Likewise.
29867
29868 2009-03-03 Robert Millan <rmh@aybabtu.com>
29869
29870 Move more components to the relocation area, and fix mbi pointer
29871 handling to use the destination rather than the origin (thanks to
29872 Vladimir Serbinenko for spotting).
29873
29874 * loader/i386/multiboot.c (mbi_dest): New variable.
29875 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
29876 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
29877 relocation area.
29878
29879 2009-03-01 Bean <bean123ch@gmail.com>
29880
29881 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
29882 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
29883 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
29884 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
29885
29886 * loader/i386/efi/linux.c (acpi_guid): New variable.
29887 (acpi_guid): Likewise.
29888 (EBDA_SEG_ADDR): New constant.
29889 (LOW_MEM_ADDR): Likewise.
29890 (FAKE_EBDA_SEG): Likewise.
29891 (fake_bios_data): New function.
29892 (grub_linux_boot): Call fake_bios_data.
29893
29894 2009-03-01 Bean <bean123ch@gmail.com>
29895
29896 * commands/terminal.c: Removed.
29897
29898 * commands/handler.c: New file.
29899
29900 * include/grub/list.h: Likewise.
29901
29902 * include/grub/handler.h: Likewise.
29903
29904 * kern/list.c: Likewise.
29905
29906 * kern/handler.c: Likewise.
29907
29908 * kern/term.h: Include header file <grub/handler.h>.
29909 (grub_term_input): Move next field to the beginning.
29910 (grub_term_output): Likewise.
29911 (grub_term_input_class): New variable.
29912 (grub_term_output_class): Likewise.
29913 (grub_term_register_input): Changed to inline function.
29914 (grub_term_register_output): Likewise.
29915 (grub_term_unregister_input): Likewise.
29916 (grub_term_unregister_output): Likewise.
29917 (grub_term_set_current_input): Likewise.
29918 (grub_term_set_current_output): Likewise.
29919 (grub_term_get_current_input): Likewise.
29920 (grub_term_get_current_output): Likewise.
29921 (grub_term_iterate_input): Removed.
29922 (grub_term_iterate_output): Likewise.
29923
29924 * kern/term.c (grub_term_list_input): Removed.
29925 (grub_term_list_output): Likewise.
29926 (grub_term_input_class): New variable.
29927 (grub_term_output_class): Likewise.
29928 (grub_cur_term_input): Change variable as macro.
29929 (grub_cur_term_output): Likewise.
29930 (grub_term_register_input): Removed.
29931 (grub_term_register_output): Likewise.
29932 (grub_term_unregister_input): Likewise.
29933 (grub_term_unregister_output): Likewise.
29934 (grub_term_set_current_input): Likewise.
29935 (grub_term_set_current_output): Likewise.
29936 (grub_term_iterate_input): Likewise.
29937 (grub_term_iterate_output): Likewise.
29938 (grub_term_get_current_input): Likewise.
29939 (grub_term_get_current_output): Likewise.
29940
29941 * util/grub-editenv.c: Include header file <grub/handler.h>.
29942 (grub_term_get_current_input): Removed.
29943 (grub_term_get_current_output): Likewise.
29944 (grub_term_input_class): New variable.
29945 (grub_term_output_class): Likewise.
29946
29947 * util/grub-fstest.c (grub_term_get_current_input): Removed.
29948 (grub_term_get_current_output): Likewise.
29949 (grub_term_input_class): New variable.
29950 (grub_term_output_class): Likewise.
29951
29952 * util/grub-probe.c (grub_term_get_current_input): Removed.
29953 (grub_term_get_current_output): Likewise.
29954 (grub_term_input_class): New variable.
29955 (grub_term_output_class): Likewise.
29956
29957 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
29958 (grub_term_get_current_output): Likewise.
29959 (grub_term_input_class): New variable.
29960 (grub_term_output_class): Likewise.
29961
29962 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
29963 (terminal_mod_SOURCES): Likewise.
29964 (terminal_mod_CFLAGS): Likewise.
29965 (terminal_mod_LDFLAGS): Likewise.
29966
29967 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
29968 handler.c.
29969 (kernel_img_SOURCES): Add list.c and handler.c.
29970 (kernel_img_HEADERS): Add list.h and handler.h.
29971
29972 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29973 handler.c.
29974 (kernel_mod_SOURCES): Add list.c and handler.c.
29975 (kernel_mod_HEADERS): Add list.h and handler.h.
29976
29977 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
29978 handler.c.
29979 (kernel_elf_SOURCES): Add list.c and handler.c.
29980 (kernel_elf_HEADERS): Add list.h and handler.h.
29981
29982 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29983 handler.c.
29984 (kernel_elf_SOURCES): Add list.c and handler.c.
29985 (kernel_elf_HEADERS): Add list.h and handler.h.
29986
29987 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29988 handler.c.
29989 (kernel_mod_SOURCES): Add list.c and handler.c.
29990 (kernel_mod_HEADERS): Add list.h and handler.h.
29991
29992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29993 handler.c.
29994 (kernel_elf_SOURCES): Add list.c and handler.c.
29995 (kernel_elf_HEADERS): Add list.h and handler.h.
29996
29997 2009-02-27 Robert Millan <rmh@aybabtu.com>
29998
29999 Factorize elf32 / elf64 code in Multiboot loader. This will
30000 prevent it from getting out of sync again.
30001
30002 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
30003 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
30004 grub_multiboot_load_elf64): Move from here ...
30005 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
30006 grub_multiboot_load_elf): ... to here (new file).
30007
30008 2009-02-27 Robert Millan <rmh@aybabtu.com>
30009
30010 * util/grub.d/10_linux.in: Rename "single-user mode" to
30011 "recovery mode".
30012
30013 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
30014
30015 Don't leak in SCSI code.
30016 * disk/scsi.c (grub_scsi_close): free `scsi'.
30017
30018 2009-02-27 Robert Millan <rmh@aybabtu.com>
30019
30020 * loader/i386/pc/multiboot.c: Move from here ...
30021 * loader/i386/multiboot.c: ... to here. Update all users.
30022
30023 2009-02-27 Robert Millan <rmh@aybabtu.com>
30024
30025 Patch from Alexandre Bique <bique.alexandre@gmail.com>
30026 * util/i386/pc/grub-setup.c (setup): Fix directory path.
30027
30028 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
30029
30030 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
30031 b-tree.
30032
30033 2009-02-27 Robert Millan <rmh@aybabtu.com>
30034
30035 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
30036 `0x' qualifier as 0 when base is specified as parameter).
30037
30038 2009-02-24 Bean <bean123ch@gmail.com>
30039
30040 * configure.ac: Check for -mcmodel=large in x86_64 target.
30041
30042 * include/grub/efi/api.h (efi_call_10): New macro.
30043 (efi_wrap_10): New function.
30044
30045 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
30046 (GRUB_PE32_REL_BASED_HIGH): Likewise.
30047 (GRUB_PE32_REL_BASED_LOW): Likewise.
30048 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
30049 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
30050 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
30051 (GRUB_PE32_REL_BASED_SECTION): Likewise.
30052 (GRUB_PE32_REL_BASED_REL): Likewise.
30053 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
30054 (GRUB_PE32_REL_BASED_DIR64): Likewise.
30055 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
30056
30057 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
30058 issue.
30059
30060 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
30061 (efi_wrap_10): New function.
30062
30063 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
30064
30065 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
30066 MB/MBP model (NV chipset).
30067 (devdata_devs): Add devpath_5 to the list.
30068
30069 * load/i386/efi/linux.c (video_base): Remove variable.
30070 (RGB_MASK): New macro.
30071 (RGB_MAGIC): Likewise.
30072 (LINE_MIN): Likewise.
30073 (LINE_MAX): Likewise.
30074 (FBTEST_STEP): Likewise.
30075 (FBTEST_COUNT): Likewise.
30076 (fb_list): New variable.
30077 (grub_find_video_card): Remove function.
30078 (find_framebuf): New function.
30079 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
30080 line length.
30081
30082 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
30083 problem for x86_64.
30084
30085 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
30086
30087 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
30088
30089 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
30090 coding tool name.
30091
30092 2009-02-22 Robert Millan <rmh@aybabtu.com>
30093
30094 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
30095 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
30096 in our relocation, instead of using it directly from heap. Also
30097 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
30098
30099 2009-02-21 Robert Millan <rmh@aybabtu.com>
30100
30101 Implement USB keyboard support (based on patch by Marco Gerards)
30102
30103 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
30104 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
30105 (usb_keyboard_mod_LDFLAGS): New variables.
30106
30107 * term/usb_keyboard.c: New file.
30108
30109 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30110
30111 Corrected wrong declaration
30112
30113 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
30114
30115 2009-02-14 Christian Franke <franke@computer.org>
30116
30117 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
30118 (grub_lspci_iter): Print class code and programming interface byte.
30119
30120 2009-02-14 Christian Franke <franke@computer.org>
30121
30122 * gendistlist.sh: Ignore `.svn' directories.
30123
30124 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
30125
30126 * fs/fat.c: Add 2009 to Copyright line.
30127
30128 2009-02-14 Christian Franke <franke@computer.org>
30129
30130 * commands/hdparm.c: New file. Provides `hdparm' command
30131 which sends ATA commands via grub_disk_ata_pass_through ().
30132
30133 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
30134
30135 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
30136 and <grub/cpu/io.h> to include/grub/ata.h.
30137 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
30138 (GRUB_CDROM_SECTOR_SIZE): Remove.
30139 (GRUB_ATA_*): Move to include/grub/ata.h.
30140 (GRUB_ATAPI_*): Likewise.
30141 (enum grub_ata_commands): Likewise.
30142 (enum grub_ata_timeout_milliseconds): Likewise.
30143 (struct grub_ata_device): Likewise.
30144 (grub_ata_regset): Likewise.
30145 (grub_ata_regget): Likewise.
30146 (grub_ata_regset2): Likewise.
30147 (grub_ata_regget2): Likewise.
30148 (grub_ata_check_ready): Likewise.
30149 (grub_ata_wait_not_busy): Remove static, exported in
30150 include/grub/ata.h.
30151 (grub_ata_wait_drq): Likewise.
30152 (grub_ata_pio_read): Likewise.
30153
30154 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
30155 function for hdparm.mod.
30156
30157 * include/grub/ata.h: New file, contains declarations from
30158 disk/ata.c.
30159 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
30160
30161 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
30162 (grub_disk_ata_pass_through): New exported variable.
30163
30164 * kern/disk.c (grub_disk_ata_pass_through): New variable.
30165
30166 2009-02-13 Colin D Bennett <colin@gibibit.com>
30167
30168 Support multiple fallback entries, and provide an API to support
30169 executing default+fallback menu entries. Renamed the `terminal' menu
30170 viewer to `text'.
30171
30172 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
30173 variable declaration.
30174 (grub_menu_execute_callback): New structure declaration.
30175 (grub_menu_execute_callback_t): New typedef.
30176 (grub_menu_execute_with_fallback): New function declaration.
30177 (grub_menu_get_entry): Likewise.
30178 (grub_menu_get_timeout): Likewise.
30179 (grub_menu_set_timeout): Likewise.
30180
30181 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
30182
30183 * normal/menu.c (grub_wait_after_message): Moved to
30184 `normal/menu_text.c'.
30185 (draw_border): Likewise.
30186 (print_message): Likewise.
30187 (print_entry): Likewise.
30188 (print_entries): Likewise.
30189 (grub_menu_init_page): Likewise.
30190 (get_entry_number): Likewise.
30191 (print_timeout): Likewise.
30192 (run_menu): Likewise.
30193 (grub_menu_execute_entry): Likewise.
30194 (show_text_menu): Likewise.
30195 (get_and_remove_first_entry_number): New function.
30196 (grub_menu_execute_with_fallback): Likewise.
30197 (get_entry): Renamed to ...
30198 (grub_menu_get_entry): .. this and made it global.
30199 (get_timeout): Renamed to ...
30200 (grub_menu_get_timeout): ... this and made it global.
30201 (set_timeout): Renamed to ...
30202 (grub_menu_set_timeout): ... this and made it global.
30203 (grub_normal_terminal_menu_viewer): Renamed to ...
30204 (grub_normal_text_menu_viewer): ... this.
30205
30206 * normal/menu_text.c: New file. Extracted text-menu-specific code
30207 from normal/menu.c.
30208
30209 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
30210 (normal_mod_SOURCES): Likewise.
30211
30212 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30213 (normal_mod_SOURCES): Likewise.
30214
30215 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30216 (normal_mod_SOURCES): Likewise.
30217
30218 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
30219 (normal_mod_SOURCES): Likewise.
30220
30221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30222 (normal_mod_SOURCES): Likewise.
30223
30224 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30225 (normal_mod_SOURCES): Likewise.
30226
30227 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30228 (normal_mod_SOURCES): Likewise.
30229
30230 2009-02-11 Robert Millan <rmh@aybabtu.com>
30231
30232 * util/grub.d/00_header.in: Update old reference to `font' command.
30233
30234 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
30235
30236 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
30237
30238 Based on patch from Javier Martín.
30239
30240 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
30241
30242 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
30243 to avoid false positives with FAT.
30244 (grub_fstest_SOURCES): Likewise.
30245 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30246 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30247 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30248 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30249 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30250 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30251
30252 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
30253
30254 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
30255 bpb.version_specific.fat12_or_fat16.fstype and
30256 bpb.version_specific.fat32.fstype.
30257
30258 2009-02-08 Robert Millan <rmh@aybabtu.com>
30259
30260 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
30261
30262 2009-02-08 Robert Millan <rmh@aybabtu.com>
30263
30264 * Makefile.in (host_os, host_cpu): New variables.
30265 (target_os): Remove. Update all users.
30266
30267 2009-02-08 Marco Gerards <marco@gnu.org>
30268
30269 * Makefile.in (enable_grub_emu_usb): New variable.
30270 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
30271 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
30272 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
30273 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
30274 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
30275 `usbtest.mod' and `usbms.mod'.
30276 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
30277 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
30278 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
30279 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
30280 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
30281 variables.
30282
30283 * disk/usbms.c: New file.
30284
30285 * include/grub/usb.h: Likewise.
30286
30287 * include/grub/usbtrans.h: Likewise.
30288
30289 * include/grub/usbdesc.h: Likewise.
30290
30291 * bus/usb/usbtrans.c: Likewise.
30292
30293 * bus/usb/ohci.c: Likewise.
30294
30295 * bus/usb/uhci.c: Likewise.
30296
30297 * bus/usb/usbhub.c: Likewise.
30298
30299 * bus/usb/usb.c: Likewise.
30300
30301 * commands/usbtest.c: Likewise.
30302
30303 * util/usb.c: Likewise.
30304
30305 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
30306
30307 * configure.ac: Test for libusb presence.
30308
30309 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
30310
30311 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
30312
30313 * kern/mm.c: Add more comments.
30314
30315 2009-02-08 Robert Millan <rmh@aybabtu.com>
30316
30317 Patch from Javier Martín.
30318 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
30319 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
30320
30321 2009-02-08 Robert Millan <rmh@aybabtu.com>
30322
30323 * fs/cpio.c: Split tar functionality to ...
30324 * fs/tar.c: ... here (new file). Update all users.
30325
30326 2009-02-07 Robert Millan <rmh@aybabtu.com>
30327
30328 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
30329 backward-incompatible features.
30330
30331 Based on patch from Javier Martín, with some adjustments.
30332
30333 2009-02-07 Michael Scherer <misc@mandriva.org>
30334
30335 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
30336
30337 2009-02-07 Robert Millan <rmh@aybabtu.com>
30338
30339 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
30340 position of `disk/lvm.c' to ensure grub_init_all() always picks it
30341 after the RAID stuff.
30342
30343 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
30344
30345 Fixes problem when running vbetest command as reported by
30346 Vladimir Serbinenko <phcoder@gmail.com>.
30347
30348 * (grub_vbe_set_video_mode): Fixed problem with text modes.
30349
30350 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
30351
30352 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
30353 /dev/md/NpN style mdraid devices.
30354
30355 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
30356
30357 * util/unifont2pff.rb: Remove.
30358
30359 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
30360
30361 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
30362 `#'.
30363
30364 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
30365
30366 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
30367 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30368 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30369 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30370 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30371 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30372 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30373
30374 2009-02-02 Christian Franke <franke@computer.org>
30375
30376 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
30377
30378 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
30379
30380 * INSTALL: Note that we now require at least autoconf 2.59 and
30381 that LZO is optional.
30382
30383 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30384
30385 Base on patch on bug #24154 created by Tomas Tintera
30386 <trosos@seznam.cz>.
30387
30388 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
30389
30390 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30391
30392 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
30393 <bero@arklinux.org>.
30394
30395 * normal/parser.y (script_init): Add missing semicolon.
30396
30397 2009-01-31 Colin D Bennett <colin@gibibit.com>
30398
30399 * normal/main.c: Add include to grub/menu_viewer.h.
30400 (free_menu_entry_classes): Added.
30401 (grub_normal_menu_addentry): Added class property handling.
30402 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
30403 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
30404
30405 * normal/menu_viewer.c: New file.
30406
30407 * normal/menu.c (run_menu_entry): Renamed to ...
30408 (grub_menu_execute_entry): ... this and made it as global.
30409 (grub_menu_run): Renamed to ...
30410 (show_text_menu): ... this and made it local.
30411 (show_text_menu): Adapt to new function names.
30412 (grub_normal_terminal_menu_viewer): New global variable.
30413
30414 * include/grub/menu.h: New file.
30415
30416 * include/grub/menu_viewer.h: New file.
30417
30418 * include/grub/normal.h: Added include to grub/menu.h.
30419 (grub_menu_entry): Moved to include/grub/menu.h.
30420 (grub_menu_entry_t): Likewise.
30421 (grub_menu): Likewise.
30422 (grub_menu_t): Likewise.
30423 (grub_normal_terminal_menu_viewer): Added.
30424 (grub_menu_execute_entry): Likewise.
30425 (grub_menu_run): Removed.
30426
30427 * DISTLIST: Added include/grub/menu.h.
30428 Added include/grub/menu_viewer.h.
30429 Added normal/menu_viewer.c.
30430
30431 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
30432
30433 * normal/execute.c (grub_script_execute_menuentry): Changed to use
30434 arglist for menutitle arguments.
30435
30436 * normal/main.c (grub_normal_menu_addentry): Likewise.
30437
30438 * normal/parser.y (menuentry): Likewise.
30439
30440 * normal/script.c (grub_script_create_cmdmenu): Likewise.
30441
30442 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
30443 (grub_script_create_cmdmenu): Likewise.
30444
30445 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
30446
30447 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
30448 changes.
30449
30450 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
30451
30452 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
30453
30454 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
30455
30456 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30457
30458 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30459
30460 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30461
30462 2009-01-30 Christian Franke <franke@computer.org>
30463
30464 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
30465 in option help text.
30466
30467 2009-01-27 Pavel Roskin <proski@gnu.org>
30468
30469 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
30470
30471 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30472
30473 * commands/lsmmap.c: Add include to grub/machine/memory.h.
30474
30475 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
30476
30477 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
30478 unregister function.
30479
30480 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30481
30482 * disk/scsi.c (grub_scsi_read): Fix sign problem.
30483
30484 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
30485
30486 * util/grub-mkfont.c (usage): Fix typo.
30487
30488 * util/elf/grub-mkimage.c (load_modules): Fix warning.
30489
30490 2009-01-26 Daniel Mierswa <impulze@impulze.org>
30491
30492 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
30493
30494 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
30495
30496 * kern/misc.c (grub_strcasecmp): New function.
30497 (grub_strcasecmp): Use grub_size_t instead of int for length.
30498 Fix return value.
30499 * include/grub/misc.h: Update function prototypes.
30500
30501 2009-01-26 Robert Millan <rmh@aybabtu.com>
30502
30503 * configure.ac: Fix cross-compilation check.
30504
30505 2009-01-22 Christian Franke <franke@computer.org>
30506
30507 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30508 (precision) digit string. Allow `.format2' without `format1' (width).
30509 Limit input chars for `%s' output to `format2' if specified. This is
30510 compatible with standard printf ().
30511
30512 2009-01-22 Christian Franke <franke@computer.org>
30513
30514 * disk/ata.c (grub_ata_wait_status): Replace by ...
30515 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30516 other status bits may be invalid while BSY is asserted.
30517 (grub_ata_check_ready): New function.
30518 (grub_ata_cmd): Removed.
30519 (grub_ata_wait_drq): New function.
30520 (grub_ata_strncpy): Remove inline.
30521 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30522 and error check now done by grub_ata_wait_drq ().
30523 (grub_ata_pio_write): Likewise.
30524 (grub_atapi_identify): Set DEV before check for !BSY. Use
30525 grub_ata_wait_drq () to wait for data.
30526 (grub_ata_device_initialize): Add status register check to
30527 detect missing SATA slave devices. Add debug messages.
30528 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30529 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30530 transfer loop by grub_ata_pio_write ().
30531 (grub_ata_identify): Set DEV before check for !BSY. Use
30532 grub_ata_wait_drq () to wait for data.
30533 (grub_ata_setaddress): Set DEV before check for !BSY.
30534 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30535 read/write in one loop. Fix invalid command on write. Fix incomplete
30536 command on (size % batch) == 0. Add missing error check after write of
30537 last block. Add debug messages.
30538 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30539
30540 2009-01-19 Christian Franke <franke@computer.org>
30541
30542 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30543 (GRUB_ATAPI_IREASON_*): Likewise.
30544 (grub_ata_pio_write): Fix timeout error return.
30545 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30546 (grub_atapi_wait_drq): New function.
30547 (grub_atapi_packet): New parameter `size'.
30548 Use grub_atapi_wait_drq () and direct write instead of
30549 grub_ata_pio_write ().
30550 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30551 reads the number of bytes requested by the device for each DRQ
30552 assertion.
30553 (grub_atapi_write): Remove old implementation, return not
30554 implemented instead.
30555
30556 2009-01-19 Christian Franke <franke@computer.org>
30557
30558 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30559 of 512 to calculate data size.
30560 (grub_scsi_read12): Likewise.
30561 (grub_scsi_write10): Likewise.
30562 (grub_scsi_write12): Likewise.
30563 (grub_scsi_read): Adjust size according to blocksize.
30564 Add checks for invalid blocksize and unaligned transfer.
30565
30566 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30567
30568 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30569
30570 * term/gfxterm.c (write_char): Fix background rendering for wide
30571 width glyphs.
30572
30573 2009-01-19 Robert Millan <rmh@aybabtu.com>
30574
30575 * config.guess: Update to latest version from config git.
30576 * config.sub: Likewise.
30577
30578 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
30579
30580 * Makefile.in: Change font compilation to use new grub-mkfont instead
30581 of java version.
30582
30583 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30584 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30585 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30586 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30587 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30588 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30589 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30590 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30591 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30592
30593 2009-01-16 Christian Franke <franke@computer.org>
30594
30595 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30596 (enum grub_ata_timeout_milliseconds): New enum.
30597 (grub_ata_wait_status): Add parameter milliseconds.
30598 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30599 recovery from timed-out commands.
30600 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30601 return grub_errno instead of REG_ERROR.
30602 (grub_ata_pio_write): Add parameter milliseconds.
30603 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30604 Pass milliseconds to grub_ata_wait_status () and
30605 grub_ata_pio_read ().
30606 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30607 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30608 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30609 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30610 It is not suitable for device detection, because DEV bit is ignored,
30611 the command may run too long, and not all devices set the signature
30612 properly.
30613 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30614 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30615 Fix device selection, DEV bit must be set first to address the registers
30616 of the correct device.
30617 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30618 grub_ata_pio_read/write ().
30619 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30620 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30621
30622 2009-01-13 Carles Pina i Estany <carles@pina.cat>
30623
30624 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30625
30626 2009-01-13 Bean <bean123ch@gmail.com>
30627
30628 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30629
30630 2009-01-13 Bean <bean123ch@gmail.com>
30631
30632 * Makefile.in: (enable_grub_mkfont): New variable.
30633 (freetype_cflags): Likewise.
30634 (freetype_libs): Likewise.
30635
30636 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30637 (grub_mkfont_SOURCES): New variable.
30638 (grub_mkfont_CFLAGS): Likewise.
30639 (grub_mkfont_LDFLAGS): Likewise.
30640
30641 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30642 library if `--enable-grub-mkfont' is requested.
30643 (enable_grub_mkfont): New variable.
30644 (freetype_cflags): Likewise.
30645 (freetype_libs): Likewise.
30646
30647 * util/grub-mkfont.c: New file.
30648
30649 2009-01-12 Christian Franke <franke@computer.org>
30650
30651 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30652 mode check. Fix setting of compat_use[].
30653
30654 2009-01-10 Robert Millan <rmh@aybabtu.com>
30655
30656 Update a few copyright years which we forgot to do in 2008 (only for
30657 files whose changes made in 2008 were copyright-significant)
30658
30659 * Makefile.in: Add 2008 to Copyright line.
30660 * disk/ieee1275/ofdisk.c: Likewise.
30661 * disk/efi/efidisk.c: Likewise.
30662 * kern/dl.c: Likewise.
30663 * kern/sparc64/ieee1275/init.c: Likewise.
30664 * kern/mm.c: Likewise.
30665 * kern/efi/mm.c: Likewise.
30666 * boot/i386/pc/boot.S: Likewise.
30667 * genfslist.sh: Likewise.
30668 * fs/iso9660.c: Likewise.
30669 * fs/hfs.c: Likewise.
30670 * fs/jfs.c: Likewise.
30671 * fs/minix.c: Likewise.
30672 * fs/ufs.c: Likewise.
30673 * gensymlist.sh.in: Likewise.
30674 * genkernsyms.sh.in: Likewise.
30675 * include/grub/misc.h: Likewise.
30676 * include/grub/types.h: Likewise.
30677 * include/grub/symbol.h: Likewise.
30678 * include/grub/elf.h: Likewise.
30679 * include/grub/kernel.h: Likewise.
30680 * include/grub/disk.h: Likewise.
30681 * include/grub/dl.h: Likewise.
30682 * include/grub/i386/linux.h: Likewise.
30683 * include/grub/i386/pc/biosdisk.h: Likewise.
30684 * include/grub/efi/api.h: Likewise.
30685 * include/grub/efi/pe32.h: Likewise.
30686 * include/grub/util/misc.h: Likewise.
30687 * normal/execute.c: Likewise.
30688 * normal/arg.c: Likewise.
30689 * normal/completion.c: Likewise.
30690 * normal/lexer.c: Likewise.
30691 * normal/parser.y: Likewise.
30692 * normal/misc.c: Likewise.
30693 * commands/i386/pc/vbeinfo.c: Likewise.
30694 * commands/hexdump.c: Likewise.
30695 * commands/terminal.c: Likewise.
30696 * commands/ls.c: Likewise.
30697 * commands/help.c: Likewise.
30698 * partmap/pc.c: Likewise.
30699 * loader/efi/chainloader.c: Likewise.
30700 * loader/multiboot_loader.c: Likewise.
30701 * loader/i386/pc/multiboot2.c: Likewise.
30702 * term/efi/console.c: Likewise.
30703 * term/i386/pc/serial.c: Likewise.
30704 * util/lvm.c: Likewise.
30705 * util/console.c: Likewise.
30706 * util/i386/efi/grub-mkimage.c: Likewise.
30707 * util/raid.c: Likewise.
30708
30709 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
30710
30711 * commands/videotest.c: Removed include to grub/machine/memory.h.
30712
30713 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
30714 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
30715 (video_mod_SOURCES): Removed.
30716 (video_mod_CFLAGS): Likewise.
30717 (video_mod_LDFLAGS): Likewise.
30718 (gfxterm_mod_SOURCES): Likewise.
30719 (gfxterm_mod_CFLAGS): Likewise.
30720 (gfxterm_mod_LDFLAGS): Likewise.
30721 (videotest_mod_SOURCES): Likewise.
30722 (videotest_mod_CFLAGS): Likewise.
30723 (videotest_mod_LDFLAGS): Likewise.
30724 (bitmap_mod_SOURCES): Likewise.
30725 (bitmap_mod_CFLAGS): Likewise.
30726 (bitmap_mod_LDFLAGS): Likewise.
30727 (tga_mod_SOURCES): Likewise.
30728 (tga_mod_CFLAGS): Likewise.
30729 (tga_mod_LDFLAGS): Likewise.
30730 (jpeg_mod_SOURCES): Likewise.
30731 (jpeg_mod_CFLAGS): Likewise.
30732 (jpeg_mod_LDFLAGS): Likewise.
30733 (png_mod_SOURCES): Likewise.
30734 (png_mod_CFLAGS): Likewise.
30735 (png_mod_LDFLAGS): Likewise.
30736
30737 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
30738 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
30739 (video_mod_SOURCES): Added.
30740 (video_mod_CFLAGS): Likewise.
30741 (video_mod_LDFLAGS): Likewise.
30742 (videotest_mod_SOURCES): Likewise.
30743 (videotest_mod_CFLAGS): Likewise.
30744 (videotest_mod_LDFLAGS): Likewise.
30745 (bitmap_mod_SOURCES): Likewise.
30746 (bitmap_mod_CFLAGS): Likewise.
30747 (bitmap_mod_LDFLAGS): Likewise.
30748 (tga_mod_SOURCES): Likewise.
30749 (tga_mod_CFLAGS): Likewise.
30750 (tga_mod_LDFLAGS): Likewise.
30751 (jpeg_mod_SOURCES): Likewise.
30752 (jpeg_mod_CFLAGS): Likewise.
30753 (jpeg_mod_LDFLAGS): Likewise.
30754 (png_mod_SOURCES): Likewise.
30755 (png_mod_CFLAGS): Likewise.
30756 (png_mod_LDFLAGS): Likewise.
30757 (gfxterm_mod_SOURCES): Likewise.
30758 (gfxterm_mod_CFLAGS): Likewise.
30759 (gfxterm_mod_LDFLAGS): Likewise.
30760
30761 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30762 grub/machine/console.h.
30763
30764 2009-01-04 Jerone Young <jerone@gmail.com>
30765
30766 Make on screen instructions clearer
30767
30768 Based on patch created by Jidanni <jidanni@jidanni.org>
30769
30770 * normal/menu.c: print clearer instructions on the screen
30771
30772 2009-01-02 Colin D Bennett <colin@gibibit.com>
30773
30774 New font engine.
30775
30776 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
30777 build system and fixed gfxterm.c to work with different sized fonts.
30778
30779 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
30780
30781 * configure: Re-generated.
30782
30783 * DISTLIST: Removed font/manager.c.
30784 Added font/font.c.
30785 Added font/font_cmd.c.
30786
30787 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
30788 compilation.
30789
30790 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
30791
30792 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
30793
30794 * kern/term.c: Changed users of grub_utf8_to_ucs4.
30795
30796 * normal/menu.c: Likewise.
30797
30798 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
30799 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
30800
30801 * include/grub/font.h: Replaced with new file.
30802
30803 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
30804 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
30805 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
30806 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
30807 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
30808 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
30809 fg_red, fg_green, fg_blue, fg_alpha.
30810 (grub_video_adapter): Removed blit_glyph.
30811 (grub_video_blit_glyph): Removed.
30812
30813 * font/manager.c: Removed file.
30814
30815 * font/font.c: New file.
30816
30817 * font/font_cmd.c: Likewise.
30818
30819 * video/video.c (grub_video_blit_glyph): Removed.
30820
30821 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
30822 (grub_video_vbe_map_rgba): Likewise.
30823 (grub_video_vbe_unmap_color_int): Likewise.
30824 (grub_video_vbe_blit_glyph): Removed.
30825 (grub_video_vbe_adapter): Removed blit_glyph.
30826
30827 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
30828 (get_pixel): Likewise.
30829 (set_pixel): Likewise.
30830
30831 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
30832
30833 * term/gfxterm.c: Adapted to new font engine.
30834
30835 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
30836
30837 * term/i386/pc/vga.c: Likewise.
30838
30839 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
30840
30841 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30842
30843 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30844
30845 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30846
30847 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30848
30849 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30850
30851 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30852
30853 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30854
30855 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30856
30857 * util/grub.d/00_header.in: Changed to use new loadfont command.
30858
30859 * util/grub-mkconfig_lib.in: Changed font extension.
30860
30861 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
30862
30863 * util/getroot.c (grub_util_get_grub_dev): Add support for
30864 /dev/md/dNNpNN style partitionable mdraid devices.
30865
30866 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
30867
30868 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
30869 at a time limit of the PXE TFTP API correctly.
30870 (grub_pxefs_close): Likewise.
30871
30872 2008-11-29 Robert Millan <rmh@aybabtu.com>
30873
30874 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
30875 grub_ata_device_initialize() calls.
30876
30877 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
30878
30879 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
30880 iteration failed.
30881 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
30882
30883 2008-11-28 Robert Millan <rmh@aybabtu.com>
30884
30885 Fix build on powerpc-ieee1275. Based on patch created by
30886 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
30887 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30888 `kern/ieee1275/mmap.c'.
30889 * include/grub/powerpc/ieee1275/memory.h: New file.
30890
30891 Provide grub-install on coreboot.
30892 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
30893 (grub_install_SOURCES): New variable.
30894 * util/i386/pc/grub-install.in: Add a few condition checks to make it
30895 usable on coreboot.
30896
30897 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
30898
30899 * util/grub-fstest.c (grub_term_get_current_input): Change return type
30900 to `grub_term_input_t'.
30901 (grub_term_get_current_output): Change return type to
30902 `grub_term_output_t'.
30903
30904 2008-11-22 Robert Millan <rmh@aybabtu.com>
30905
30906 Fix breakage on coreboot due to declaration mismatch.
30907 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
30908 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
30909 grub_vga_text_cls().
30910
30911 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
30912 comments. Avoid copying one more byte than necessary (just in case).
30913
30914 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
30915 to 0x200000 (avoids trouble with some OFW implementations, and matches
30916 with the one in Yaboot).
30917 Reported by Manoel Abranches
30918
30919 2008-11-20 Robert Millan <rmh@aybabtu.com>
30920
30921 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
30922 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
30923
30924 * util/grub-mkconfig_lib.in (grub_warn): New function.
30925 (convert_system_path_to_grub_path): Use grub_warn() when issuing
30926 warnings, to obtain consistent formatting.
30927 * util/grub.d/00_header.in: Likewise.
30928 * util/update-grub_lib.in: Likewise.
30929
30930 * loader/i386/linux.c (allocate_pages): Fix a warning.
30931 Move comment text to `#error' stanza.
30932
30933 Harmonize ieee1275's grub_available_iterate() with the generic
30934 grub_machine_mmap_iterate() interface (fixes a recently-introduced
30935 build problem on i386-ieee1275):
30936 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
30937 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
30938 parameter `type'. Update all users of this function.
30939 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30940 `kern/ieee1275/mmap.c'.
30941 * kern/ieee1275/init.c
30942 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
30943 with ...
30944 (grub_machine_mmap_iterate): ... this.
30945 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
30946 return type to `grub_err_t'. Update all implementations of this
30947 function prototype.
30948 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
30949 Likewise.
30950
30951 Add `lsmmap' command (lists firmware-provided memory map):
30952 * commands/lsmmap.c: New file.
30953 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
30954 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
30955 variables.
30956 * conf/powerpc-ieee1275.rmk: Likewise.
30957 * conf/i386-coreboot.rmk: Likewise.
30958 * conf/i386-ieee1275.rmk: Likewise.
30959
30960 2008-11-19 Robert Millan <rmh@aybabtu.com>
30961
30962 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
30963 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
30964 constraints to initrd allocation (based on code from
30965 loader/i386/pc/linux.c). Without them, initrd was allocated too high
30966 for Linux to find it.
30967
30968 2008-11-14 Robert Millan <rmh@aybabtu.com>
30969
30970 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
30971 order to cope with duplicate slashes.
30972
30973 2008-11-14 Robert Millan <rmh@aybabtu.com>
30974
30975 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
30976 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
30977 don't want to mess with lower memory, because it is used in the Linux
30978 loader.
30979
30980 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
30981 an appropriate place in lower memory, between 0x10000 and 0x90000,
30982 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
30983 is in our heap (probably as a result of it being corrupted during
30984 decompression). Add #error instance with comment to explain why this
30985 loader isn't currently usable on PC/BIOS.
30986
30987 2008-11-14 Robert Millan <rmh@aybabtu.com>
30988
30989 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
30990 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
30991
30992 2008-11-12 Robert Millan <rmh@aybabtu.com>
30993
30994 Make loader/i386/linux.c buildable on i386-pc (although disabled).
30995
30996 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
30997 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
30998 from here ...
30999 * include/grub/i386/pc/memory.h: ... to here.
31000
31001 2008-11-12 Robert Millan <rmh@aybabtu.com>
31002
31003 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
31004 split).
31005
31006 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
31007 (grub_console_cur_color, grub_console_real_putchar)
31008 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31009 (grub_console_setcolorstate, grub_console_setcolor)
31010 (grub_console_getcolor): Move from here ...
31011 * include/grub/i386/vga_common.h: ... to here (new file).
31012
31013 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
31014 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
31015 `<grub/i386/io.h>'.
31016 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
31017 `<grub/i386/vga_common.h>'.
31018
31019 2008-11-12 Robert Millan <rmh@aybabtu.com>
31020
31021 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
31022 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
31023 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
31024 variables.
31025 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31026 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
31027
31028 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
31029 grub_console_init() with call to grub_vga_text_init().
31030 (grub_machine_fini): Replace call to
31031 grub_console_fini() with call to grub_vga_text_fini() and
31032 grub_at_keyboard_fini().
31033
31034 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
31035 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31036 (grub_console_setcolorstate, grub_console_setcolor)
31037 (grub_console_getcolor): New function prototypes.
31038
31039 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
31040 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
31041 (grub_vga_text_setcursor): Static-ize.
31042 (grub_vga_text_term): New structure.
31043 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
31044
31045 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
31046 (grub_console_cur_color, grub_console_standard_color)
31047 (grub_console_normal_color, grub_console_highlight_color)
31048 (map_char, grub_console_putchar, grub_console_getcharwidth)
31049 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
31050 (grub_console_getcolor): Move from here ...
31051 * term/i386/vga_common.c: ... to here (same function names).
31052
31053 2008-11-12 Robert Millan <rmh@aybabtu.com>
31054
31055 Use newly-added Multiboot support in coreboot.
31056
31057 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31058 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
31059
31060 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
31061 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
31062 (codestart): Store the MBI in `startup_multiboot_info' when we're
31063 being loaded using Multiboot.
31064
31065 * kern/i386/coreboot/init.c (grub_machine_init): Move
31066 grub_at_keyboard_init() call to beginning of function (useful for
31067 debugging). Call grub_machine_mmap_init() before attempting to use
31068 grub_machine_mmap_iterate().
31069 (grub_lower_mem, grub_upper_mem): Move from here ...
31070 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
31071 here (new file).
31072
31073 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
31074 function prototype.
31075
31076 2008-11-12 Robert Millan <rmh@aybabtu.com>
31077
31078 Fix a regression introduced by the at_keyboard.mod split. Because
31079 some terminals are default on some platforms and non-default on
31080 others, the first terminal being registered determines which is
31081 going to be default.
31082
31083 * kern/term.c (grub_term_register_input): If this is the first
31084 terminal being registered, set it as the current one.
31085 (grub_term_register_output): Likewise.
31086
31087 * term/efi/console.c (grub_console_init): Do not call
31088 grub_term_set_current_output() or grub_term_set_current_input().
31089 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
31090 * term/i386/pc/console.c (grub_console_init): Likewise.
31091 (grub_console_fini): Do not call grub_term_set_current_input()
31092 (but leave grub_term_set_current_output() to restore text mode).
31093
31094 2008-11-10 Robert Millan <rmh@aybabtu.com>
31095
31096 * util/grub.d/00_header.in: Add backward compatibility check for
31097 versions of terminal.mod that don't understand `terminal_input' or
31098 `terminal_output'.
31099
31100 2008-11-09 Robert Millan <rmh@aybabtu.com>
31101
31102 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
31103 `terminal_input' / `terminal_output', not `terminal'.
31104
31105 2008-11-08 Robert Millan <rmh@aybabtu.com>
31106
31107 * Makefile.in (include_DATA): Fix srcdir=. assumption.
31108 (DISTCLEANFILES): Add `build_env.mk'.
31109
31110 2008-11-08 Robert Millan <rmh@aybabtu.com>
31111
31112 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
31113 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31114 members. Update all users.
31115 * util/console.c (grub_ncurses_term): Split in ...
31116 (grub_ncurses_term_input): ... this, and ...
31117 (grub_ncurses_term_output): ... this. Update all users.
31118 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
31119
31120 2008-11-08 Robert Millan <rmh@aybabtu.com>
31121
31122 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
31123 (PKGDATA): Add $(pkgdata_SRCDIR).
31124 (pkglib_BUILDDIR): New variable.
31125 (pkgdata_SRCDIR): New variable.
31126 (build_env.mk): New target.
31127 (include_DATA): New variable.
31128 (install-local): Install $(include_DATA) files in $(includedir).
31129
31130 2008-11-07 Pavel Roskin <proski@gnu.org>
31131
31132 * gendistlist.sh: Use C locale for sorting to ensure consistent
31133 output on all systems.
31134
31135 * util/grub.d/00_header.in: Remove incorrect space before
31136 "serial".
31137
31138 2008-11-07 Robert Millan <rmh@aybabtu.com>
31139
31140 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
31141 per specification.
31142 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
31143 * loader/multiboot_loader.c (find_multi_boot2_header): New function
31144 (based on find_multi_boot1_header).
31145 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
31146 using find_multi_boot2_header(), and abort if neither Multiboot or
31147 Multiboot headers were found.
31148
31149 2008-11-07 Robert Millan <rmh@aybabtu.com>
31150
31151 Modularize at_keyboard.mod:
31152
31153 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
31154 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31155 (at_keyboard_mod_LDFLAGS): New variables.
31156
31157 Actual terminal split:
31158
31159 * include/grub/term.h (struct grub_term): Split in ...
31160 (struct grub_term_input): ... this, and ...
31161 (struct grub_term_output): ... this. Update all users.
31162 (grub_term_set_current): Split in ...
31163 (grub_term_set_current_input): ... this, and ...
31164 (grub_term_set_current_output): ... this.
31165 (grub_term_get_current): Split in ...
31166 (grub_term_get_current_input): ... this, and ...
31167 (grub_term_get_current_output): ... this.
31168 (grub_term_register): Split in ...
31169 (grub_term_register_input): ... this, and ...
31170 (grub_term_register_output): ... this.
31171 (grub_term_unregister): Split in ...
31172 (grub_term_unregister_input): ... this, and ...
31173 (grub_term_unregister_output): ... this.
31174 (grub_term_iterate): Split in ...
31175 (grub_term_iterate_input): ... this, and ...
31176 (grub_term_iterate_output): ... this.
31177
31178 * kern/term.c (grub_term_list): Split in ...
31179 (grub_term_list_input): ... this, and ...
31180 (grub_term_list_output): ... this. Update all users.
31181 (grub_cur_term): Split in ...
31182 (grub_cur_term_input): ... this, and ...
31183 (grub_cur_term_output): ... this. Update all users.
31184 (grub_term_set_current): Split in ...
31185 (grub_term_set_current_input): ... this, and ...
31186 (grub_term_set_current_output): ... this.
31187 (grub_term_get_current): Split in ...
31188 (grub_term_get_current_input): ... this, and ...
31189 (grub_term_get_current_output): ... this.
31190 (grub_term_register): Split in ...
31191 (grub_term_register_input): ... this, and ...
31192 (grub_term_register_output): ... this.
31193 (grub_term_unregister): Split in ...
31194 (grub_term_unregister_input): ... this, and ...
31195 (grub_term_unregister_output): ... this.
31196 (grub_term_iterate): Split in ...
31197 (grub_term_iterate_input): ... this, and ...
31198 (grub_term_iterate_output): ... this.
31199
31200 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
31201 a check for input and one for output (and only attempt to get keys
31202 from user when input works).
31203
31204 * util/grub-probe.c (grub_term_get_current): Split in ...
31205 (grub_term_get_current_input): ... this, and ...
31206 (grub_term_get_current_output): ... this.
31207 * util/grub-fstest.c: Likewise.
31208 * util/i386/pc/grub-setup.c: Likewise.
31209 * util/grub-editenv.c: Likewise.
31210
31211 Portability adjustments:
31212
31213 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
31214 `term/i386/pc/at_keyboard.c'.
31215 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
31216 grub_keyboard_controller_init() (now handled by terminal .init).
31217 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
31218 grub_at_keyboard_init().
31219 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
31220 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
31221 at_keyboard.mod via input terminal interface).
31222 * include/grub/i386/coreboot/console.h: Convert into a stub for
31223 `<grub/i386/pc/console.h>'.
31224
31225 Migrate full terminals to new API:
31226
31227 * term/efi/console.c (grub_console_term): Split into ...
31228 (grub_console_term_input): ... this, and ...
31229 (grub_console_term_output): ... this. Update all users.
31230 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
31231 (grub_ofconsole_init): Split into ...
31232 (grub_ofconsole_init_input): ... this, and ...
31233 (grub_ofconsole_init_output): ... this.
31234 (grub_ofconsole_term): Split into ...
31235 (grub_ofconsole_term_input): ... this, and ...
31236 (grub_ofconsole_term_output): ... this. Update all users.
31237 * term/i386/pc/serial.c (grub_serial_term): Split into ...
31238 (grub_serial_term_input): ... this, and ...
31239 (grub_serial_term_output): ... this. Update all users.
31240 * term/i386/pc/console.c (grub_console_term): Split into ...
31241 (grub_console_term_input): ... this, and ...
31242 (grub_console_term_output): ... this. Update all users.
31243 (grub_console_term_input): Only enable it on PC/BIOS platform.
31244 (grub_console_init): Remove grub_keyboard_controller_init() call.
31245
31246 Migrate input terminals to new API:
31247
31248 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
31249 `i386' and `i386/pc' to enable build on x86_64 (this driver is
31250 i386-specific anyway).
31251 (grub_console_checkkey): Rename to ...
31252 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
31253 users.
31254 (grub_keyboard_controller_orig): New variable.
31255 (grub_console_getkey): Rename to ...
31256 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
31257 users.
31258 (grub_keyboard_controller_init): Static-ize. Save original
31259 controller value so that it can be restored ...
31260 (grub_keyboard_controller_fini): ... here (new function).
31261 (grub_at_keyboard_term): New structure.
31262 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
31263 functions.
31264
31265 Migrate output terminals to new API:
31266
31267 * term/i386/pc/vga.c (grub_vga_term): Change type to
31268 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31269 members. Update all users.
31270 * term/gfxterm.c (grub_video_term): Change type to
31271 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31272 members. Update all users.
31273 * include/grub/i386/pc/console.h (grub_console_checkkey)
31274 (grub_console_getkey): Do not export (no longer needed by gfxterm,
31275 etc).
31276
31277 Migrate `terminal' command and userland tools to new API:
31278
31279 * commands/terminal.c (grub_cmd_terminal): Split into ...
31280 (grub_cmd_terminal_input): ... this, and ...
31281 (grub_cmd_terminal_output): ... this.
31282 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
31283 `terminal_input' and `terminal_output'.
31284 * util/grub.d/00_header.in: Adjust `terminal' calls to new
31285 `terminal_input' / `terminal_output' API.
31286 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
31287 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
31288 provided ${GRUB_TERMINAL}, convert it).
31289
31290 2008-11-04 Robert Millan <rmh@aybabtu.com>
31291
31292 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
31293 for FreeBSD.
31294 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
31295
31296 2008-11-03 Bean <bean123ch@gmail.com>
31297
31298 * kern/elf.c (grub_elf32_load): Revert to previous code.
31299 (grub_elf64_load): Likewise.
31300
31301 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
31302
31303 2008-11-01 Robert Millan <rmh@aybabtu.com>
31304
31305 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
31306 (TARGET_CPPFLAGS): Likewise.
31307 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
31308
31309 2008-11-01 Carles Pina i Estany <carles@pina.cat>
31310
31311 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
31312
31313 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
31314
31315 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
31316 addition of objects until the code is not going to be able to fail.
31317
31318 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
31319
31320 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
31321 (add a missing NULL check, and correct them by moving the pointer
31322 operations after the actual check).
31323
31324 2008-10-29 Robert Millan <rmh@aybabtu.com>
31325
31326 * util/i386/pc/grub-install.in: Handle empty string as output from
31327 make_system_path_relative_to_its_root().
31328
31329 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
31330
31331 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
31332 circular metadata worst case scenario. If the metadata is circular
31333 then copy the wrap in place.
31334 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
31335 project lib/format_text/layout.h
31336 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
31337
31338 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
31339
31340 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
31341
31342 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
31343
31344 * util/update-grub_lib.in: Mention filename in warning message.
31345
31346 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
31347
31348 * NEWS: Update for rename of update-grub to grub-mkconfig.
31349
31350 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
31351
31352 * util/update-grub_lib.in: Copy to ...
31353 * util/grub-mkconfig_lib.in: ... this. Update all users.
31354 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
31355 * util/update-grub.in: Rename to ...
31356 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
31357 option. Add `--output' option to allow users to specify the generated
31358 configuration file. Default to stdout.
31359 (update_grub_dir): Rename to ...
31360 (grub_mkconfig_dir): ... this.
31361 (grub_cfg): Default to an empty string.
31362 * conf/common.rmk (update-grub): Rename to ...
31363 (grub-mkconfig): ... this.
31364 (update-grub_lib): Copy to ...
31365 (grub-mkconfig_lib): ... this.
31366 (update-grub_SCRIPTS): Copy to ...
31367 (grub-mkconfig_SCRIPTS): ... this. Update all users.
31368 (update-grub_DATA): Rename to ...
31369 (grub-mkconfig_DATA): ... this.
31370
31371 2008-09-28 Robert Millan <rmh@aybabtu.com>
31372
31373 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
31374 to `modified'. Add the real `created' field.
31375 (grub_iso9660_uuid): Use `modified' rather than `created' for
31376 constructing the UUID.
31377
31378 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
31379
31380 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
31381 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
31382
31383 2008-09-28 Bean <bean123ch@gmail.com>
31384
31385 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
31386 Thanks to Christian Franke for finding this bug.
31387
31388 2008-09-25 Robert Millan <rmh@aybabtu.com>
31389
31390 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
31391 instances of grub_util_get_disk_name() (see previous commit).
31392
31393 2008-09-25 Robert Millan <rmh@aybabtu.com>
31394
31395 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
31396 `util/i386/get_disk_name.c'.
31397 * conf/i386-efi.rmk: Likewise.
31398 * conf/x86_64-efi.rmk: Likewise.
31399 * conf/i386-coreboot.rmk: Likewise.
31400 * conf/i386-ieee1275.rmk: Likewise.
31401 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
31402 `util/ieee1275/get_disk_name.c'.
31403 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
31404 * util/ieee1275/get_disk_name.c: Remove file.
31405 * util/i386/get_disk_name.c: Remove file.
31406 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
31407 "hd%d" for device.map entries, rather than using
31408 grub_util_get_disk_name().
31409
31410 2008-09-24 Carles Pina i Estany <carles@pina.cat>
31411
31412 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
31413 warning.
31414 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
31415
31416 2008-09-24 Carles Pina i Estany <carles@pina.cat>
31417
31418 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
31419 Changed to 0x5100.
31420 (GRUB_TERM_PPAGE): Changed to 0x4900.
31421
31422 2008-09-24 Robert Millan <rmh@aybabtu.com>
31423
31424 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
31425 macros (they were i386-pc specific).
31426 * include/grub/sparc64/ieee1275/console.h: Likewise.
31427 * include/grub/efi/console.h: Likewise.
31428
31429 2008-09-22 Bean <bean123ch@gmail.com>
31430
31431 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
31432 resident and in attribute list.
31433
31434 * include/grub/ntfs.h (BMP_LEN): Removed.
31435
31436 2008-09-22 Bean <bean123ch@gmail.com>
31437
31438 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
31439 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
31440
31441 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
31442 error occurs, as grub_disk_open will call grub_disk_close, which will
31443 call p->close (scsi).
31444
31445 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
31446
31447 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
31448 (AC_PREREQ): Bumped to 2.59.
31449 (AC_TRY_COMPILE): Replace obsolete macro with ...
31450 (AC_COMPILE_IFELSE): ... this.
31451 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
31452 (AC_LINK_IFELSE): ... this.
31453
31454 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
31455
31456 * autogen.sh: Add a call to `gendistlist.sh'.
31457
31458 2008-09-19 Christian Franke <franke@computer.org>
31459
31460 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
31461 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
31462 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
31463 Export __enable_execute_stack() to modules.
31464 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
31465 New function.
31466
31467 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
31468
31469 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
31470 Sort the list.
31471
31472 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
31473
31474 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
31475 #include <grub/util/hostdisk.h>.
31476
31477 2008-09-08 Robert Millan <rmh@aybabtu.com>
31478
31479 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
31480 segments when their filesz is zero (grub_file_read() interprets
31481 zero-size as "read until EOF", which results in memory corruption).
31482 Use `lowest_segment' rather than 0 for calculating the current
31483 segment load address.
31484
31485 2008-09-08 Robert Millan <rmh@aybabtu.com>
31486
31487 * util/hostdisk.c (open_device): Replace a grub_util_info() call
31488 with grub_dprintf("hostdisk", ...), as it was so verbose that it
31489 clobbered useful information.
31490
31491 2008-09-08 Robert Millan <rmh@aybabtu.com>
31492
31493 * include/grub/util/biosdisk.h: Move to ...
31494 * include/grub/util/hostdisk.h: ... here. Update all users.
31495 * util/biosdisk.c: Move to ...
31496 * util/hostdisk.c: ... here. Update all users.
31497
31498 2008-09-07 Robert Millan <rmh@aybabtu.com>
31499
31500 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31501 variables.
31502 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31503 and length can be stored directly in the `mbi->mmap_addr' and
31504 `mbi->mmap_length' struct fields.
31505
31506 2008-09-07 Robert Millan <rmh@aybabtu.com>
31507
31508 * conf/i386.rmk: New file. Provides declaration for building
31509 `cpuid.mod'.
31510 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31511 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31512 variables.
31513 Include `conf/i386.mk'.
31514 * conf/i386-efi.rmk: Likewise.
31515 * conf/x86_64-efi.rmk: Likewise.
31516 * conf/i386-coreboot.rmk: Likewise.
31517 * conf/i386-ieee1275.rmk: Likewise.
31518
31519 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31520
31521 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31522 Adds optimization support for BGR based modes.
31523
31524 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31525 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31526 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31527 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31528 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31529 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31530 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31531 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31532 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31533 (grub_video_i386_vbeblit_index_index): Likewise.
31534 (grub_video_i386_vbeblit_replace_directN): Added.
31535 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31536 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31537 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31538 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31539 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31540 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31541 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31542 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31543 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31544 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31545 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31546 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31547 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31548
31549 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31550 (grub_video_i386_vbefill_R8G8B8): Likewise.
31551 (grub_video_i386_vbefill_index): Likewise.
31552 (grub_video_i386_vbefill_direct32): Added.
31553 (grub_video_i386_vbefill_direct24): Likewise.
31554 (grub_video_i386_vbefill_direct16): Likewise.
31555 (grub_video_i386_vbefill_direct8): Likewise.
31556
31557 * include/grub/video.h (grub_video_blit_format): Removed
31558 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31559 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31560 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31561 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31562 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
31563
31564 * video/video.c (grub_video_get_blit_format): Updated to use new
31565 blit formats. Added handling for 16 bit color modes.
31566
31567 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
31568 fillers.
31569 (common_blitter): Updated to use new blitters.
31570
31571 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31572 Removed.
31573 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31574 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31575 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31576 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31577 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31578 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31579 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31580 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31581 (grub_video_i386_vbeblit_index_index): Likewise.
31582 (grub_video_i386_vbeblit_replace_directN): Added.
31583 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31584 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31585 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31586 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31587 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31588 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31589 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31590 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31591 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31592 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31593 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31594 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31595 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31596
31597 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31598 (grub_video_i386_vbefill_R8G8B8): Likewise.
31599 (grub_video_i386_vbefill_index): Likewise.
31600 (grub_video_i386_vbefill_direct32): Added.
31601 (grub_video_i386_vbefill_direct24): Likewise.
31602 (grub_video_i386_vbefill_direct16): Likewise.
31603 (grub_video_i386_vbefill_direct8): Likewise.
31604
31605 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31606 types.
31607
31608 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31609 types.
31610
31611 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31612 blitter types.
31613
31614 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31615 types.
31616
31617 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
31618
31619 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31620 RAID level 1.
31621
31622 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
31623
31624 * fs/iso9660.c (grub_iso9660_date): New structure.
31625 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31626 (grub_iso9660_uuid): New function.
31627
31628 2008-09-05 Bean <bean123ch@gmail.com>
31629
31630 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31631
31632 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31633 insensitive bit for names in Win32 and Win32 & DOS namespace.
31634
31635 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31636
31637 * include/grub/types.h (LONG_MAX): Likewise.
31638
31639 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
31640
31641 * util/getroot.c: Include <config.h>.
31642 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31643 add support for /dev/md/N devices and handle LVM double dash escaping.
31644
31645 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
31646
31647 * config.guess: Update to latest version from config git.
31648 * config.sub: Likewise.
31649
31650 2008-09-03 Robert Millan <rmh@aybabtu.com>
31651
31652 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31653 `disk->total_sectors'.
31654
31655 2008-09-01 Colin D Bennett <colin@gibibit.com>
31656
31657 * include/grub/normal.h: Fixed incorrect comment for
31658 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31659
31660 2008-09-01 Colin D Bennett <colin@gibibit.com>
31661
31662 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31663 values with defines.
31664
31665 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31666 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31667 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
31668 (GRUB_VBE_MODEATTR_COLOR): Likewise.
31669 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
31670 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
31671 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
31672 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
31673 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
31674 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
31675 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
31676 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
31677 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
31678 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
31679 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
31680 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
31681 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
31682 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
31683 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
31684
31685 2008-08-31 Robert Millan <rmh@aybabtu.com>
31686
31687 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
31688 declaration.
31689 (grub_multiboot): Fix a few warnings.
31690
31691 2008-08-31 Robert Millan <rmh@aybabtu.com>
31692
31693 * loader/i386/pc/multiboot.c: Update comment not to say that
31694 boot_device support is unimplemented.
31695
31696 2008-08-31 Robert Millan <rmh@aybabtu.com>
31697
31698 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
31699 or memory map support are unimplemented.
31700
31701 2008-08-31 Colin D Bennett <colin@gibibit.com>
31702
31703 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
31704
31705 2008-08-31 Colin D Bennett <colin@gibibit.com>
31706
31707 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
31708 total video memory in 'vbeinfo' output; show color format details for
31709 each video mode.
31710
31711 2008-08-30 Pavel Roskin <proski@gnu.org>
31712
31713 * util/genmoddep.c: Remove for real this time.
31714 * DISTLIST: Remove util/genmoddep.c.
31715
31716 2008-08-30 Robert Millan <rmh@aybabtu.com>
31717
31718 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
31719 as required by Multiboot spec (it was already 4-byte aligned, but
31720 only by chance).
31721
31722 2008-08-29 Pavel Roskin <proski@gnu.org>
31723
31724 * kern/powerpc/ieee1275/crt0.S: Rename to ...
31725 * kern/powerpc/ieee1275/startup.S: ... this.
31726 * conf/powerpc-ieee1275.rmk: Adjust for the above.
31727 * DISTLIST: Likewise.
31728
31729 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
31730 grub/cpu/kernel.h. Add start label for consistency with other
31731 platforms. Add grub_prefix immediately after start. Add jump
31732 to the code after grub_prefix.
31733 * include/grub/powerpc/kernel.h: Provide valid values for
31734 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
31735
31736 2008-08-29 Bean <bean123ch@gmail.com>
31737
31738 * configure.ac: Change host_os to cygwin for mingw.
31739 (asprintf): New check for function.
31740
31741 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
31742 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
31743
31744 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
31745 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
31746 sync, sleep and grub_util_get_disk_size for mingw.
31747
31748 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
31749 to get size in mingw.
31750 (open_device): Use flag O_BINARY if it's defined.
31751 (find_root_device): Add dummy code for mingw.
31752
31753 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31754 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31755 (get_scsi_disk_name): Return 0 for mingw.
31756
31757 * util/hostfs.c: #include <grub/util/misc.h>.
31758 (grub_hostfs_open): Use "rb" flag to open file, use
31759 grub_util_get_disk_size to get disk size for mingw.
31760
31761 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31762 (asprintf): New function if HAVE_ASPRINTF is not set.
31763 (sync): New function for mingw.
31764 (sleep): Likewise.
31765 (grub_util_get_disk_size): Likewise.
31766
31767 2008-08-28 Pavel Roskin <proski@gnu.org>
31768
31769 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31770 kern/time.c.
31771
31772 2008-08-28 Robert Millan <rmh@aybabtu.com>
31773
31774 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31775
31776 2008-08-28 Robert Millan <rmh@aybabtu.com>
31777
31778 Change find_grub_drive() syntax so it doesn't prevent it from
31779 detecting NULL names as errors.
31780
31781 * util/biosdisk.c (find_grub_drive): Move free slot search code
31782 from here ...
31783 (find_free_slot): ... to here.
31784 (read_device_map): Use find_free_slot() to search for free slots.
31785
31786 2008-08-27 Marco Gerards <marco@gnu.org>
31787
31788 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
31789 (scsi_mod_SOURCES): New variable.
31790 (scsi_mod_CFLAGS): Likewise
31791 (scsi_mod_LDFLAGS): Likewise.
31792
31793 * disk/scsi.c: New file.
31794
31795 * include/grub/scsi.h: Likewise.
31796
31797 * include/grub/scsicmd.h: Likewise.
31798
31799 * disk/ata.c: Include <grub/scsi.h>.
31800 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
31801 instead.
31802 (grub_ata_iterate): Skip ATAPI devices.
31803 (grub_ata_open): Only handle ATAPI devices.
31804 (struct grub_atapi_read): Removed.
31805 (grub_atapi_readsector): Likewise.
31806 (grub_ata_read): No longer handle ATAPI devices.
31807 (grub_ata_write): Likewise.
31808 (grub_atapi_iterate): New function.
31809 (grub_atapi_read): Likewise.
31810 (grub_atapi_write): Likewise.
31811 (grub_atapi_open): Likewise.
31812 (grub_atapi_close): Likewise.
31813 (grub_atapi_dev): New variable.
31814 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
31815 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
31816
31817 * include/grub/disk.h (enum grub_disk_dev_id): Add
31818 `GRUB_DISK_DEVICE_SCSI_ID'.
31819
31820 2008-08-26 Robert Millan <rmh@aybabtu.com>
31821
31822 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
31823 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
31824 descriptive.
31825
31826 2008-08-23 Bean <bean123ch@gmail.com>
31827
31828 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
31829 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31830 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
31831 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
31832 dm_nv.mod.
31833 (raid5rec_mod_SOURCES): New macro.
31834 (raid5rec_mod_CFLAGS): Likewise.
31835 (raid5rec_mod_LDFLAGS): Likewise.
31836 (raid6rec_mod_SOURCES): Likewise.
31837 (raid6rec_mod_CFLAGS): Likewise.
31838 (raid6rec_mod_LDFLAGS): Likewise.
31839 (mdraid_mod_SOURCES): Likewise.
31840 (mdraid_mod_CFLAGS): Likewise.
31841 (mdraid_mod_LDFLAGS): Likewise.
31842 (dm_nv_mod_SOURCES): Likewise.
31843 (dm_nv_mod_CFLAGS): Likewise.
31844 (dm_nv_mod_LDFLAGS): Likewise.
31845
31846 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
31847 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31848 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31849
31850 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
31851 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31852
31853 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31854
31855 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31856
31857 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31858
31859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31860
31861 * disk/raid5_recover.c: New file.
31862
31863 * disk/raid6_recover.c: Likewise.
31864
31865 * disk/mdraid_linux.c: Likewise.
31866
31867 * disk/dmraid_nvidia.c: Likewise.
31868
31869 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
31870 ULONG_MAX.
31871
31872 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
31873 calculate the size of raid device.
31874 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
31875 different layout of raid5.
31876 (grub_raid_scan_device): Remove code specific to mdraid.
31877 (grub_raid_list): New variable.
31878 (free_array): New function.
31879 (grub_raid_register): Likewise.
31880 (grub_raid_unregister): Likewise.
31881 (grub_raid_rescan): Likewise.
31882 (GRUB_MOD_INIT): Don't iterate device here.
31883 (GRUB_MOD_FINI): Use free_array to release resource.
31884
31885 * include/grub/raid.h: Remove macro and structure specific to mdraid.
31886 (grub_raid5_recover_func_t): New function variable type.
31887 (grub_raid6_recover_func_t): Likewise.
31888 (grub_raid5_recover_func): New variable.
31889 (grub_raid6_recover_func): Likewise.
31890 (grub_raid_register): New function.
31891 (grub_raid_unregister): Likewise.
31892 (grub_raid_rescan): Likewise.
31893 (grub_raid_block_xor): Likewise.
31894
31895 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
31896 (CMD_CRC): New macro.
31897 (part): Removed.
31898 (read_file): Handle device as well as file.
31899 (cmd_crc): New function.
31900 (fstest): Handle multiple disks.
31901 (options): Remove part, raw and long, add root and diskcount.
31902 (usage): Add crc, remove -p, -r, -l, add -r and -c.
31903 (main): Find the first non option entry and ignore subsequent options,
31904 add handling for the new options, support multiple disks.
31905
31906 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
31907
31908 2008-08-23 Bean <bean123ch@gmail.com>
31909
31910 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
31911
31912 * genfslist.sh: Ignore kernel.mod.
31913
31914 * genpartmaplist.sh: Likewise.
31915
31916 2008-08-23 Robert Millan <rmh@aybabtu.com>
31917
31918 * util/getroot.c (find_root_device): Skip anything that starts with
31919 a dot, not just directories. This avoids things like /dev/.tmp.md0.
31920
31921 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
31922
31923 * util/update-grub.in (GRUB_GFXMODE): Export variable.
31924 * util/grub.d/00_header.in: Allow the administrator to change default
31925 gfxmode via ${GRUB_GFXMODE}.
31926
31927 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
31928
31929 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
31930
31931 2008-08-21 Robert Millan <rmh@aybabtu.com>
31932
31933 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
31934 loader.
31935 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
31936 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
31937
31938 2008-08-20 Carles Pina i Estany <carles@pina.cat>
31939
31940 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
31941 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
31942
31943 2008-08-19 Robert Millan <rmh@aybabtu.com>
31944
31945 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
31946 (struct grub_virtual_screen): Remove `cursor_color'.
31947 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
31948 initialization.
31949 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
31950
31951 2008-08-18 Robert Millan <rmh@aybabtu.com>
31952
31953 Unify (identical) linux_normal.c files.
31954 * loader/i386/efi/linux_normal.c: Move from here ...
31955 * loader/linux_normal.c: ... to here. Update all users.
31956 * loader/i386/pc/linux_normal.c: Delete. Update all users.
31957 * loader/i386/ieee1275/linux_normal.c: Likewise.
31958
31959 2008-08-18 Robert Millan <rmh@aybabtu.com>
31960
31961 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
31962 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
31963 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
31964 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
31965 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
31966 New macros.
31967 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
31968 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
31969 (GRUB_LINUX_CL_END_OFFSET): ... to here.
31970 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
31971 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
31972 (GRUB_EFI_CL_END_OFFSET): Rename to ...
31973 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
31974 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
31975 Initialize `params->video_cursor_x' and `params->video_cursor_y'
31976 portably using grub_getxy().
31977 Replace `-EFI' with `-bzImage' in boot message.
31978
31979 2008-08-17 Robert Millan <rmh@aybabtu.com>
31980
31981 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
31982
31983 2008-08-17 Robert Millan <rmh@aybabtu.com>
31984
31985 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
31986
31987 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
31988 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
31989 (grub_machine_mmap_iterate): New function declaration.
31990 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
31991 structure.
31992 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
31993 macros.
31994
31995 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
31996 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
31997 Move e820 parsing from here ...
31998 * kern/i386/pc/mmap.c: New file.
31999 (grub_machine_mmap_iterate): ... to here.
32000
32001 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
32002 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
32003 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
32004 (grub_available_iterate): Redeclare to return `void', and redeclare
32005 its hook to use grub_uint64_t as addr and size parameters, and rename
32006 to ...
32007 (grub_machine_mmap_iterate): ... this. Update all users.
32008
32009 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
32010 to make it more readable. Rename to ...
32011 (grub_machine_mmap_iterate): ... this.
32012
32013 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
32014 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
32015 (grub_multiboot): Allocate an extra region after the payload, and fill
32016 it with a Multiboot memory map. Adjust a.out loader to calculate size
32017 with the extra space.
32018 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
32019 with the extra space.
32020
32021 2008-08-17 Carles Pina i Estany <carles@pina.cat>
32022
32023 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
32024
32025 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
32026
32027 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
32028 mdate-sh to the list `find' searches for.
32029 * DISTLIST: Regenerated.
32030
32031 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
32032
32033 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
32034 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
32035 genmoddep.awk, gensymlist.sh.in.
32036 (DISTDIRS): Add bus, docs, hook, lib.
32037 * DISTLIST: Regenerated.
32038 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
32039
32040 2008-08-16 Robert Millan <rmh@aybabtu.com>
32041
32042 * disk/raid.c (grub_raid_init): Handle/report errors set by
32043 grub_device_iterate().
32044 * disk/lvm.c (grub_lvm_init): Likewise.
32045
32046 2008-08-15 Bean <bean123ch@gmail.com>
32047
32048 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32049 and datehook.mod.
32050 (datetime_mod_SOURCES): New macro.
32051 (datetime_mod_CFLAGS): Likewise.
32052 (datetime_mod_LDFLAGS): Likewise.
32053 (date_mod_SOURCES): Likewise.
32054 (date_mod_CFLAGS): Likewise.
32055 (date_mod_LDFLAGS): Likewise.
32056 (datehook_mod_SOURCES): Likewise.
32057 (datehook_mod_CFLAGS): Likewise.
32058 (datehook_mod_LDFLAGS): Likewise.
32059
32060 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32061 and datehook.mod.
32062 (datetime_mod_SOURCES): New macro.
32063 (datetime_mod_CFLAGS): Likewise.
32064 (datetime_mod_LDFLAGS): Likewise.
32065 (date_mod_SOURCES): Likewise.
32066 (date_mod_CFLAGS): Likewise.
32067 (date_mod_LDFLAGS): Likewise.
32068 (datehook_mod_SOURCES): Likewise.
32069 (datehook_mod_CFLAGS): Likewise.
32070 (datehook_mod_LDFLAGS): Likewise.
32071
32072 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32073 and datehook.mod.
32074 (datetime_mod_SOURCES): New macro.
32075 (datetime_mod_CFLAGS): Likewise.
32076 (datetime_mod_LDFLAGS): Likewise.
32077 (date_mod_SOURCES): Likewise.
32078 (date_mod_CFLAGS): Likewise.
32079 (date_mod_LDFLAGS): Likewise.
32080 (datehook_mod_SOURCES): Likewise.
32081 (datehook_mod_CFLAGS): Likewise.
32082 (datehook_mod_LDFLAGS): Likewise.
32083
32084 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32085 and datehook.mod.
32086 (datetime_mod_SOURCES): New macro.
32087 (datetime_mod_CFLAGS): Likewise.
32088 (datetime_mod_LDFLAGS): Likewise.
32089 (date_mod_SOURCES): Likewise.
32090 (date_mod_CFLAGS): Likewise.
32091 (date_mod_LDFLAGS): Likewise.
32092 (datehook_mod_SOURCES): Likewise.
32093 (datehook_mod_CFLAGS): Likewise.
32094 (datehook_mod_LDFLAGS): Likewise.
32095
32096 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32097 and datehook.mod.
32098 (datetime_mod_SOURCES): New macro.
32099 (datetime_mod_CFLAGS): Likewise.
32100 (datetime_mod_LDFLAGS): Likewise.
32101 (date_mod_SOURCES): Likewise.
32102 (date_mod_CFLAGS): Likewise.
32103 (date_mod_LDFLAGS): Likewise.
32104 (datehook_mod_SOURCES): Likewise.
32105 (datehook_mod_CFLAGS): Likewise.
32106 (datehook_mod_LDFLAGS): Likewise.
32107
32108 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
32109
32110 * commands/date.c: New file.
32111
32112 * hook/datehook.c: Likewise.
32113
32114 * include/grub/lib/datetime.h: Likewise.
32115
32116 * include/grub/i386/cmos.h: Likewise.
32117
32118 * lib/datetime.c: Likewise.
32119
32120 * lib/i386/datetime.c: Likewise.
32121
32122 * lib/efi/datetime.c: Likewise.
32123
32124 2008-08-14 Robert Millan <rmh@aybabtu.com>
32125
32126 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
32127 (grub_mkelfimage_SOURCES): New variable.
32128 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
32129
32130 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
32131 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
32132 * conf/powerpc-ieee1275.rmk: Likewise.
32133 * conf/i386-ieee1275.rmk: Likewise.
32134
32135 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
32136 * kern/i386/coreboot/init.c: Likewise.
32137
32138 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
32139 with `<grub/cpu/kernel.h>'.
32140 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
32141 to ...
32142 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
32143 * kern/i386/coreboot/startup.S: Likewise.
32144
32145 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
32146 (GRUB_MOD_GAP): Remove.
32147 * include/grub/powerpc/kernel.h: New file.
32148 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
32149 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32150 * include/grub/i386/kernel.h: New file.
32151 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
32152 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
32153 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32154
32155 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
32156 `grub-mkelfimage'.
32157 Use --directory when invoking grub_mkimage.
32158
32159 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
32160 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
32161 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
32162 and GRUB_KERNEL_CPU_PREFIX.
32163
32164 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
32165
32166 * include/grub/err.h (grub_err_printf): New function prototype.
32167 * util/misc.c (grub_err_printf): New function.
32168 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
32169 grub_printf.
32170 * kern/err.c (grub_print_error): Use grub_err_printf.
32171
32172 2008-08-13 Robert Millan <rmh@aybabtu.com>
32173
32174 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
32175
32176 2008-08-13 Robert Millan <rmh@aybabtu.com>
32177
32178 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
32179 boot entry.
32180
32181 2008-08-12 Robert Millan <rmh@aybabtu.com>
32182
32183 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
32184 of the relocation code from here ...
32185 (grub_multiboot): ... to here.
32186 (forward_relocator, backward_relocator): Move from here ...
32187 * kern/i386/loader.S (grub_multiboot_forward_relocator)
32188 (grub_multiboot_backward_relocator): ... to here.
32189 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
32190 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
32191 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
32192 (grub_multiboot_forward_relocator_end)
32193 (grub_multiboot_backward_relocator)
32194 (grub_multiboot_backward_relocator_end): New variables.
32195
32196 2008-08-12 Bean <bean123ch@gmail.com>
32197
32198 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
32199
32200 2008-08-11 Robert Millan <rmh@aybabtu.com>
32201
32202 * kern/i386/linuxbios/startup.S: Move from here ...
32203 * kern/i386/coreboot/startup.S: ... to here.
32204
32205 * kern/i386/linuxbios/init.c: Move from here ...
32206 * kern/i386/coreboot/init.c: ... to here.
32207
32208 * kern/i386/linuxbios/table.c: Move from here ...
32209 * kern/i386/coreboot/mmap.c: ... to here.
32210
32211 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
32212
32213 2008-08-11 Robert Millan <rmh@aybabtu.com>
32214
32215 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
32216 errors. Leave it to the upper layer to handle them.
32217
32218 2008-08-09 Christian Franke <franke@computer.org>
32219
32220 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
32221 * conf/common.rmk: Install `grub-pe2elf' only if requested.
32222 Install `grub.d/10_windows' only on Cygwin.
32223 * configure.ac: Add subst of `target_os'.
32224 Check `target_os' also before setting TARGET_OBJ2ELF.
32225 Add `--enable-grub-pe2elf'.
32226
32227 2008-08-08 Robert Millan <rmh@aybabtu.com>
32228
32229 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32230 (grub_last_time): Change type to grub_uint64_t.
32231 (grub_disk_open): Migrate code from to using grub_get_time_ms().
32232 (grub_disk_close): Likewise.
32233
32234 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32235 (run_menu): Migrate code from to using grub_get_time_ms().
32236
32237 * util/misc.c (grub_get_time_ms): New function.
32238
32239 2008-08-08 Marco Gerards <marco@gnu.org>
32240
32241 * disk/ata.c (grub_ata_regget): Change return type to
32242 `grub_uint8_t'.
32243 (grub_ata_regget2): Likewise.
32244 (grub_ata_wait_status): New function.
32245 (grub_ata_wait_busy): Removed function, updated all users to use
32246 `grub_ata_wait_status'.
32247 (grub_ata_wait_drq): Likewise.
32248 (grub_ata_cmd): New function.
32249 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
32250 error handling.
32251 (grub_ata_pio_write): Add error handling.
32252 (grub_atapi_identify): Likewise.
32253 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
32254 handling.
32255 (grub_ata_identify): Use `grub_ata_cmd' and improve error
32256 handling. Actually use the detected registers. Reorder the
32257 detection logic such that it is easier to read.
32258 (grub_ata_pciinit): Do not assign the same ID to each controller.
32259 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
32260 handling.
32261 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
32262
32263 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
32264
32265 2008-08-08 Marco Gerards <marco@gnu.org>
32266
32267 * NEWS: Update.
32268
32269 2008-08-07 Bean <bean123ch@gmail.com>
32270
32271 * include/grub/x86_64/pci.h: New file.
32272
32273 2008-08-07 Christian Franke <franke@computer.org>
32274
32275 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
32276 (TIMER2_GATE): Likewise.
32277 (grub_pit_wait): Add enable/disable of the timer2 gate
32278 bit of port 0x61. This fixes a possible infinite loop.
32279
32280 2008-08-07 Bean <bean123ch@gmail.com>
32281
32282 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
32283 kern/i386/tsc.c and kern/i386/pit.c.
32284
32285 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
32286 x86_64 platform.
32287
32288 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
32289 <grub/i386/tsc.h>.
32290
32291 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
32292
32293 2008-08-07 Bean <bean123ch@gmail.com>
32294
32295 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
32296
32297 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
32298
32299 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
32300 multiple inclusion. Add #include <grub/types.h>.
32301
32302 2008-08-06 Christian Franke <franke@computer.org>
32303
32304 * conf/common.rmk: Build and install `10_windows'.
32305 * util/grub.d/10_windows.in: New script.
32306
32307 2008-08-06 Pavel Roskin <proski@gnu.org>
32308
32309 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
32310
32311 2008-08-06 Robert Millan <rmh@aybabtu.com>
32312
32313 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
32314 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
32315
32316 2008-08-06 Bean <bean123ch@gmail.com>
32317
32318 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
32319 (grub_pxefs_fs_int): Remove dummy definition.
32320 (grub_pxefs_open): Use data->block_size to store the current block
32321 size setting.
32322 (grub_pxefs_read): Use block size stored in data->block_size. As the
32323 value of grub_pxe_blksize can be changed after the file is opened.
32324
32325 2008-08-06 Bean <bean123ch@gmail.com>
32326
32327 * fs/i386/pc/pxe.c (curr_file): new variable.
32328 (grub_pxefs_open): Simply the handling of pxe file system. Don't
32329 require the dummy internal file system anymore.
32330 (grub_pxefs_read): Removed.
32331 (grub_pxefs_close): Likewise.
32332 (grub_pxefs_fs_int): Likewise.
32333 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
32334 connection when we switch file.
32335 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
32336
32337 2008-08-06 Robert Millan <rmh@aybabtu.com>
32338
32339 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
32340 `halt.mod'.
32341 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
32342 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
32343
32344 * kern/i386/halt.c: New file.
32345 * kern/i386/reboot.c: Likewise.
32346 * include/grub/i386/reboot.h: Likewise.
32347 * include/grub/i386/halt.h: Likewise.
32348
32349 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
32350 Include `<grub/cpu/halt.h>'.
32351 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
32352 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
32353
32354 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
32355 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
32356 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
32357 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
32358 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
32359 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
32360 from here ...
32361 * include/grub/i386/at_keyboard.h: ... to here.
32362
32363 2008-08-05 Robert Millan <rmh@aybabtu.com>
32364
32365 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
32366 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
32367 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
32368 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32369 `kern/generic/millisleep.c'.
32370
32371 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
32372 instead of grub_get_rtc().
32373 (grub_tsc_init): Initialize `tsc_boot_time'.
32374
32375 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
32376 (grub_machine_init): Use grub_tsc_init() rather than
32377 installing an RTC-based handler via grub_install_get_time_ms().
32378
32379 * kern/i386/pit.c: New file.
32380 * include/grub/i386/pit.h: Likewise.
32381
32382 2008-08-05 Bean <bean123ch@gmail.com>
32383
32384 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
32385
32386 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
32387 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
32388 (pxe_mod_SOURCES): New macro.
32389 (pxe_mod_CFLAGS): Likewise.
32390 (pxe_mod_LDFLAGS): Likewise.
32391 (pxecmd_mod_SOURCES): Likewise.
32392 (pxecmd_mod_CFLAGS): Likewise.
32393 (pxecmd_mod_LDFLAGS): Likewise.
32394
32395 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
32396 (grub_pxe_call): Likewise.
32397
32398 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
32399
32400 * commands/i386/pc/pxecmd.c: New file.
32401
32402 * fs/i386/pc/pxe.c: Likewise.
32403
32404 * include/grub/i386/pc/pxe.h: Likewise.
32405
32406 2008-08-05 Bean <bean123ch@gmail.com>
32407
32408 * util/console.c (grub_console_cur_color): New variable.
32409 (grub_console_standard_color): Likewise.
32410 (grub_console_normal_color): Likewise.
32411 (grub_console_highlight_color): Likewise.
32412 (color_map): Likewise.
32413 (use_color): Likewise.
32414 (NUM_COLORS): New macro.
32415 (grub_ncurses_setcolorstate): Handle color properly.
32416 (grub_ncurses_setcolor): Don't change color here, just remember the
32417 settings, color will be set in grub_ncurses_setcolorstate.
32418 (grub_ncurses_getcolor): New function.
32419 (grub_ncurses_init): Initialize color pairs.
32420 (grub_ncurses_term): New member grub_ncurses_getcolor.
32421
32422 2008-08-05 Colin D Bennett <colin@gibibit.com>
32423
32424 High resolution timer support. Implemented for x86 CPUs using TSC.
32425 Extracted generic grub_millisleep() so it's linked in only as needed.
32426 This requires a Pentium compatible CPU; if the RDTSC instruction is
32427 not supported, then it falls back on the generic grub_get_time_ms()
32428 implementation that uses the machine's RTC.
32429
32430 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
32431 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32432 `kern/generic/millisleep.c'.
32433
32434 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
32435 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
32436
32437 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
32438 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
32439
32440 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32441
32442 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32443 `kern/generic/millisleep.c'.
32444
32445 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32446
32447 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
32448
32449 * kern/generic/rtc_get_time_ms.c: New file.
32450
32451 * kern/generic/millisleep.c: New file.
32452
32453 * kern/misc.c: Don't include
32454 <kern/time.h> anymore.
32455 (grub_millisleep_generic): Removed.
32456
32457 * commands/sleep.c (grub_interruptible_millisleep): Uses
32458 grub_get_time_ms() instead of grub_get_rtc().
32459
32460 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
32461 function.
32462 (grub_cpu_is_cpuid_supported): New inline function.
32463 (grub_cpu_is_tsc_supported): New inline function.
32464 (grub_tsc_init): New function prototype.
32465 (grub_tsc_get_time_ms): New function prototype.
32466
32467 * kern/i386/tsc.c (grub_get_time_ms): New file.
32468
32469 * include/grub/time.h: Include <grub/types.h.
32470 (grub_millisleep_generic): Removed.
32471 (grub_get_time_ms): New prototype.
32472 (grub_install_get_time_ms): New prototype.
32473 (grub_rtc_get_time_ms): New prototype.
32474
32475 * kern/time.c (grub_get_time_ms): New function.
32476 (grub_install_get_time_ms): New function.
32477
32478 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
32479 <grub/time.h> anymore.
32480 (grub_millisleep): Removed.
32481 (grub_machine_init): Call grub_tsc_init.
32482
32483 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
32484 get_time_ms() implementation.
32485
32486 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
32487 (ieee1275_get_time_ms): New function.
32488 (grub_machine_init): Install get_time_ms() implementation.
32489
32490 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
32491 (grub_machine_init): Call grub_tsc_init().
32492 (grub_millisleep): Removed.
32493
32494 * kern/ieee1275/init.c (grub_millisleep): Removed.
32495 (grub_machine_init): Install ieee1275_get_time_ms()
32496 implementation.
32497 (ieee1275_get_time_ms): New function.
32498 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32499 real work.
32500
32501 2008-08-05 Marco Gerards <marco@gnu.org>
32502
32503 * disk/ata.c: Include <grub/pci.h>.
32504 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32505 (grub_ata_initialize): Rewritten.
32506 (grub_ata_device_initialize): New function.
32507
32508 2008-08-04 Pavel Roskin <proski@gnu.org>
32509
32510 * kern/main.c: Include grub/mm.h.
32511
32512 2008-08-04 Robert Millan <rmh@aybabtu.com>
32513
32514 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32515 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32516 corruption problem).
32517
32518 2008-08-04 Robert Millan <rmh@aybabtu.com>
32519
32520 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32521 warnings introduced in my last commit.
32522
32523 2008-08-03 Robert Millan <rmh@aybabtu.com>
32524
32525 Make PCI available on all i386 architectures.
32526
32527 * include/grub/i386/pc/pci.h: Move from here ...
32528 * include/grub/i386/pci.h: ... to here.
32529
32530 * include/grub/i386/pc/pci.h: Remove.
32531 * include/grub/i386/efi/pci.h: Remove.
32532 * include/grub/x86_64/efi/pci.h: Remove.
32533
32534 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32535 `<grub/cpu/pci.h>'.
32536
32537 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32538 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32539 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32540
32541 * conf/i386-ieee1275.rmk: Likewise.
32542
32543 2008-08-03 Robert Millan <rmh@aybabtu.com>
32544
32545 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32546 (grub_console_setcursor): Make it possible to set cursor off.
32547
32548 2008-08-03 Robert Millan <rmh@aybabtu.com>
32549
32550 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32551 of modules instead of assuming which platform provides what.
32552 * util/update-grub.in: Likewise.
32553
32554 2008-08-03 Robert Millan <rmh@aybabtu.com>
32555
32556 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32557 instead of `grub_install_dos_part' to determine whether a drive needs
32558 to be prepended to prefix (`grub_install_dos_part' is not reliable,
32559 because it can be overridden when loading GRUB via Multiboot).
32560
32561 2008-08-02 Robert Millan <rmh@aybabtu.com>
32562
32563 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32564
32565 2008-08-02 Robert Millan <rmh@aybabtu.com>
32566
32567 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32568 of informational grub_dprintf() calls.
32569
32570 2008-08-02 Robert Millan <rmh@aybabtu.com>
32571
32572 * disk/memdisk.c (memdisk_size): Don't initialize.
32573 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32574
32575 * include/grub/i386/pc/kernel.h
32576 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32577 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32578 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32579 (grub_arch_memdisk_size): Remove.
32580
32581 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32582 field (was only used to transfer a constant). Add `type' field to
32583 support multiple module types.
32584 (grub_module_iterate): New function.
32585
32586 * kern/device.c (grub_device_open): Do not hide error messages
32587 when grub_disk_open() fails. Use grub_print_error() instead.
32588
32589 * kern/i386/pc/init.c (grub_arch_modules_addr)
32590 (grub_arch_memdisk_size): Remove functions.
32591 (grub_arch_modules_addr): Return the module address in high memory
32592 (now that it isn't copied anymore).
32593
32594 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32595 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32596 decompression routine (grub_total_module_size already includes that
32597 now). Don't copy modules back to low memory.
32598
32599 * kern/main.c: Include `<grub/mm.h>'.
32600 (grub_load_modules): Split out (and use) ...
32601 (grub_module_iterate): ... this function, which iterates through
32602 module objects and runs a hook.
32603 Comment out grub_mm_init_region() call, as it would cause non-ELF
32604 modules to be overwritten.
32605
32606 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32607 the memdisk image in its own region, make it part of the module list.
32608 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32609 (main): Parse --memdisk|-m option, and pass user-provided path as
32610 parameter to generate_image().
32611 (add_segments): Pass `memdisk_path' down to load_modules().
32612 (load_modules): Embed memdisk image in module section when requested.
32613 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32614 `header.type' instead of `header.offset'.
32615
32616 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32617 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32618 (memdisk_mod_LDFLAGS): New variables.
32619 * conf/i386-coreboot.rmk: Likewise.
32620 * conf/i386-ieee1275.rmk: Likewise.
32621
32622 2008-08-02 Robert Millan <rmh@aybabtu.com>
32623
32624 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32625 (backward_relocator): New variables. Used to allocate and relocate
32626 the payload, respectively.
32627 (grub_multiboot_load_elf32): Load into heap instead of requested
32628 address, install the appropriate relocator code in each bound of
32629 the payload, and set the entry point such that
32630 grub_multiboot_real_boot() will jump to one of them.
32631
32632 * kern/i386/loader.S (grub_multiboot_payload_size)
32633 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32634 (grub_multiboot_payload_entry_offset): New variables.
32635 (grub_multiboot_real_boot): Set cpu context to what the relocator
32636 expects, and jump to the relocator instead of the payload.
32637
32638 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32639 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32640 (grub_multiboot_payload_entry_offset): Export.
32641
32642 2008-08-01 Bean <bean123ch@gmail.com>
32643
32644 * normal/menu_entry.c (editor_getline): Don't return the original
32645 string as result, as it will be released by lexer once it has done
32646 using it.
32647
32648 2008-08-01 Robert Millan <rmh@aybabtu.com>
32649
32650 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32651 within menuentries, not before them.
32652 util/grub.d/10_hurd.in: Likewise.
32653
32654 2008-08-01 Bean <bean123ch@gmail.com>
32655
32656 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32657 (bufio_mod_SOURCES): New macro.
32658 (bufio_mod_CFLAGS): Likewise.
32659 (bufio_mod_LDFLAGS): Likewise.
32660
32661 * include/grub/bufio.h: New file.
32662
32663 * io/bufio.c: Likewise.
32664
32665 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32666 (grub_video_reader_png): Use grub_buffile_open to open file.
32667
32668 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
32669 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
32670
32671 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
32672 (grub_video_reader_tga): Use grub_buffile_open to open file.
32673
32674 * font/manager.c: Include <grub/bufio.h>.
32675 (add_font): Use grub_buffile_open to open file.
32676
32677 2008-07-31 Robert Millan <rmh@aybabtu.com>
32678
32679 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
32680 ELF segments, use a macro for arbitrarily accessing any of them instead
32681 of preparing a pointer that allows access to one at a time.
32682 (grub_multiboot_load_elf64): Likewise.
32683
32684 2008-07-31 Bean <bean123ch@gmail.com>
32685
32686 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
32687 GRUB_KERNEL_MACHINE_DATA_END.
32688
32689 2008-07-30 Robert Millan <rmh@aybabtu.com>
32690
32691 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
32692 Increase from 0x50 to 0x60.
32693 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
32694 use UUIDs to identify the root drive for them. If that's not
32695 possible, abort.
32696 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
32697 check, for cross-disk installs.
32698
32699 2008-07-30 Robert Millan <rmh@aybabtu.com>
32700
32701 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
32702 is non-empty, use it to set the `prefix' environment variable instead
32703 of the usual approach.
32704 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
32705 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
32706 environment variable instead of dummy make_install_device().
32707
32708 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
32709 (start): Insert a data section, with `grub_prefix' variable.
32710 * kern/i386/linuxbios/startup.S: Likewise.
32711
32712 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
32713 New variable reference.
32714 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
32715 New macro. Defines offset of `grub_prefix' within startup.S (relative
32716 to `start').
32717 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
32718 section within startup.S (relative to `start').
32719 * include/grub/i386/coreboot/kernel.h: Likewise.
32720
32721 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
32722 Overwrite grub_prefix with its contents, at the beginning of the
32723 first segment.
32724 (main): Understand -p|--prefix.
32725
32726 2008-07-30 Robert Millan <rmh@aybabtu.com>
32727
32728 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
32729
32730 2008-07-30 Robert Millan <rmh@aybabtu.com>
32731
32732 * term/i386/pc/vga_text.c (grub_console_cls): Use
32733 grub_console_gotoxy() to go back to beginning of the screen.
32734 Found by Patrick Georgi <patrick.georgi@coresystems.de>
32735
32736 2008-07-29 Christian Franke <franke@computer.org>
32737
32738 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32739 Add conversion of emulated mount points on Cygwin.
32740
32741 2008-07-29 Christian Franke <franke@computer.org>
32742
32743 * util/update-grub.in: Add a check for admin
32744 group on Cygwin.
32745 Remove old `grub.cfg.new' before creation.
32746 Add `-f' to `mv' to handle the different filesystem
32747 semantics of Windows.
32748
32749 2008-07-29 Bean <bean123ch@gmail.com>
32750
32751 * normal/main.c (get_line): Fix buffer overflow bug.
32752
32753 2008-07-28 Robert Millan <rmh@aybabtu.com>
32754
32755 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32756 (struct grub_apple_header): New struct. Describes the layout of
32757 the partmap header.
32758 (apple_partition_map_iterate): Check the header magic as well as the
32759 partition magic (which was already being checked).
32760
32761 2008-07-28 Pavel Roskin <proski@gnu.org>
32762
32763 * genmk.rb: Add a warning to the beginning of the output that
32764 it's a generated file and should not be edited.
32765
32766 2008-07-28 Robert Millan <rmh@aybabtu.com>
32767
32768 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32769 with the same number are found, just use issue a warning with
32770 grub_dprintf(), as this error has been reported to be non-fatal.
32771
32772 2008-07-27 Robert Millan <rmh@aybabtu.com>
32773
32774 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32775 information.
32776
32777 2008-07-27 Bean <bean123ch@gmail.com>
32778
32779 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
32780 (grub_fat_find_dir): Ignore case when comparing filename.
32781
32782 2008-07-27 Bean <bean123ch@gmail.com>
32783
32784 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
32785 smallino, as it's more descriptive, and i8count can be confused with
32786 the other field count.
32787 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
32788 inode type.
32789
32790 2008-07-27 Bean <bean123ch@gmail.com>
32791
32792 * commands/crc.c: New file.
32793
32794 * lib/crc.c: Likewise.
32795
32796 * include/grub/lib/crc.h: Likewise.
32797
32798 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
32799
32800 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
32801 (hexdump): Move this function to ...
32802
32803 * lib/hexdump.c: ... here.
32804
32805 * include/grub/hexdump.h: Renamed to ...
32806
32807 * include/grub/lib/hexdump.h: ... this.
32808
32809 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
32810
32811 * util/grub-editenv.c: Likewise.
32812
32813 * include/envblk.h: Renamed to ...
32814
32815 * include/lib/envblk.h: ... this.
32816
32817 * util/envblk.c: Renamed to ...
32818
32819 * lib/envblk.c: ... this.
32820
32821 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
32822 lib/hexdump.c.
32823 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
32824 (pkglib_MODULES): Add crc.mod.
32825 (hexdump_mod_SOURCES): Add lib/hexdump.c.
32826 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
32827 (crc_mod_SOURCES): New macro.
32828 (crc_mod_CFLAGS): Likewise.
32829 (crc_mod_LDFLAGS): Likewise.
32830
32831 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
32832
32833 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32834
32835 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32836
32837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32838
32839 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32840
32841 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
32842
32843 * commands/help.c: Include <grub/term.h>.
32844 (TERM_WIDTH): Removed. Updated all users.
32845
32846 2008-07-27 Pavel Roskin <proski@gnu.org>
32847
32848 * util/getroot.c (find_root_device): Rephrase a comment to avoid
32849 spurious warnings about a comment within a comment.
32850
32851 2008-07-25 Robert Millan <rmh@aybabtu.com>
32852
32853 * util/getroot.c (find_root_device): Skip devices that match
32854 /dev/dm-[0-9]. This lets the real device be found for any type of
32855 abstraction (LVM, EVMS, RAID..).
32856 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
32857 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
32858 device is found first, find_root_device() will now skip it.
32859
32860 2008-07-24 Pavel Roskin <proski@gnu.org>
32861
32862 * include/grub/types.h: Use __builtin_bswap32() and
32863 __builtin_bswap64() with gcc 4.3 and newer.
32864
32865 2008-07-24 Christian Franke <franke@computer.org>
32866
32867 * util/i386/pc/grub-install.in: If `--debug' is specified,
32868 pass `--verbose' to grub-setup.
32869 Abort script if make_system_path_relative_to_its_root() fails.
32870
32871 2008-07-24 Bean <bean123ch@gmail.com>
32872
32873 * configure.ac: Fixed a bug caused by the previous cygwin patch,
32874 variable `target_platform' should be `platform'.
32875
32876 2008-07-24 Bean <bean123ch@gmail.com>
32877
32878 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
32879 (grub_png_init_fixed_block): New function.
32880 (grub_png_decode_image_data): Handle fixed huffman code compression.
32881
32882 2008-07-24 Bean <bean123ch@gmail.com>
32883
32884 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
32885 (grub_pe2elf_SOURCES): New macro.
32886 (CLEANFILES): Add grub-pe2elf.
32887
32888 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
32889 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
32890 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
32891 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
32892 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
32893 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
32894 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
32895 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
32896 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
32897 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
32898 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
32899 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
32900 (GRUB_PE32_DT_FUNCTION): Likewise.
32901 (GRUB_PE32_REL_I386_DIR32): Likewise.
32902 (GRUB_PE32_REL_I386_REL32): Likewise.
32903 (grub_pe32_symbol): New structure.
32904 (grub_pe32_reloc): Likewise.
32905
32906 * util/grub-pe2elf.c: New file.
32907
32908 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
32909 start symbol in non pc platform.
32910
32911 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
32912
32913 The following patches are from Christian Franke.
32914
32915 * include/grub/dl.h: Remove .previous, gas supports this only
32916 for ELF format.
32917
32918 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
32919 Remove .type, gas supports this only for ELF format.
32920
32921 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
32922 nullbytes in symbol table. This fixes an infinite loop if table is
32923 zero filled.
32924
32925 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
32926 TARGET_IMG_LDFLAGS and EXEEXT.
32927
32928 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
32929 TARGET_IMG_LDFLAGS_AC.
32930 (grub_CHECK_STACK_ARG_PROBE): New function.
32931
32932 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
32933
32934 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
32935
32936 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
32937 to set TARGET_IMG_LD* accordingly.
32938 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
32939 Add call to grub_CHECK_STACK_ARG_PROBE.
32940 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
32941
32942 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
32943
32944 * genmk.rb: Add EXEEXT to CLEANFILES.
32945
32946 2008-07-23 Robert Millan <rmh@aybabtu.com>
32947
32948 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
32949 define the codes for arrows and lines used for the menu).
32950 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
32951 as well.
32952
32953 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
32954 fonts, because the latter are too slow.
32955
32956 2008-07-21 Bean <bean123ch@gmail.com>
32957
32958 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
32959 a20. Run keyboard test last, as it will cause macbook to halt.
32960
32961 2008-07-18 Pavel Roskin <proski@gnu.org>
32962
32963 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
32964 load foreign architecture modules correctly anyway. Keep
32965 support for loading host architecture modules, whether we
32966 compile them or not.
32967
32968 2008-07-17 Pavel Roskin <proski@gnu.org>
32969
32970 * configure.ac: Use -m32 or -m64 regardless of whether we had to
32971 change target_cpu. The compiler default can mismatch target_cpu
32972 in any case.
32973
32974 * disk/efi/efidisk.c: Fix format warnings on x86_64.
32975 * kern/efi/efi.c: Likewise.
32976
32977 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
32978 target compiler is functional.
32979 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
32980 are set up.
32981
32982 * configure.ac: Default to efi platform for x86_64-apple. Allow
32983 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
32984 adjustments from the rest, only do them if target is not
32985 explicitly given. Merge other adjustments with the final sanity
32986 check. Remove an extraneous check for supported CPU. Be
32987 specific which CPU and which platform is not supported.
32988
32989 * configure.ac: Default to pc platform for x86_64.
32990
32991 2008-07-17 Robert Millan <rmh@aybabtu.com>
32992
32993 Partial LinuxBIOS -> Coreboot rename.
32994
32995 * conf/i386-linuxbios.rmk: Renamed to ...
32996 * conf/i386-coreboot.rmk: ... this.
32997 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
32998 * configure.ac: Accept "coreboot" as input platform (but maintain
32999 compatibility with "linuxbios").
33000 * include/grub/i386/linuxbios: Renamed to ...
33001 * include/grub/i386/coreboot: ... this.
33002
33003 2008-07-17 Bean <bean123ch@gmail.com>
33004
33005 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
33006 (appleldr_mod_SOURCE): New variable.
33007 (appleldr_mod_CFLAGS): Likewise.
33008 (appleldr_mod_LDFLAGS): Likewise.
33009 (pci_mod_SOURCES): Likewise.
33010 (pci_mod_CFLAGS): Likewise.
33011 (pci_mod_LDFLAGS): Likewise.
33012 (lspci_mod_SOURCES): Likewise.
33013 (lspci_mod_CFLAGS): Likewise.
33014 (lspci_mod_LDFLAGS): Likewise.
33015
33016 * conf/x86_64-efi.rmk: New file.
33017
33018 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
33019 macro.
33020 (grub_efidisk_write): Likewise.
33021
33022 * include/efi/api.h (efi_call_0): New macro.
33023 (efi_call_1): Likewise.
33024 (efi_call_2): Likewise.
33025 (efi_call_3): Likewise.
33026 (efi_call_4): Likewise.
33027 (efi_call_5): Likewise.
33028 (efi_call_6): Likewise.
33029
33030 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
33031 grub_rescue_cmd_chainloader.
33032
33033 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
33034 (grub_pe32_optional_header): Change some fields based on i386 or
33035 x86_64 platform.
33036 (GRUB_PE32_PE32_MAGIC): Likewise.
33037
33038 * include/grub/efi/uga_draw.h: New file.
33039
33040 * include/grub/elf.h (STN_ABS): New constant.
33041 (R_X86_64_NONE): Relocation constant for x86_64.
33042 (R_X86_64_64): Likewise.
33043 (R_X86_64_PC32): Likewise.
33044 (R_X86_64_GOT32): Likewise.
33045 (R_X86_64_PLT32): Likewise.
33046 (R_X86_64_COPY): Likewise.
33047 (R_X86_64_GLOB_DAT): Likewise.
33048 (R_X86_64_JUMP_SLOT): Likewise.
33049 (R_X86_64_RELATIVE): Likewise.
33050 (R_X86_64_GOTPCREL): Likewise.
33051 (R_X86_64_32): Likewise.
33052 (R_X86_64_32S): Likewise.
33053 (R_X86_64_16): Likewise.
33054 (R_X86_64_PC16): Likewise.
33055 (R_X86_64_8): Likewise.
33056 (R_X86_64_PC8): Likewise.
33057
33058 * include/grub/i386/efi/pci.h: New file.
33059
33060 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
33061 Change it value based on platform.
33062 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
33063 (GRUB_E820_RAM): Likewise.
33064 (GRUB_E820_RESERVED): Likewise.
33065 (GRUB_E820_ACPI): Likewise.
33066 (GRUB_E820_NVS): Likewise.
33067 (GRUB_E820_EXEC_CODE): Likewise.
33068 (GRUB_E820_MAX_ENTRY): Likewise.
33069 (grub_e820_mmap): New structure.
33070 (linux_kernel_header): Change the efi field according to different
33071 kernel version, also field from linux_kernel_header.
33072
33073 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
33074
33075 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
33076 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
33077 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
33078 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
33079 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
33080 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
33081 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
33082 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
33083 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
33084 (GRUB_PCI_ADDR_IO_MASK): Likewise.
33085
33086 * include/grub/x86_64/efi/kernel.h: New file.
33087
33088 * include/grub/x86_64/efi/loader.h: Likewise.
33089
33090 * include/grub/x86_64/efi/machine.h: Likewise.
33091
33092 * include/grub/x86_64/efi/pci.h: Likewise.
33093
33094 * include/grub/x86_64/efi/time.h: Likewise.
33095
33096 * include/grub/x86_64/linux.h: Likewise.
33097
33098 * include/grub/x86_64/setjmp.h: Likewise.
33099
33100 * include/grub/x86_64/time.h: Likewise.
33101
33102 * include/grub/x86_64/types.h: Likewise.
33103
33104 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
33105 GRUB_TARGET_SIZEOF_VOID_P.
33106
33107 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
33108 (grub_efi_locate_handle): Likewise.
33109 (grub_efi_open_protocol): Likewise.
33110 (grub_efi_set_text_mode): Likewise.
33111 (grub_efi_stall): Likewise.
33112 (grub_exit): Likewise.
33113 (grub_reboot): Likewise.
33114 (grub_halt): Likewise.
33115 (grub_efi_exit_boot_services): Likewise.
33116 (grub_get_rtc): Likewise.
33117
33118 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
33119 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
33120 (grub_efi_allocate_pages): Wrap efi calls.
33121 (grub_efi_free_pages): Wrap efi calls.
33122 (grub_efi_get_memory_map): Wrap efi calls.
33123
33124 * kern/x86_64/dl.c: New file.
33125
33126 * kern/x86_64/efi/callwrap.S: Likewise.
33127
33128 * kern/x86_64/efi/startup.S: Likewise.
33129
33130 * loader/efi/appleloader.c: Likewise.
33131
33132 * loader/efi/chainloader.c (cmdline): New variable.
33133 (grub_chainloader_unload): Wrap efi calls.
33134 (grub_chainloader_boot): Likewise.
33135 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
33136 command line.
33137
33138 * loader/efi/chainloader_normal.c (chainloader_command):
33139 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
33140 command line.
33141
33142 * loader/i386/efi/linux.c (allocate_pages): Change allocation
33143 method.
33144 (grub_e820_add_region): New function.
33145 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
33146 booting.
33147 (grub_find_video_card): New function.
33148 (grub_linux_setup_video): New function.
33149 (grub_rescue_cmd_linux): Probe for video information.
33150
33151 * normal/x86_64/setjmp.S: New file.
33152
33153 * term/efi/console.c (map_char): New function.
33154 (grub_console_putchar): Map unicode char.
33155 (grub_console_checkkey): Wrap efi calls.
33156 (grub_console_getkey): Likewise.
33157 (grub_console_getwh): Likewise.
33158 (grub_console_gotoxy): Likewise.
33159 (grub_console_cls): Likewise.
33160 (grub_console_setcolorstate): Likewise.
33161 (grub_console_setcursor): Likewise.
33162
33163 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
33164
33165 2008-07-16 Pavel Roskin <proski@gnu.org>
33166
33167 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
33168 format strings.
33169
33170 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
33171 pointer, not an integer. This fixes a warning and prevents
33172 precision loss on 64-bit systems.
33173 (relocate_addresses): Remove unneeded cast.
33174
33175 2008-07-15 Pavel Roskin <proski@gnu.org>
33176
33177 * kern/i386/ieee1275/init.c: Include grub/cache.h.
33178
33179 * term/ieee1275/ofconsole.c: Disable code unused on i386.
33180
33181 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
33182 Fix comparison between signed and unsigned.
33183
33184 * include/grub/i386/ieee1275/console.h: Declare
33185 grub_console_init() and grub_console_fini().
33186
33187 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
33188 It's empty and unused.
33189
33190 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
33191 beginning to avoid warnings with some compilers.
33192
33193 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
33194 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
33195
33196 2008-07-14 Pavel Roskin <proski@gnu.org>
33197
33198 * kern/env.c (grub_register_variable_hook): Don't copy empty
33199 string, it leaks memory. Pass "" to grub_env_set(), it should
33200 handle constant strings.
33201
33202 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
33203 * commands/cmp.c (grub_cmd_cmp): Likewise.
33204 * kern/dl.c (grub_dl_flush_cache): Likewise.
33205 (grub_dl_load_core): Likewise.
33206 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
33207 (grub_elf64_load_phdrs): Likewise.
33208
33209 2008-07-13 Pavel Roskin <proski@gnu.org>
33210
33211 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
33212 between signed and unsigned.
33213 (LzmaEnc_Finish): Fix warning about an unused parameter.
33214
33215 2008-07-13 Bean <bean123ch@gmail.com>
33216
33217 * Makefile.in (enable_lzo): New rule.
33218
33219 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
33220
33221 * configure.ac (ENABLE_LZO): New option --enable-lzo.
33222
33223 * boot/i386/pc/lnxboot.S: #include <config.h>.
33224
33225 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
33226 its value according to the compression algorithm used, lzo or lzma.
33227
33228 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
33229 compression algorithm according to configure macro.
33230
33231 * kern/i386/pc/startup.S (codestart): Likewise.
33232
33233 * kern/i386/pc/lzma_decode.S: New file.
33234
33235 * include/grub/lib/LzFind.h: Likewise.
33236
33237 * include/grub/lib/LzHash.h: Likewise.
33238
33239 * include/grub/lib/LzmaDec.h: Likewise.
33240
33241 * include/grub/lib/LzmaEnc.h: Likewise.
33242
33243 * include/grub/lib/LzmaTypes.h: Likewise.
33244
33245 * lib/LzFind.c: Likewise.
33246
33247 * lib/LzmaDec.c: Likewise.
33248
33249 * lib/LzmaEnc.c: Likewise.
33250
33251 2008-07-13 Bean <bean123ch@gmail.com>
33252
33253 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
33254 (grub_ext4_extent_header): New structure.
33255 (grub_ext4_extent): Likewise.
33256 (grub_ext4_extent_idx): Likewise.
33257 (grub_ext4_find_leaf): New function.
33258 (grub_ext2_read_block): Handle extents.
33259
33260 2008-07-12 Robert Millan <rmh@aybabtu.com>
33261
33262 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
33263
33264 2008-07-11 Robert Millan <rmh@aybabtu.com>
33265
33266 * util/grub.d/40_custom.in: New file. Example on how to add custom
33267 entries to /etc/grub.d.
33268 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
33269 40_custom (implicitly, by merging all the grub.d rules).
33270
33271 2008-07-11 Pavel Roskin <proski@gnu.org>
33272
33273 * commands/read.c (grub_getline): Fix invalid memory access.
33274 Don't add newline to the variable value.
33275
33276 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
33277 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
33278 (serial_hw_get_port): Check validity of the port number.
33279 (grub_cmd_serial): Check return value of serial_hw_get_port().
33280
33281 2008-07-07 Pavel Roskin <proski@gnu.org>
33282
33283 * boot/i386/pc/diskboot.S (notification_string): Replace
33284 "Loading kernel" with just "loading". This is shorter, less
33285 confusing and saves a few bytes for possible future changes.
33286
33287 2008-07-05 Pavel Roskin <proski@gnu.org>
33288
33289 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
33290 size for ATAPI devices, they are undefined. Output sector
33291 number in decimal form.
33292
33293 * disk/ata.c: Use named constants for status bits.
33294
33295 2008-07-04 Pavel Roskin <proski@gnu.org>
33296
33297 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
33298 grub_addr_t before casting it to the void pointer to fix a
33299 warning. Non-addressable regions are discarded earlier.
33300 (grub_arch_modules_addr): Cast _end to grub_addr_t.
33301 * kern/i386/linuxbios/table.c: Include grub/misc.h.
33302 (check_signature): Don't shadow table_header.
33303 (grub_linuxbios_table_iterate): Cast numeric constants to
33304 grub_linuxbios_table_header_t.
33305 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
33306 grub_stop().
33307
33308 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
33309 prevent warnings.
33310
33311 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
33312 pointer, which can cause warnings. Support 64-bit addresses.
33313
33314 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
33315 of sizeof(long). This fixes PowerPC image generation on x86_64.
33316
33317 2008-07-04 Robert Millan <rmh@aybabtu.com>
33318
33319 This fixes a performance issue when pc & gpt partmap iterators
33320 didn't abort iteration even after our hook found what it was
33321 looking for (often causing expensive probes of non-existent drives).
33322
33323 Some callers relied on previous buggy behaviour, since they would
33324 raise an error when their own hooks caused early abortion of its
33325 iteration.
33326
33327 * kern/device.c (grub_device_open): Improve error message.
33328 * disk/lvm.c (grub_lvm_open): Likewise.
33329 * disk/raid.c (grub_raid_open): Likewise.
33330
33331 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
33332 when hook requests it, independently of grub_errno.
33333 (pc_partition_map_probe): Do not fail when find_func() caused
33334 early abortion of pc_partition_map_iterate().
33335
33336 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
33337 when hook requests it, independently of grub_errno.
33338 (gpt_partition_map_probe): Do not fail when find_func() caused
33339 early abortion of gpt_partition_map_iterate().
33340
33341 * kern/partition.c (grub_partition_iterate): Abort parent iteration
33342 when hook requests it, independently of grub_errno. Do not fail when
33343 part_map_iterate_hook() caused early abortion of p->iterate().
33344
33345 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
33346 when grub_partition_iterate() returned with non-zero.
33347
33348 2008-07-03 Pavel Roskin <proski@gnu.org>
33349
33350 * disk/ata.c (grub_ata_pio_write): Check status before writing,
33351 like we do in grub_ata_pio_read().
33352 (grub_ata_readwrite): Always write individual sectors. Fix the
33353 sector count for the remainder.
33354 (grub_ata_write): Enable writing to ATA devices. Correctly
33355 report error for ATAPI devices.
33356
33357 2008-07-02 Pavel Roskin <proski@gnu.org>
33358
33359 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
33360 warning.
33361
33362 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
33363 for every read sector, we already increment it for the whole
33364 batch. This fixes reading more than 256 sectors at once.
33365
33366 * util/grub-editenv.c (cmd_info): Cast argument to long
33367 explicitly. ptrdiff_t reduces to int on i386.
33368
33369 * util/grub-editenv.c (main): Be specific which parameter is
33370 missing.
33371
33372 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
33373 (memdisk): Make memdisk_orig_addr a pointer.
33374
33375 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
33376 for file offsets, use grub_off_t instead. Fix printf format
33377 warnings.
33378
33379 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
33380 there. Real unexpected warnings should not drown in the noise
33381 about known problems.
33382
33383 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
33384 grub_disk_addr_t for memory addresses.
33385
33386 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
33387 explicitly to fix a warning.
33388
33389 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
33390
33391 * Makefile.in (MODULE_LDFLAGS): New variable.
33392 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
33393 the linker accepts --build-id=none.
33394 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
33395 MODULE_LDFLAGS.
33396 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
33397
33398 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
33399 those in Linux XFS code. Provide a way to access 64-bit parent
33400 inode.
33401 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
33402 the end of struct grub_xfs_dir_header.
33403
33404 2008-07-02 Bean <bean123ch@gmail.com>
33405
33406 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
33407 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33408 and GRUB_IEEE1275_FLAG_NO_ANSI.
33409
33410 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
33411 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33412 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
33413
33414 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
33415 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
33416
33417 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
33418 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
33419
33420 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
33421 esc sequence on non ANSI terminal.
33422 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
33423
33424 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
33425 beginning of file.
33426
33427 2008-07-02 Bean <bean123ch@gmail.com>
33428
33429 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
33430 (grub_editenv_SOURCES): New variable.
33431 (pkglib_MODULES): Add loadenv.mod.
33432 (loadenv_mod_SOURCES): New variable.
33433 (loadenv_mod_CFLAGS): Likewise.
33434 (loadenv_mod_LDFLAGS): Likewise.
33435
33436 * include/grub/envblk.h: New file.
33437
33438 * util/envblk.c: New file.
33439
33440 * util/grub-editenv.c: New file.
33441
33442 * commands/loadenv.c: New file.
33443
33444 2008-07-01 Pavel Roskin <proski@gnu.org>
33445
33446 * include/multiboot2.h (struct multiboot_tag_module): Use char,
33447 not unsigned char. This fixes warnings and is consistent with
33448 other tags.
33449
33450 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
33451
33452 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
33453
33454 * term/tparm.c (analyze): Always set *popcount.
33455
33456 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
33457 cast to fix a warning.
33458
33459 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
33460 cast to suppress a warning.
33461
33462 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
33463 grub_fshelp_read_file() expects.
33464
33465 * fs/fat.c: Fix UUID calculation on big-endian systems. We
33466 write uuid as a 32-bit value in CPU byte order, so declare and
33467 use it as such.
33468
33469 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
33470 long if the format specifier expects it.
33471 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
33472 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33473 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
33474 long to fix a warning.
33475 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
33476 grub_dprintf() arguments to fix warnings.
33477
33478 2008-06-30 Pavel Roskin <proski@gnu.org>
33479
33480 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
33481 install_bsd_part immediately before core.img is embedded or
33482 modified on disk. This fixes core.img verification if core.img
33483 cannot be embedded.
33484
33485 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
33486 core_path to calculate the blocklist.
33487 Patch from Javier Martín <lordhabbit@gmail.com>
33488
33489 2008-06-29 Robert Millan <rmh@aybabtu.com>
33490
33491 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
33492 block to disk block.
33493 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
33494 Patch from Niels Böhm <bitbucket@arcor.de>
33495
33496 2008-06-29 Robert Millan <rmh@aybabtu.com>
33497
33498 * util/update-grub_lib.in (font_path): Search for fonts in
33499 /boot/grub first, which is more likely to be readable (we aren't
33500 deciding where fonts live, just looking for them).
33501
33502 2008-06-26 Pavel Roskin <proski@gnu.org>
33503
33504 * util/biosdisk.c (read_device_map): Don't leave dead map
33505 entries for devices failing stat() check.
33506
33507 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33508 core_path_dev for the core.img path on the target device.
33509
33510 2008-06-26 Robert Millan <rmh@aybabtu.com>
33511
33512 * disk/fs_uuid.c: New file.
33513 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33514 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33515 (fs_uuid_mod_LDFLAGS): New variables.
33516 * include/grub/disk.h (grub_disk_dev_id): Add
33517 `GRUB_DISK_DEVICE_UUID_ID'.
33518 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33519 implement iterate().
33520
33521 2008-06-26 Robert Millan <rmh@aybabtu.com>
33522
33523 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33524 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33525 Linux image includes no initrd.
33526
33527 2008-06-21 Javier Martín <lordhabbit@gmail.com>
33528
33529 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33530 call to resolve the core image location that effectively appended the
33531 name twice.
33532
33533 2008-06-21 Robert Millan <rmh@aybabtu.com>
33534
33535 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33536 call from here ...
33537
33538 * util/grub.d/10_hurd.in: ... to here ...
33539 * util/grub.d/10_linux.in: ... and here.
33540
33541 2008-06-19 Robert Millan <rmh@aybabtu.com>
33542
33543 * kern/main.c (grub_main): Export `prefix' variable immediately
33544 after it has been set by grub_machine_set_prefix().
33545
33546 2008-06-19 Robert Millan <rmh@aybabtu.com>
33547
33548 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33549 search result when not saving to variable, not the other way around.
33550 When saving to variable, abort iteration as soon as a match is found.
33551
33552 2008-06-19 Robert Millan <rmh@aybabtu.com>
33553
33554 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33555 check for partition that provides /boot/grub. Its logic is flawed,
33556 as it prevents prepare_grub_to_access_device() from being called
33557 multiple times.
33558
33559 2008-06-19 Robert Millan <rmh@aybabtu.com>
33560
33561 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33562 "insmod" command directly when abstraction modules are needed,
33563 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
33564 since it had already been processed).
33565
33566 2008-06-19 Pavel Roskin <proski@gnu.org>
33567
33568 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33569 changed. This is needed in case GRUB_LIBDIR changes.
33570 * conf/i386-ieee1275.rmk: Likewise.
33571 * conf/i386-linuxbios.rmk: Likewise.
33572 * conf/i386-pc.rmk: Likewise.
33573 * conf/powerpc-ieee1275.rmk: Likewise.
33574
33575 2008-06-18 Pavel Roskin <proski@gnu.org>
33576
33577 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33578 kernel_elf_symlist.c to symlist.c for consistency with other
33579 architectures. Update all users.
33580 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33581
33582 2008-06-18 Robert Millan <rmh@aybabtu.com>
33583
33584 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33585 it in prefix.
33586
33587 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33588 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33589 a RAID device, run setup() for all members independently on whether
33590 LVM abstraction is being used.
33591 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33592 If grub-mkimage has set `*install_dos_part == -2', don't override this
33593 value.
33594 Perform *install_dos_part adjustments independently on whether
33595 we're embedding or not.
33596 Clarify error message when image is too big for embedding.
33597 Remove duplicate *install_dos_part stanza.
33598
33599 2008-06-17 Robert Millan <rmh@aybabtu.com>
33600
33601 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33602 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33603 variables.
33604 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33605 values in grub_ofconsole_normal_color and
33606 grub_ofconsole_highlight_color (they're not directly related to
33607 background and foreground).
33608 (grub_ofconsole_setcolorstate): Extract background and foreground
33609 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33610
33611 2008-06-17 Robert Millan <rmh@aybabtu.com>
33612
33613 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33614 /boot/grub for the check in last commit, not /boot (they could be
33615 different partitions).
33616
33617 2008-06-16 Robert Millan <rmh@aybabtu.com>
33618
33619 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33620 asked to setup access for the same partition that provides /boot,
33621 don't bother using UUIDs since our root already has the value we
33622 want.
33623
33624 2008-06-16 Robert Millan <rmh@aybabtu.com>
33625
33626 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33627 I2O devices.
33628 Patch from Sven Mueller <sven@debian.org>.
33629
33630 2008-06-16 Robert Millan <rmh@aybabtu.com>
33631
33632 * util/update-grub.in: Check for $EUID instead of $UID.
33633 Reported by Vincent Zweije.
33634
33635 2008-06-16 Bean <bean123ch@gmail.com>
33636
33637 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
33638 (grub_ext2_read_block): Likewise.
33639 (grub_ext2_read_inode): Likewise.
33640 (grub_ext2_mount): Likewise.
33641 (grub_ext2_close): Likewise.
33642 (grub_ext3_get_journal): Removed.
33643
33644 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
33645 (grub_reiserfs_read_symlink): Likewise.
33646 (grub_reiserfs_mount): Likewise.
33647 (grub_reiserfs_open): Likewise.
33648 (grub_reiserfs_read): Likewise.
33649 (grub_reiserfs_close): Likewise.
33650 (grub_reiserfs_get_journal): Removed.
33651
33652 * fs/fshelp.c (grub_fshelp_read): Removed.
33653 (grub_fshelp_map_block): Likewise.
33654
33655 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33656 (grub_fshelp_journal): Likewise.
33657 (grub_fshelp_read): Likewise.
33658 (grub_fshelp_map_block): Likewise.
33659
33660 2008-06-16 Pavel Roskin <proski@gnu.org>
33661
33662 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33663 floating point anymore.
33664 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33665
33666 2008-06-15 Pavel Roskin <proski@gnu.org>
33667
33668 * commands/ls.c (grub_ls_list_files): Use integer calculations
33669 for human readable format, avoid floating point use.
33670 * kern/misc.c (grub_ftoa): Remove.
33671 (grub_vsprintf): Remove floating point support.
33672
33673 2008-06-15 Robert Millan <rmh@aybabtu.com>
33674
33675 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
33676 devices.
33677 Reported by Max Vozeler.
33678
33679 2008-06-15 Robert Millan <rmh@aybabtu.com>
33680
33681 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
33682 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
33683 skipped later.
33684 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
33685 the beginning of the prefix.
33686
33687 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
33688 It is assumed that if we have a memdisk, grub-mkimage has set
33689 grub_prefix to include the "(memdisk)" drive in it.
33690
33691 2008-06-15 Robert Millan <rmh@aybabtu.com>
33692
33693 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
33694 Initialize keyboard controller after registering the terminal, so that
33695 grub_printf() can be called from grub_keyboard_controller_init().
33696
33697 2008-06-15 Robert Millan <rmh@aybabtu.com>
33698
33699 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
33700 extent-btree which is written as big endian on disk.
33701 Reported by Alain Greppin <al@chilibi.org>.
33702
33703 2008-06-14 Robert Millan <rmh@aybabtu.com>
33704
33705 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
33706 * util/i386/pc/grub-install.in (modules): Likewise.
33707
33708 2008-06-13 Pavel Roskin <proski@gnu.org>
33709
33710 * commands/ls.c (grub_ls_list_files): Fix format warnings.
33711
33712 2008-06-13 Bean <bean123ch@gmail.com>
33713
33714 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
33715
33716 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
33717
33718 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
33719 to indicate sparse block.
33720
33721 2008-06-12 Pavel Roskin <proski@gnu.org>
33722
33723 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
33724 number, grub_fshelp_read() does it for us.
33725
33726 * fs/fshelp.c (grub_fshelp_read): New function. Implement
33727 linear disk read with journal translation.
33728 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
33729 * include/grub/fshelp.h: Declare grub_fshelp_read().
33730
33731 2008-06-09 Pavel Roskin <proski@gnu.org>
33732
33733 * fs/minix.c (grub_minix_mount): Handle error reading
33734 superblock.
33735
33736 2008-06-08 Robert Millan <rmh@aybabtu.com>
33737
33738 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
33739 don't append the RAID prefix afterwards.
33740 Reported by Clint Adams.
33741
33742 2008-06-08 Robert Millan <rmh@aybabtu.com>
33743
33744 Based on description from Pavel:
33745 * kern/disk.c (grub_disk_check_range): Rename to ...
33746 (grub_disk_adjust_range): ... this. Add a comment explaining the
33747 tasks performed by this function.
33748
33749 2008-06-08 Robert Millan <rmh@aybabtu.com>
33750
33751 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33752 `num_serial' (for consistency with other variables).
33753 (struct grub_ntfs_data): Add `uuid' member.
33754 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33755 (grub_ntfs_uuid): New function.
33756 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33757
33758 2008-06-07 Pavel Roskin <proski@gnu.org>
33759
33760 * util/biosdisk.c (open_device): Revert last change to the
33761 function, it broke installation. The sector needs to be
33762 different dependent on which device is opened.
33763
33764 2008-06-06 Robert Millan <rmh@aybabtu.com>
33765
33766 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33767 rest of GRUB, and breakage doesn't happen if its value were modified.
33768
33769 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33770 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33771 a constant (same value).
33772 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33773 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33774
33775 2008-06-06 Robert Millan <rmh@aybabtu.com>
33776
33777 * util/biosdisk.c (open_device): Do not modify sector offset when
33778 accessing a partition. kern/disk.c already handles this for us.
33779
33780 2008-06-06 Robert Millan <rmh@aybabtu.com>
33781
33782 * util/grub-emu.c (grub_machine_init): Move code in this function from
33783 here ...
33784 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
33785 segfault in case grub_printf() is called).
33786
33787 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
33788 grub_probe. Update all users not to explicitly add it again.
33789 (grub_device): New variable; contains corresponding device for grubdir.
33790 (fs_module, partmap_module, devabstraction_module): Pass
33791 `--device ${grub_device}' to grub_probe to avoid traversing /dev
33792 every time.
33793
33794 2008-06-05 Robert Millan <rmh@aybabtu.com>
33795
33796 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
33797 is found, print it (same layout as with labels).
33798
33799 2008-06-04 Robert Millan <rmh@aybabtu.com>
33800
33801 * util/biosdisk.c (get_drive): Rename to ...
33802 (find_grub_drive): ... this. Update all users.
33803
33804 (get_os_disk): Rename to ...
33805 (convert_system_partition_to_system_disk): ... this. Update all users.
33806
33807 (find_drive): Rename to ...
33808 (find_system_device): ... this. Update all users.
33809
33810 2008-06-04 Robert Millan <rmh@aybabtu.com>
33811
33812 * util/biosdisk.c (get_os_disk): Handle IDA devices.
33813 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33814 (make_device_map): Likewise.
33815
33816 2008-06-01 Robert Millan <rmh@aybabtu.com>
33817
33818 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
33819 before dereferencing it.
33820
33821 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
33822 union with fat12/fat16-specific ones. Add some new fields, including
33823 `num_serial' for both versions.
33824 (struct grub_fat_data): Add `uuid' member.
33825 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
33826 names. Initialize `data->uuid' using `num_serial'.
33827 (grub_fat_uuid): New function.
33828 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
33829
33830 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
33831 (grub_reiserfs_uuid): New function.
33832 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
33833 member.
33834
33835 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
33836 (grub_xfs_uuid): New function.
33837 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
33838
33839 2008-06-01 Robert Millan <rmh@aybabtu.com>
33840
33841 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
33842 code that is backward compatible with pre-uuid search command.
33843
33844 2008-05-31 Robert Millan <rmh@aybabtu.com>
33845
33846 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
33847 floppies after everything else, to ensure floppy drive isn't accessed
33848 unnecessarily (patch from Bean).
33849
33850 2008-05-31 Robert Millan <rmh@aybabtu.com>
33851
33852 * commands/search.c (search_label, search_fs_uuid, search_file): Do
33853 not print device names when we were asked to set a variable.
33854
33855 2008-05-31 Robert Millan <rmh@aybabtu.com>
33856
33857 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
33858 using "cursor-on" and "cursor-off" commands (understood at least by
33859 the Open Firmware flavour on OLPC).
33860
33861 2008-05-31 Michael Gorven <michael@gorven.za.net>
33862
33863 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
33864 on and off sequences.
33865
33866 2008-05-31 Robert Millan <rmh@aybabtu.com>
33867
33868 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
33869 * util/update-grub.in: Likewise.
33870
33871 2008-05-30 Pavel Roskin <proski@gnu.org>
33872
33873 * util/biosdisk.c (linux_find_partition): Simplify logic and
33874 make the code more universal. Keep special processing for
33875 devfs, but use a simple rule for all other devices. If the
33876 device ends with a number, append 'p' and the partition number.
33877 Otherwise, append only the partition number.
33878
33879 2008-05-30 Robert Millan <rmh@aybabtu.com>
33880
33881 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
33882 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
33883 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
33884 the `root' parameter to Linux.
33885
33886 2008-05-30 Robert Millan <rmh@aybabtu.com>
33887
33888 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
33889 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
33890 --fs_uuid with --fs-uuid.
33891 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
33892 all filesystems support them).
33893
33894 2008-05-30 Robert Millan <rmh@aybabtu.com>
33895
33896 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
33897 grub_printf() flags, since we're printing in units of 2 bytes.
33898
33899 2008-05-30 Robert Millan <rmh@aybabtu.com>
33900
33901 * util/grub.d/00_header.in: Remove obsolete comment referencing
33902 convert_system_path_to_grub_path().
33903 * util/update-grub.in: Likewise.
33904 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
33905 (convert_system_path_to_grub_path): Add a warning message explaining
33906 that this function is deprecated. Rely on is_path_readable_by_grub()
33907 for the readability checks.
33908 (font_path): Use is_path_readable_by_grub() for the readability
33909 check rather than convert_system_path_to_grub_path().
33910
33911 2008-05-30 Robert Millan <rmh@aybabtu.com>
33912
33913 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
33914 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
33915 converting it first.
33916 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
33917 grub.cfg for access to font file, and afterwards call it again to set
33918 the root device.
33919
33920 2008-05-30 Robert Millan <rmh@aybabtu.com>
33921
33922 * commands/search.c (options): Add --fs_uuid option.
33923 (search_fs_uuid): New function.
33924 (grub_cmd_search): Fix --set argument passing.
33925 Use search_fs_uuid() when requested via --fs_uuid.
33926 (grub_search_init): Update help message.
33927 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
33928 and redeclare it as an array of 16-bit words.
33929 (grub_ext2_uuid): New function.
33930 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
33931 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
33932 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
33933 (GRUB_DEVICE_BOOT_UUID): New variables.
33934 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
33935 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
33936 whenever possible.
33937 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
33938 just assume `root' variable has the right value.
33939 * util/grub.d/10_linux.in: Likewise.
33940 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
33941 via PRINT_FS_UUID.
33942 (main): Recognise `-t fs_uuid' argument.
33943
33944 2008-05-30 Robert Millan <rmh@aybabtu.com>
33945
33946 * util/biosdisk.c (map): Redefine structure to hold information
33947 about GRUB drive name.
33948 (get_drive): Reimplement without assuming (and verifying) BIOS-like
33949 drive names.
33950 (call_hook): Remove.
33951 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
33952 member. Assume drive has partitions.
33953 (grub_util_biosdisk_open): Access device names via `.device' struct
33954 member.
33955 (open_device): Likewise.
33956 (find_drive): Likewise.
33957 (read_device_map): Adjust map[] usage to match the new struct
33958 definition. Don't check for duplicates (still possible, but not cheap
33959 anymore).
33960 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
33961 (make_device_name): Remove assumption of BIOS-like drive names.
33962
33963 2008-05-30 Pavel Roskin <proski@gnu.org>
33964
33965 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
33966 compiling execute.c doesn't need grub_script.tab.h anymore.
33967 (normal/command.c_DEPENDENCIES): Likewise.
33968 (normal/function.c_DEPENDENCIES): Likewise.
33969 * conf/i386-ieee1275.rmk: Likewise.
33970 * conf/i386-linuxbios.rmk: Likewise.
33971 * conf/i386-pc.rmk: Likewise.
33972 * conf/powerpc-ieee1275.rmk: Likewise.
33973 * conf/sparc64-ieee1275.rmk: Likewise.
33974
33975 2008-05-29 Pavel Roskin <proski@gnu.org>
33976
33977 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
33978 when scanning metadata for volume group name.
33979
33980 * include/grub/script.h: Don't include grub_script.tab.h. It's
33981 a generated file, which may only be included from the files with
33982 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
33983 use union YYSTYPE, as the later allows forward declaration.
33984 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
33985
33986 2008-05-29 Robert Millan <rmh@aybabtu.com>
33987
33988 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
33989 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
33990 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
33991 (grub_console_checkkey): Add grub_dprintf() call to report unknown
33992 scan codes.
33993
33994 2008-05-29 Robert Millan <rmh@aybabtu.com>
33995
33996 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
33997 control key combinations.
33998
33999 2008-05-29 Robert Millan <rmh@aybabtu.com>
34000
34001 * util/powerpc/ieee1275/grub-install.in: Move from here ...
34002 * util/ieee1275/grub-install.in: ... to here.
34003 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
34004 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
34005 (grub_install_SOURCES): Likewise.
34006
34007 2008-05-29 Robert Millan <rmh@aybabtu.com>
34008
34009 * fs/affs.c: Update copyright year.
34010 * fs/ext2.c: Likewise.
34011 * fs/fshelp.c: Likewise.
34012 * fs/hfsplus.c: Likewise.
34013 * fs/ntfs.c: Likewise.
34014 * fs/xfs.c: Likewise.
34015 * include/grub/fshelp.h: Likewise.
34016 * util/grub-mkdevicemap.c: Likewise.
34017
34018 2008-05-28 Robert Millan <rmh@aybabtu.com>
34019
34020 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
34021 might need to be fatfs to support some firmware implementations
34022 (e.g. OFW or EFI).
34023
34024 2008-05-28 Robert Millan <rmh@aybabtu.com>
34025
34026 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
34027 devices.
34028 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34029 (make_device_map): Likewise.
34030
34031 2008-05-20 Bean <bean123ch@gmail.com>
34032
34033 * fs/fshelp.c (grub_fshelp_map_block): New function.
34034 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
34035 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
34036
34037 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
34038 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
34039 (grub_fshelp_journal): New structure.
34040 (grub_fshelp_map_block): New function prototype.
34041 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
34042 (grub_fshelp_map_block): Likewise.
34043
34044 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
34045 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
34046 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
34047 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
34048 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
34049 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
34050 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
34051 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
34052 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
34053 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
34054 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
34055 (grub_ext2_sblock): New members for journal support.
34056 (grub_ext3_journal_header): New structure.
34057 (grub_ext3_journal_revoke_header): Likewise.
34058 (grub_ext3_journal_block_tag): Likewise.
34059 (grub_ext3_journal_sblock): Likewise.
34060 (grub_fshelp_node): New members logfile and journal.
34061 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
34062 grub_fshelp_map_block to get real block number.
34063 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
34064 number.
34065 (grub_ext2_read_inode): Likewise.
34066 (grub_ext3_get_journal): New function.
34067 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
34068 (grub_ext2_close): Release memory used by journal.
34069
34070 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
34071 (REISERFS_MAGIC_DESC_BLOCK): New macro.
34072 (grub_reiserfs_transaction_header): Renamed to
34073 grub_reiserfs_description_block, replace field data with real_blocks.
34074 (grub_reiserfs_commit_block): New structure.
34075 (grub_reiserfs_data): New member journal.
34076 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
34077 number.
34078 (grub_reiserfs_read_symlink): Likewise.
34079 (grub_reiserfs_iterate_dir): Likewise.
34080 (grub_reiserfs_open): Likewise.
34081 (grub_reiserfs_read): Likewise.
34082 (grub_reiserfs_get_journal): New function.
34083 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
34084 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
34085 using grub_reiserfs_get_journal.
34086 (grub_reiserfs_close): Release memory used by journal.
34087
34088 * fs/affs.c (grub_affs_read_block): Change block type to
34089 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
34090
34091 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
34092
34093 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
34094
34095 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
34096
34097 * fs/udf.c (grub_udf_read_block): Change block type to
34098 grub_disk_addr_t. Use type cast to avoid warning.
34099
34100 * fs/xfs.c (grub_xfs_read_block): Likewise.
34101
34102 2008-05-16 Christian Franke <franke@computer.org>
34103
34104 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
34105 to ensure that break with ESC will always work.
34106 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
34107 Remove ESC from keyboard queue.
34108
34109 2008-05-16 Christian Franke <franke@computer.org>
34110
34111 * util/biosdisk.c: [__CYGWIN__] Add includes.
34112 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
34113 (get_os_disk): Move variable declarations to OS specific
34114 parts to avoid warning.
34115 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
34116 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
34117 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
34118 Cygwin.
34119 * util/getroot.c: [__CYGWIN__] Add includes.
34120 (strip_extra_slashes): Fix "/" case.
34121 [__CYGWIN__] (get_win32_path): New function.
34122 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
34123 [__CYGWIN__] (find_root_device): Disable.
34124 [__CYGWIN__] (get_bootsec_serial): New function.
34125 [__CYGWIN__] (find_cygwin_root_device): Likewise.
34126 [__linux__] (grub_guess_root_device): Add early returns to simplify
34127 structure.
34128 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
34129 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
34130 check for Linux only.
34131
34132 2008-05-15 Bean <bean123ch@gmail.com>
34133
34134 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
34135 keyboard hang problem in apple's intel mac.
34136
34137 2008-05-09 Robert Millan <rmh@aybabtu.com>
34138
34139 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
34140 devices.
34141 * util/grub-mkdevicemap.c (get_virtio_disk_name)
34142 (make_device_map): Likewise.
34143 Reported by Aurelien Jarno <aurel32@debian.org>
34144
34145 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
34146
34147 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
34148 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
34149 (make_device_map): Output entries for xvd type disks.
34150
34151 2008-05-07 Robert Millan <rmh@aybabtu.com>
34152
34153 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
34154 devices.
34155 * util/grub-mkdevicemap.c (get_cciss_disk_name)
34156 (make_device_map): Likewise.
34157 Reported by Roland Dreier <rdreier@cisco.com>
34158
34159 2008-05-07 Robert Millan <rmh@aybabtu.com>
34160
34161 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
34162 grub_strstr() call. Correct a few mistakes in failure path handling.
34163
34164 2008-05-06 Robert Millan <rmh@aybabtu.com>
34165
34166 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34167 Do not print a trailing slash (therefore, the root directory is an
34168 empty string).
34169 (convert_system_path_to_grub_path): Do not remove trailing slash
34170 from make_system_path_relative_to_its_root() output.
34171
34172 * util/i386/pc/grub-install.in: Add trailing slash to output from
34173 make_system_path_relative_to_its_root().
34174
34175 2008-05-06 Robert Millan <rmh@aybabtu.com>
34176
34177 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
34178 ensures that output lines aren't intermangled with those sent to
34179 stderr (via grub_util_info()).
34180 * util/grub-probe.c (grub_refresh): Likewise.
34181 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
34182
34183 2008-05-05 Christian Franke <franke@computer.org>
34184
34185 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
34186 Add Cygwin device names.
34187 (get_ide_disk_name) [__CYGWIN__]: Likewise.
34188 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
34189 (check_device): Return error instead of success on empty name.
34190 (make_device_map): Move label inside linux specific code to
34191 prevent compiler warning.
34192
34193 2008-04-30 Robert Millan <rmh@aybabtu.com>
34194
34195 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
34196 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
34197 first boot option.
34198 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
34199
34200 2008-04-29 Robert Millan <rmh@aybabtu.com>
34201
34202 * docs/grub.cfg: New file (example GRUB configuration).
34203
34204 2008-04-26 Robert Millan <rmh@aybabtu.com>
34205
34206 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
34207 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
34208 and `disk/ieee1275/nand.c'.
34209
34210 2008-04-25 Bean <bean123ch@gmail.com>
34211
34212 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
34213 i386-linuxbios.
34214
34215 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
34216 change the buffer size to 4096 for cdrom device.
34217
34218 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
34219 and nand.mod.
34220 (_linux_mod_SOURCES): New variable.
34221 (_linux_mod_CFLAGS): Likewise.
34222 (_linux_mod_LDFLAGS): Likewise.
34223 (linux_mod_SOURCES): Likewise.
34224 (linux_mod_CFLAGS): Likewise.
34225 (linux_mod_LDFLAGS): Likewise.
34226 (nand_mod_SOURCES): Likewise.
34227 (nand_mod_CFLAGS): Likewise.
34228 (nand_mod_LDFLAGS): Likewise.
34229
34230 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
34231 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
34232 type property. (nand device in olpc don't have this property)
34233
34234 * include/grub/disk.h (grub_disk_dev_id): New macro
34235 GRUB_DISK_DEVICE_NAND_ID.
34236
34237 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
34238 function prototype.
34239 (grub_rescue_cmd_initrd): Likewise.
34240
34241 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
34242 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
34243 ofw_cif_handler and ofw_idt, adjust padding number.
34244
34245 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
34246 GRUB_MACHINE_IEEE1275 is defined.
34247
34248 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
34249 Use NESTED_FUNC_ATTR attribute on the hook parameter.
34250
34251 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
34252 on nested function heap_init.
34253 (grub_upper_mem): New variable for i386-ieee1275.
34254 (grub_get_extended_memory): New function for i386-ieee1275.
34255 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
34256
34257 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
34258 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
34259 property.
34260
34261 * loader/i386/ieee1275/linux.c: New file.
34262
34263 * loader/i386/ieee1275/linux_normal.c: New file.
34264
34265 * disk/ieee1275/nand.c: New file.
34266
34267 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
34268
34269 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
34270 value.
34271 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
34272
34273 2008-04-18 Robert Millan <rmh@aybabtu.com>
34274
34275 Restructures early code path on ieee1275 to unify grub_main() as
34276 the first C function that is executed in every platform.
34277
34278 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
34279 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
34280 cmain().
34281 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
34282 * kern/ieee1275/cmain.c (cmain): Rename to ...
34283 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
34284 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
34285 at the beginning.
34286
34287 2008-04-18 Robert Millan <rmh@aybabtu.com>
34288
34289 * util/update-grub.in: Fix syntax error when setting
34290 `GRUB_PRELOAD_MODULES'.
34291 Reported by Stephane Chazelas <stephane@artesyncp.com>
34292
34293 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
34294
34295 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
34296 section into account, newer toolchains generate unique build ids
34297 * configure.ac: remove the test for --build-id=none acceptance,
34298 we want build ids to be preserved
34299 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
34300 far from other sections don't cause the raw binary images grow
34301 size
34302
34303 2008-04-15 Robert Millan <rmh@aybabtu.com>
34304
34305 * disk/lvm.c: Update copyright year.
34306 * kern/misc.c: Likewise.
34307
34308 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34309
34310 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
34311 there is no memory left for physical volume name.
34312
34313 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34314
34315 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
34316 volume name mapping to support bigger than 9 character names properly.
34317
34318 2008-04-13 Robert Millan <rmh@aybabtu.com>
34319
34320 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
34321 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
34322
34323 2008-04-13 Christian Franke <franke@computer.org>
34324
34325 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
34326 to create a floppy emulation boot CD when non emulation mode
34327 does not work.
34328 Enable Joliet CD filesystem extension.
34329
34330 2008-04-13 Robert Millan <rmh@aybabtu.com>
34331
34332 * kern/misc.c (grub_strncat): Fix off-by-one error.
34333 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
34334
34335 * kern/env.c (grub_env_context_close): Clear current context, not
34336 previous one.
34337 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
34338
34339 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
34340
34341 2008-04-13 Robert Millan <rmh@aybabtu.com>
34342
34343 Improve robustness when handling LVM.
34344
34345 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
34346 (and leave `*p' unmodified).
34347 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
34348 through it.
34349 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
34350 iterating through it.
34351 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
34352 through it.
34353 (grub_lvm_scan_device): Check the return value (and fail gracefully
34354 when due) on each grub_lvm_getvalue() or grub_strstr() call.
34355 Don't assume `vg->pvs != NULL' when iterating through it.
34356
34357 2008-04-13 Robert Millan <rmh@aybabtu.com>
34358
34359 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
34360 * genmk.rb (partmap): New variable.
34361 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
34362 (#{partmap}): New target rule.
34363 * genpartmaplist.sh: New file.
34364 * Makefile.in (pkglib_DATA): Add partmap.lst.
34365 (partmap.lst): New target rule.
34366 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
34367 modules (including all partition maps), instead of preloading them.
34368
34369 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
34370
34371 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
34372 `linux-boot-prober' (if installed) to detect other operating
34373 systems which are installed on the computer and add them to
34374 the boot menu.
34375 * conf/common.rmk: Build and install 30_os-prober.
34376
34377 2008-04-12 Robert Millan <rmh@aybabtu.com>
34378
34379 * kern/powerpc/ieee1275/init.c: Move from here ...
34380 * kern/ieee1275/init.c: ... to here. Update all users.
34381
34382 * kern/powerpc/ieee1275/cmain.c: Move from here ...
34383 * kern/ieee1275/cmain.c: ... to here. Update all users.
34384
34385 * kern/powerpc/ieee1275/openfw.c: Move from here ...
34386 * kern/ieee1275/openfw.c: ... to here. Update all users.
34387
34388 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
34389 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
34390
34391 2008-04-10 Pavel Roskin <proski@gnu.org>
34392
34393 * configure.ac: Always use "_cv_" in cache variables for
34394 compatibility with Autoconf 2.62.
34395
34396 2008-04-07 Robert Millan <rmh@aybabtu.com>
34397
34398 Revert grub/machine/init.h addition by Pavel (since it breaks on
34399 i386-ieee1275 and others):
34400 * util/i386/pc/misc.c: Remove grub/machine/init.h.
34401 * util/powerpc/ieee1275/misc.c: Likewise.
34402
34403 2008-04-07 Robert Millan <rmh@aybabtu.com>
34404
34405 * util/grub-probe.c (probe): Improve error message.
34406
34407 2008-04-07 Robert Millan <rmh@aybabtu.com>
34408
34409 * util/biosdisk.c (read_device_map): Skip devices that don't exist
34410 (this prevents the presence of a bogus entry from ruining the whole
34411 thing).
34412
34413 2008-04-06 Pavel Roskin <proski@gnu.org>
34414
34415 * util/biosdisk.c: Include grub/util/biosdisk.h.
34416 * util/grub-fstest.c (execute_command): Make static.
34417 * util/grub-mkdevicemap.c (check_device): Likewise.
34418 * util/i386/pc/misc.c: Include grub/machine/init.h.
34419 * util/powerpc/ieee1275/misc.c: Likewise.
34420 * util/lvm.c: Include grub/util/lvm.h.
34421 * util/misc.c: Include grub/kernel.h, grub/misc.h and
34422 grub/cache.h.
34423 * util/raid.c: Include grub/util/raid.h.
34424 (grub_util_getdiskname): Make static.
34425
34426 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
34427 grub_hostfs_fini(), as they are called from grub_init_all() and
34428 grub_fini_all() respectively. This fixes an infinite loop in
34429 grub-fstest due to double registration of hostfs.
34430 Reported by Christian Franke <Christian.Franke@t-online.de>
34431
34432 2008-04-05 Pavel Roskin <proski@gnu.org>
34433
34434 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
34435 all 8 functions. Otherwise, probe function 0 only.
34436
34437 2008-04-04 Pavel Roskin <proski@gnu.org>
34438
34439 * commands/lspci.c (grub_lspci_iter): Print the bus number
34440 correctly.
34441
34442 * commands/lspci.c (grub_pci_classes): Fix typos.
34443 (grub_lspci_iter): Don't print func twice. Print vendor ID
34444 before device ID, as it's normally done.
34445
34446 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34447 Fix signedness warnings.
34448 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
34449 Likewise.
34450 * util/ieee1275/get_disk_name.c: Include config.h so that
34451 _GNU_SOURCE is defined and getline() is declared. Mark an
34452 unused argument as such. Fix a signedness warning.
34453
34454 2008-04-02 Pavel Roskin <proski@gnu.org>
34455
34456 * genkernsyms.sh.in: Use more robust assignments for CC and
34457 srcdir. Quote srcdir.
34458 * gensymlist.sh.in: Likewise. Assert at the compile time that
34459 the symbol table is not empty.
34460
34461 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
34462 * fs/cpio.c (grub_cpio_read): Likewise.
34463
34464 2008-04-01 Pavel Roskin <proski@gnu.org>
34465
34466 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
34467 * disk/host.c (grub_host_open): Likewise.
34468 * disk/loopback.c (grub_loopback_open): Likewise.
34469 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
34470 disk->id as in disk/host.c, not a multi-character constant.
34471
34472 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
34473 later is obsolete, potentially dangerous and sets a bad example.
34474 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
34475 * util/misc.c (grub_util_get_image_size): Likewise.
34476
34477 * disk/loopback.c (options): Improve help for "--partitions".
34478
34479 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
34480 options to align them with the short options, e.g. "echo -e".
34481
34482 2008-03-31 Bean <bean123ch@gmail.com>
34483
34484 * video/reader/png.c (grub_png_data): New member is_16bit and
34485 image_data.
34486 (grub_png_decode_image_header): Detect 16 bit png image.
34487 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
34488 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
34489 (grub_video_reader_png): Release memory occupied by image_data.
34490
34491 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
34492 4096 bytes.
34493 (grub_nfs_mount): Skip the test for sector per cluster.
34494
34495 * include/grub/ntfs.h (MAX_SPC): Removed.
34496
34497 2008-03-31 Bean <bean123ch@gmail.com>
34498
34499 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34500 (grub_probe_SOURCES): Add fs/afs.c.
34501 (grub_fstest_SOURCES): Likewise.
34502 (afs_mod_SOURCES): New variable.
34503 (afs_mod_CFLAGS): Likewise.
34504 (afs_mod_LDFLAGS): Likewise.
34505
34506 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34507 (grub_emu_SOURCES): Likewise.
34508
34509 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34510
34511 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34512
34513 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34514
34515 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34516
34517 * fs/afs.c: New file.
34518
34519 2008-03-30 Pavel Roskin <proski@gnu.org>
34520
34521 * disk/host.c: Include grub/misc.h to fix a warning.
34522 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34523 warnings about implicit declarations.
34524
34525 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34526 variable.
34527 * include/grub/i386/loader.h: Change declaration of
34528 grub_linux_boot() to match what grub_loader_set() expects.
34529 * util/getroot.c (grub_guess_root_device): Return const char* to
34530 fix a warning.
34531 * util/grub-probe.c (probe): Fix a warning about uninitialized
34532 abstraction_name variable.
34533 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34534 second argument as unused to fix a warning.
34535
34536 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34537 missing grub_error() call.
34538
34539 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34540 2.60 and newer uses it to define datadir.
34541
34542 * commands/sleep.c: Fix warning about implicit declaration.
34543 * disk/memdisk.c: Likewise.
34544 * loader/aout.c: Likewise.
34545 * loader/i386/bsd_normal.c: Likewise.
34546 * util/grub-probe.c: Likewise.
34547
34548 * commands/i386/cpuid.c (has_longmode): Make static.
34549 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34550 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34551
34552 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34553 GDT. This is more robust, as %ds can change.
34554 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34555 calling real_to_prot().
34556 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34557
34558 2008-03-28 Pavel Roskin <proski@gnu.org>
34559
34560 * kern/i386/pc/startup.S: Assert that uncompressed functions
34561 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34562 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34563 code, as they push parts of the code (error handlers) beyond
34564 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34565 code as correctness and size.
34566
34567 2008-03-28 Pavel Roskin <proski@gnu.org>
34568
34569 * kern/i386/pc/startup.S
34570 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34571 data block address to the real mode, keep offset minimal. This
34572 works around a bug in AWARD BIOS on old Athlon systems, which
34573 makes CD detection hang.
34574
34575 2008-03-26 Pavel Roskin <proski@gnu.org>
34576
34577 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34578 const.
34579 * include/grub/normal.h: Add grub_parse_color_name_pair()
34580 declaration.
34581
34582 2008-03-24 Bean <bean123ch@gmail.com>
34583
34584 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34585 (cd_count): Removed.
34586 (cd_drive): New variable.
34587 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34588 (grub_biosdisk_call_hook): Likewise.
34589 (grub_biosdisk_iterate): Change cdrom detection method.
34590 (grub_biosdisk_open): Replace cd_start with cd_drive.
34591 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34592 detect cdrom device.
34593
34594 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34595 Removed.
34596 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34597 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34598 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34599 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34600 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34601 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34602 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34603 (grub_biosdisk_cdrp): New structure.
34604 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34605
34606 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34607
34608 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34609 device.
34610
34611 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34612 New function.
34613
34614 2008-03-20 Robert Millan <rmh@aybabtu.com>
34615
34616 Remove 2 TiB limit in ata.mod.
34617 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34618 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34619 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34620 grub_uint64_t instead of grub_uint32_t.
34621
34622 2008-03-05 Bean <bean123ch@gmail.com>
34623
34624 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34625 (grub_multiboot): Set boot device.
34626
34627 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34628
34629 2008-03-02 Bean <bean123ch@gmail.com>
34630
34631 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34632 symlink_buffer.
34633
34634 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34635
34636 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34637 texinfo.tex.
34638
34639 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34640 modified.
34641
34642 * docs/fdl.texi: New file.
34643
34644 * docs/mdate-sh: New file. Copied from gnulib.
34645 * docs/texinfo.tex: Likewise.
34646
34647 * config.guess: Updated from gnulib.
34648 * install-sh: Likewise.
34649
34650 2008-02-28 Robert Millan <rmh@aybabtu.com>
34651
34652 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34653 (aout_mod_SOURCES): New variable.
34654 (aout_mod_CFLAGS): Likewise.
34655 (aout_mod_LDFLAGS): Likewise.
34656
34657 * conf/i386-ieee1275.rmk: Likewise.
34658
34659 2008-02-28 Robert Millan <rmh@aybabtu.com>
34660
34661 * util/update-grub.in: Reorganise terminal validity check. Accept
34662 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34663 Based on suggestion by Franklin PIAT.
34664
34665 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34666
34667 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
34668 function.
34669 * util/getroot.c (grub_util_check_block_device): New function that
34670 returns the given argument if it is a block device and returns NULL else.
34671 * util/grub-probe.c (argument_is_device): New variable.
34672 (probe): Promote device_name from a variable to an argument. Receive
34673 device_name from grub_util_check_block_device() if path is NULL and from
34674 grub_guess_root_device() else. Do not free() device_name anymore.
34675 (options): Introduce new parameter '-d, --device'.
34676 (main): Add description of the new parameter to the help screen.
34677 Rename path variable to argument. Set argument_is_device if the '-d'
34678 option is given. Pass argument to probe() depending on
34679 argument_is_device.
34680
34681 2008-02-24 Bean <bean123ch@gmail.com>
34682
34683 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
34684 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
34685 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
34686 (GRUB_ISO9660_VOLDESC_PART): Likewise.
34687 (GRUB_ISO9660_VOLDESC_END): Likewise.
34688 (grub_iso9660_primary_voldesc): New member escape.
34689 (grub_iso9660_data): New member joliet.
34690 (grub_iso9660_convert_string): New function.
34691 (grub_iso9660_mount): Detect joliet extension.
34692 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
34693 (grub_iso9660_iso9660_label): Likewise.
34694
34695 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
34696 (grub_setup_SOURCES): Add fs/udf.c.
34697 (grub_fstest_SOURCES): Likewise.
34698 (udf_mod_SOURCES): New variable.
34699 (udf_mod_CFLAGS): Likewise.
34700 (udf_mod_LDFLAGS): Likewise.
34701
34702 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
34703 (grub_emu_SOURCES): Likewise.
34704
34705 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34706
34707 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34708
34709 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34710
34711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34712
34713 * fs/udf.c: New file.
34714
34715 2008-02-24 Robert Millan <rmh@aybabtu.com>
34716
34717 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
34718 (normal/lexer.c_DEPENDENCIES): New variables.
34719 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34720 (normal/lexer.c_DEPENDENCIES): Likewise.
34721 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
34722 (normal/lexer.c_DEPENDENCIES): Likewise.
34723 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
34724 (normal/lexer.c_DEPENDENCIES): Likewise.
34725 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34726 (normal/lexer.c_DEPENDENCIES): Likewise.
34727 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34728 (normal/lexer.c_DEPENDENCIES): Likewise.
34729
34730 2008-02-23 Robert Millan <rmh@aybabtu.com>
34731
34732 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
34733 since they were intended to be in hex. This didn't break previously
34734 because of a bug in gpt_partition_map_iterate() (see below).
34735
34736 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
34737 when checking the validity of GPT header.
34738 Remove `partno', since it always provides the same information as `i'.
34739
34740 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
34741
34742 * include/grub/efi/time.h: Fix a wrong comment.
34743
34744 2008-02-19 Pavel Roskin <proski@gnu.org>
34745
34746 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
34747 message.
34748
34749 2008-02-19 Bean <bean123ch@gmail.com>
34750
34751 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34752 (aout_mod_SOURCES): New variable.
34753 (aout_mod_CFLAGS): Likewise.
34754 (aout_mod_LDFLAGS): Likewise.
34755 (_bsd_mod_SOURCES): New variable.
34756 (_bsd_mod_CFLAGS): Likewise.
34757 (_bsd_mod_LDFLAGS): Likewise.
34758 (bsd_mod_SOURCES): New variable.
34759 (bsd_mod_CFLAGS): Likewise.
34760 (bsd_mod_LDFLAGS): Likewise.
34761
34762 * include/grub/aout.h: New file.
34763
34764 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34765
34766 * include/grub/i386/bsd.h: New file.
34767
34768 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34769 to make it public.
34770
34771 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34772 function is called, so that it's possible to change it inside the hook.
34773 (grub_elf64_load): Likewise.
34774 (grub_elf_file): Don't close the file if elf header is not found.
34775 (grub_elf_close): Close the file if grub_elf_file fails (The new
34776 grub_elf_file won't close it).
34777 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
34778 (grub_elf64_size): Likewise.
34779
34780 * kern/i386/loader.S (grub_unix_real_boot): New function.
34781
34782 * loader/aout.c: New file.
34783
34784 * loader/i386/bsd.c: New file.
34785
34786 * loader/i386/bsd_normal.c: New file.
34787
34788 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
34789
34790 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
34791 can test other formats.
34792
34793 2008-02-19 Robert Millan <rmh@aybabtu.com>
34794
34795 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
34796 (grub_gpt_partition_type_empty): Redefine with macro from
34797 `<grub/gpt_partition.h>'.
34798 (gpt_partition_map_iterate): Adjust partition type comparison.
34799
34800 Export `entry' as partmap-specific `part.data' struct.
34801 (grub_gpt_header, grub_gpt_partentry): Move from here ...
34802
34803 * include/grub/gpt_partition.h (grub_gpt_header)
34804 (grub_gpt_partentry): ... to here (new file).
34805
34806 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
34807
34808 (grub_gpt_partition_type_bios_boot): New const variable, defined
34809 with macro from `<grub/gpt_partition.h>'.
34810
34811 (setup): Replace `first_start' with `embed_region', which keeps
34812 track of the embed region (and is partmap-agnostic).
34813
34814 Replace find_first_partition_start() with find_usable_region(),
34815 which finds a usable region for embedding using partmap-specific
34816 knowledge (supports PC/MSDOS and GPT).
34817
34818 Fix all assumptions that the embed region start at sector 1, using
34819 `embed_region.start' from now on. Similarly, use `embed_region.end'
34820 rather than `first_start' to calculate available size.
34821
34822 In grub_util_info() message, replace "into after the MBR" with an
34823 indication of the specific sector our embed region starts at.
34824
34825 2008-02-19 Robert Millan <rmh@aybabtu.com>
34826
34827 * DISTLIST: Replace `commands/ieee1275/halt.c' and
34828 `commands/ieee1275/reboot.c' with `commands/halt.c' and
34829 `commands/reboot.c'.
34830 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34831 (halt_mod_SOURCES): Likewise.
34832 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34833 (halt_mod_SOURCES): Likewise.
34834
34835 2008-02-17 Christian Franke <franke@computer.org>
34836
34837 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
34838
34839 2008-02-17 Robert Millan <rmh@aybabtu.com>
34840
34841 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34842 set `first_start' to 0 for non-PC/MSDOS partition maps.
34843
34844 2008-02-16 Robert Millan <rmh@aybabtu.com>
34845
34846 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34847 do not assume partition map is PC/MSDOS before performing checks that
34848 are specific to that layout.
34849
34850 2008-02-13 Robert Millan <rmh@aybabtu.com>
34851
34852 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
34853 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
34854 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
34855
34856 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
34857
34858 * configure.ac: Only a cosmetic change on the handling of
34859 -fno-stack-protector.
34860
34861 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
34862
34863 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
34864 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
34865 reboot.c.
34866 (grub_install_SOURCES): Add halt.mod and reboot.mod.
34867 (halt_mod_SOURCES): New variable.
34868 (halt_mod_CFLAGS): Likewise.
34869 (halt_mod_LDFLAGS): Likewise.
34870 (reboot_mod_SOURCES): Likewise.
34871 (reboot_mod_CFLAGS): Likewise.
34872 (reboot_mod_LDFLAGS): Likewise.
34873
34874 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
34875 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
34876 reboot.c.
34877 (halt_mod_SOURCES): Likewise.
34878 (reboot_mod_SOURCES): Likewise.
34879
34880 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
34881 commands/i386/pc/reboot.c by commands/reboot.c.
34882 (reboot_mod_SOURCES): Likewise.
34883
34884 * commands/i386/pc/reboot.c: merge this file ...
34885
34886 * commands/ieee1275/reboot.c: ... and this file ...
34887
34888 * commands/reboot.c: ... to this file.
34889 Add some precompiler directive to include the correct header for
34890 each machine.
34891
34892 * commands/ieee1275/halt.c: move this file ...
34893
34894 * commands/halt.c: ... to here.
34895 Add some precompiler directive to include the correct header for
34896 each machine.
34897
34898 * include/grub/efi/efi.h (grub_reboot): New function declaration.
34899 (grub_halt): Likewise.
34900
34901 * kern/efi/efi.c (grub_reboot): New function.
34902 (grub_halt): Likewise.
34903
34904 2008-02-12 Robert Millan <rmh@aybabtu.com>
34905
34906 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
34907 /dev (like it is done for /dev/mapper). This doesn't provide support
34908 for EVMS, but at least it is now easy to identify the problem when it
34909 arises.
34910
34911 2008-02-11 Robert Millan <rmh@aybabtu.com>
34912
34913 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
34914 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
34915 comparing it with -1, not 0.
34916
34917 2008-02-10 Robert Millan <rmh@aybabtu.com>
34918
34919 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
34920 `disk/lvm.c'.
34921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34922 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34923
34924 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
34925 `disk/lvm.c' to the end of the list.
34926 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34927 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34928
34929 2008-02-10 Robert Millan <rmh@aybabtu.com>
34930
34931 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
34932 grub_print_error() instead. This will let user know why we're entering
34933 rescue mode.
34934 Based on suggestions from Sam Morris.
34935
34936 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
34937
34938 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
34939 on remaining N args, instead of "--" arg N times.
34940
34941 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
34942
34943 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
34944 (fill_with_default_glyph): Changed to use unknown_glyph for fill
34945 pattern for unknown glyphs.
34946
34947 2008-02-09 Robert Millan <rmh@aybabtu.com>
34948
34949 * configure.ac: Probe for `help2man'.
34950 * Makefile.in (builddir): New variable.
34951 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
34952 or otherwise add a few flags/options to it.
34953 (install-local): For every executable utility or script that is
34954 installed, invoke $(HELP2MAN) to install a manpage based on --help
34955 output.
34956
34957 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
34958 that it doesn't prevent --help from working in build tree.
34959
34960 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
34961 with `bug-grub@gnu.org'.
34962 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
34963 * util/update-grub.in (usage): New function.
34964 Implement proper argument check, with support for --help and --version
34965 (as well as existing -y).
34966
34967 2008-02-09 Christian Franke <franke@computer.org>
34968
34969 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
34970 avoid overwriting previous output.
34971 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
34972
34973 2008-02-09 Robert Millan <rmh@aybabtu.com>
34974
34975 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
34976 drawing the menu.
34977
34978 2008-02-09 Robert Millan <rmh@aybabtu.com>
34979
34980 * commands/sleep.c: New file.
34981 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
34982 (sleep_mod_SOURCES): New variable.
34983 (sleep_mod_CFLAGS): Likewise.
34984 (sleep_mod_LDFLAGS): Likewise.
34985
34986 2008-02-09 Robert Millan <rmh@aybabtu.com>
34987
34988 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
34989 situations in which we can deduce the RAID size and the superblock
34990 doesn't match it.
34991
34992 2008-02-09 Robert Millan <rmh@aybabtu.com>
34993
34994 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
34995 and return a grub_diskmemberlist_t composed of LVM physical volumes.
34996 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
34997
34998 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
34999 and return a grub_diskmemberlist_t composed of physical array members.
35000 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
35001
35002 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
35003 prototype.
35004 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
35005 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
35006 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
35007
35008 * util/grub-probe.c (probe): Move partmap probing code from here ...
35009 (probe_partmap): ... to here.
35010 (probe): Use probe_partmap() once for the disk we're probing, and
35011 additionally, when such disk contains a memberlist() struct member,
35012 once for each disk that is contained in the structure returned by
35013 memberlist().
35014
35015 2008-02-09 Robert Millan <rmh@aybabtu.com>
35016
35017 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
35018 environment variable to 'all' in order to obtain debug output from
35019 non-util/ code.
35020 * util/i386/pc/grub-setup.c (main): Likewise.
35021
35022 2008-02-08 Robert Millan <rmh@aybabtu.com>
35023
35024 * disk/raid.c (grub_raid_scan_device): Check for
35025 `array->device[sb.this_disk.number]' rather than for
35026 `array->device[sb.this_disk.number]->name', since the latter is not
35027 guaranteed to be accessible.
35028
35029 2008-02-08 Robert Millan <rmh@aybabtu.com>
35030
35031 * disk/raid.c: Update copyright.
35032 * fs/cpio.c: Likewise.
35033 * include/grub/raid.h: Likewise.
35034 * loader/i386/pc/multiboot.c: Likewise.
35035 * util/hostfs.c: Likewise.
35036
35037 2008-02-08 Robert Millan <rmh@aybabtu.com>
35038
35039 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
35040 to a grub_disk_t array.
35041 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
35042 `device[x]'.
35043 (grub_raid_scan_device): Replace `device[x].name' accesses with
35044 `device[x]->name'. Simplify initialization of `array->device[x]'.
35045
35046 2008-02-08 Robert Millan <rmh@aybabtu.com>
35047
35048 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
35049 grub_dprintf() calls.
35050 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
35051 error message.
35052
35053 2008-02-07 Christian Franke <franke@computer.org>
35054
35055 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
35056 instead of fseek and ftell to support large files.
35057 (grub_hostfs_read): Likewise.
35058
35059 2008-02-07 Robert Millan <rmh@aybabtu.com>
35060
35061 Patch from Jeroen Dekkers.
35062 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
35063 failure, since successfully reading all array members might not be
35064 required.
35065
35066 2008-02-06 Robert Millan <rmh@aybabtu.com>
35067
35068 * util/grub-probe.c (probe): Simplify partmap probing (with the
35069 assumption that the first word up to the underscore equals to
35070 the module name).
35071
35072 2008-02-06 Christian Franke <franke@computer.org>
35073
35074 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
35075 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
35076 last block of a cpio or tar stream.
35077 Check for "TRAILER!!!" instead of any empty data
35078 block to detect last block of a cpio stream.
35079 (grub_cpio_dir): Fix constness of variable np.
35080 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
35081 cpio or tar trailer is detected. This fixes a crash
35082 on open of a non existing file.
35083
35084 2008-02-05 Bean <bean123ch@gmail.com>
35085
35086 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
35087 address of entry.
35088 (grub_multiboot_load_elf64): Likewise.
35089 (grub_multiboot): Initialize mbi structure.
35090
35091 * util/grub-fstest.c: Don't include unused header file script.h.
35092
35093 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
35094 of file.
35095 (grub_fstest_SOURCES): Likewise.
35096
35097 2008-02-05 Robert Millan <rmh@aybabtu.com>
35098
35099 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
35100 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
35101 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
35102 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
35103
35104 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
35105 (translation_table): Replace hardcoded values with macros
35106 provided by `<grub/term.h>'.
35107
35108 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
35109 (keyboard_map): Correct/add a few values, with macros provided
35110 by `<grub/term.h>'.
35111 (keyboard_map_shift): Zero values that don't differ from their
35112 `keyboard_map' equivalents.
35113 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
35114 Discard the second scan code that is always sent by Caps lock.
35115 Only use `keyboard_map_shift' when it provides a non-zero value,
35116 otherwise fallback to `keyboard_map'.
35117
35118 2008-02-04 Bean <bean123ch@gmail.com>
35119
35120 * Makefile.in (enable_grub_fstest): New variable.
35121
35122 * conf/common.rmk (grub_fstest_init.lst): New rule.
35123 (grub_fstest_init.h): Likewise.
35124 (grub_fstest_init.c): Likewise.
35125 (util/grub-fstest.c_DEPENDENCIES): New variable.
35126 (grub_fstest_SOURCES): Likewise.
35127
35128 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
35129
35130 * util/grub-fstest.c: New file.
35131
35132 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35133
35134 Make grub-setup handle a separate root device.
35135
35136 * util/i386/pc/grub-setup.c (setup): Always open the root device,
35137 so that the root device can be compared with the destination
35138 device.
35139 When embedding the core image, if the root and destination devices
35140 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
35141 0xFF.
35142 When not embedding, set ROOT_DRIVE to 0xFF.
35143
35144 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35145
35146 Add support for having a grub directory in a different drive. This
35147 is still only the data handling part.
35148
35149 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
35150 (codestart): Save %dh in GRUB_ROOT_DRIVE.
35151 (grub_root_drive): New variable.
35152
35153 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
35154 instead of GRUB_BOOT_DRIVE to construct a device name. Set
35155 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
35156 as it was.
35157
35158 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
35159
35160 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
35161 macro.
35162 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
35163
35164 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
35165 is bogus, because PXE booting does not specify any drive
35166 correctly.
35167
35168 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
35169 am not sure if this is really correct.
35170
35171 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
35172 is always identical to the boot drive when booting from a CD.
35173
35174 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
35175 longer.
35176 (root_drive): New variable.
35177 (real_start): Unconditionally set %dh to ROOT_DRIVE.
35178 (setup_sectors): Push %dx right after popping it, because %dh will
35179 be modified later.
35180 (copy_buffer): Restore %dx.
35181
35182 2008-02-03 Robert Millan <rmh@aybabtu.com>
35183
35184 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
35185 use `cdboot.img' for cdrom images.
35186
35187 2008-02-03 Robert Millan <rmh@aybabtu.com>
35188
35189 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
35190 only setup gfxterm when `font' command has succeeded.
35191
35192 2008-02-03 Robert Millan <rmh@aybabtu.com>
35193
35194 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
35195 (grub_rescue_cmd_multiboot_loader)
35196 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
35197
35198 2008-02-03 Pavel Roskin <proski@gnu.org>
35199
35200 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
35201 %edx and %esi from stack only after grub_gate_a20() is called.
35202 grub_gate_a20() clobbers %edx.
35203
35204 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35205
35206 * configure.ac (AC_INIT): Bumped to 1.96.
35207
35208 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
35209 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
35210 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
35211 video/readers/png.c.
35212
35213 2008-02-03 Bean <bean123ch@gmail.com>
35214
35215 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
35216 (cdboot_img_SOURCES): New variable.
35217 (cdboot_img_ASFLAGS): New variable.
35218 (cdboot_img_LDFLAGS): New variable.
35219
35220 * boot/i386/pc/cdboot.S: New file.
35221
35222 * disk/i386/pc/biosdisk.c (cd_start): New variable.
35223 (cd_count): Likewise.
35224 (grub_biosdisk_get_drive): Add support for cd device.
35225 (grub_biosdisk_call_hook): Likewise.
35226 (grub_biosdisk_iterate): Likewise.
35227 (grub_biosdisk_open): Likewise.
35228 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
35229 (grub_biosdisk_rw): Support reading from cd device.
35230 (GRUB_MOD_INIT): Iterate cd devices.
35231
35232 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
35233 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
35234 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
35235
35236 * kern/i386/pc/init.c (make_install_device): Check for cd device.
35237
35238 2008-02-02 Robert Millan <rmh@aybabtu.com>
35239
35240 * commands/read.c: New file.
35241 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
35242 (read_mod_SOURCES): New variable.
35243 (read_mod_CFLAGS): Likewise.
35244 (read_mod_LDFLAGS): Likewise.
35245
35246 2008-02-02 Robert Millan <rmh@aybabtu.com>
35247
35248 * normal/main.c (grub_normal_execute): Check for `menu->size' when
35249 determining whether menu has to be displayed.
35250
35251 2008-02-02 Marco Gerards <marco@gnu.org>
35252
35253 * bus/pci.c: New file.
35254
35255 * include/grub/pci.h: Likewise.
35256
35257 * include/grub/i386/pc/pci.h: Likewise.
35258
35259 * commands/lspci.c: Likewise.
35260
35261 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
35262 `lspci.mod'.
35263 (pci_mod_SOURCES): New variable.
35264 (pci_mod_CFLAGS): Likewise.
35265 (pci_mod_LDFLAGS): Likewise.
35266 (lspci_mod_SOURCES): Likewise.
35267 (lspci_mod_CFLAGS): Likewise.
35268 (lspci_mod_LDFLAGS): Likewise.
35269
35270 2008-02-02 Bean <bean123ch@gmail.com>
35271
35272 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
35273 (grub_ufs_get_file_block): Fix indirect block calculation problem.
35274
35275 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
35276 (grub_xfs_btree_node): New structure.
35277 (grub_xfs_btree_root): New structure.
35278 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
35279 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
35280 (GRUB_XFS_EXTENT_BLOCK): Likewise.
35281 (GRUB_XFS_EXTENT_SIZE): Likewise.
35282 (grub_xfs_read_block): Support btree format type.
35283 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
35284 Use directory block as basic unit.
35285
35286 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
35287
35288 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
35289 __attribute__ ((__regparm__ (1))).
35290
35291 2008-02-01 Robert Millan <rmh@aybabtu.com>
35292
35293 Correct a mistake in previous commit.
35294
35295 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
35296 top.
35297 (normal/command.c_DEPENDENCIES): New variable.
35298
35299 2008-02-01 Robert Millan <rmh@aybabtu.com>
35300
35301 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
35302 top.
35303 (normal/command.c_DEPENDENCIES): New variable.
35304 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
35305 * conf/i386-ieee1275.rmk: Likewise.
35306 * conf/i386-linuxbios.rmk: Likewise.
35307 * conf/i386-pc.rmk: Likewise.
35308 * conf/sparc64-ieee1275.rmk: Likewise.
35309 * conf/powerpc-ieee1275.rmk: Likewise.
35310 (grub_emu_SOURCES): Add `fs/fshelp.c'.
35311
35312 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
35313
35314 2008-02-01 Robert Millan <rmh@aybabtu.com>
35315
35316 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
35317 call at beginning of function.
35318
35319 2008-01-31 Pavel Roskin <proski@gnu.org>
35320
35321 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
35322 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
35323 (grub_mkrescue_SOURCES): Likewise.
35324 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
35325
35326 2008-01-30 Robert Millan <rmh@aybabtu.com>
35327
35328 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
35329 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
35330 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
35331 (grub_probe_SOURCES): ... to here.
35332
35333 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
35334 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
35335 * conf/i386-ieee1275.rmk: Likewise.
35336 * conf/i386-linuxbios.rmk: Likewise.
35337 * conf/powerpc-ieee1275.rmk: Likewise.
35338
35339 2008-01-30 Tristan Gingold <gingold@free.fr>
35340
35341 * kern/rescue.c: Silently accept empty lines.
35342
35343 2008-01-29 Bean <bean123ch@gmail.com>
35344
35345 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
35346 (real_code_2): Code cleanup and change comment style.
35347 (move_memory): Avoid using 32-bit address mode.
35348
35349 2008-01-29 Bean <bean123ch@gmail.com>
35350
35351 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
35352 (png_mod_SOURCES): New variable.
35353 (png_mod_CFLAGS): Likewise.
35354 (png_mod_LDFLAGS): Likewise.
35355
35356 * video/readers/png.c: New file.
35357
35358 2008-01-28 Robert Millan <rmh@aybabtu.com>
35359
35360 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
35361 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
35362 `ifndef GRUB_MOD_GAP' hack.
35363 * util/elf/grub-mkimage.c (add_segments): Likewise.
35364
35365 2008-01-27 Robert Millan <rmh@aybabtu.com>
35366
35367 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
35368 `GRUB_MOD_GAP' for platforms in which it's not defined.
35369 * util/elf/grub-mkimage.c (add_segments): Likewise.
35370
35371 2008-01-27 Robert Millan <rmh@aybabtu.com>
35372
35373 Get grub-emu to build again (including parallel builds).
35374
35375 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
35376 Split into ...
35377 (util/grub-emu.c_DEPENDENCIES): ... this, ...
35378 (normal/execute.c_DEPENDENCIES): ... this, ...
35379 (grub-emu_DEPENDENCIES): ... and this.
35380
35381 * conf/i386-efi.rmk: Likewise.
35382 * conf/i386-linuxbios.rmk: Likewise.
35383 * conf/i386-ieee1275.rmk: Likewise.
35384 * conf/powerpc-ieee1275.rmk: Likewise.
35385 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
35386
35387 2008-01-27 Robert Millan <rmh@aybabtu.com>
35388
35389 * NEWS: Add a few items.
35390
35391 2008-01-27 Robert Millan <rmh@aybabtu.com>
35392
35393 Fix parallel builds with grub-emu. Based on earlier commit for
35394 grub-probe and grub-setup.
35395
35396 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35397 (util/grub-emu.c_DEPENDENCIES): ... this.
35398 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35399 (util/grub-emu.c_DEPENDENCIES): ... this.
35400 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35401 (util/grub-emu.c_DEPENDENCIES): ... this.
35402 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35403 (util/grub-emu.c_DEPENDENCIES): ... this.
35404 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35405 (util/grub-emu.c_DEPENDENCIES): ... this.
35406
35407 2008-01-27 Pavel Roskin <proski@gnu.org>
35408
35409 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
35410 to create a gap between _end and the modules added to the image
35411 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
35412 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
35413 * util/elf/grub-mkimage.c (add_segments): Likewise.
35414
35415 2008-01-26 Pavel Roskin <proski@gnu.org>
35416
35417 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
35418 just return an error.
35419
35420 2008-01-26 Bean <bean123ch@gmail.com>
35421
35422 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
35423 (grub_reiserfs_get_item): Save offset of the next item.
35424 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
35425
35426 2008-01-25 Robert Millan <rmh@aybabtu.com>
35427
35428 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
35429 make all filesystem sources appear together (possibly fixing omissions
35430 while at it).
35431 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35432 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35433 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35434 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35435
35436 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
35437 add `kern/file.c'.
35438 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
35439 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35440 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
35441 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35442
35443 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
35444 (probe): Add a sanity check to make sure of our ability to read
35445 requested files when probing for filesystem type.
35446
35447 * genmk.rb: Update copyright year (2007).
35448
35449 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
35450 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
35451 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
35452 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
35453 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
35454 : Remove function prototypes.
35455
35456 2008-01-25 Robert Millan <rmh@aybabtu.com>
35457
35458 Revert my previous commits (based on wrong assumption of how grub_errno
35459 works).
35460
35461 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
35462 * kern/file.c (grub_file_open): Likewise.
35463
35464 2008-01-24 Pavel Roskin <proski@gnu.org>
35465
35466 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
35467 that hang if GRUB tries to setup colors.
35468 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
35469 colors for firmwares that don't support it.
35470 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
35471 Recognize Open Hack'Ware, set flags to work around its
35472 limitations.
35473
35474 2008-01-24 Robert Millan <rmh@aybabtu.com>
35475
35476 * kern/file.c (grub_file_open): Do not account previous failures of
35477 unrelated functions when grub_errno is checked for.
35478 Reported by Oleg Strikov.
35479
35480 2008-01-24 Bean <bean123ch@gmail.com>
35481
35482 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
35483 (grub_ufs_sblock): New member volume name.
35484 (grub_ufs_find_file): Fix string copy bug.
35485 (grub_ufs_label): Implement this function properly.
35486
35487 * fs/hfs.c (grub_hfs_cnid_type): New enum.
35488 (grub_hfs_iterate_records): Use the correct file number for extents
35489 and catalog file. Fix problem in next index calculation.
35490 (grub_hfs_find_node): Replace recursive function call with loop.
35491 (grub_hfs_iterate_dir): Replace recursive function call with loop.
35492
35493 2008-01-23 Robert Millan <rmh@aybabtu.com>
35494
35495 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35496 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35497 (grub_multiboot2_real_boot): New function prototype.
35498
35499 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35500 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35501
35502 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35503 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35504
35505 2008-01-23 Robert Millan <rmh@aybabtu.com>
35506
35507 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35508 #ifdef'ed out grub_printf().
35509
35510 2008-01-23 Robert Millan <rmh@aybabtu.com>
35511
35512 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35513 grub_dprintf calls, since they make "debug=all" mode unusable.
35514 (grub_console_checkkey): Likewise.
35515
35516 2008-01-23 Robert Millan <rmh@aybabtu.com>
35517
35518 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35519 `term/i386/pc/at_keyboard.c'.
35520 (pkglib_MODULES): Add `serial.mod'.
35521 (serial_mod_SOURCES): New variable.
35522 (serial_mod_CFLAGS): Likewise.
35523 (serial_mod_LDFLAGS): Likewise.
35524
35525 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35526 `<grub/powerpc/ieee1275/console.h>'.
35527 (grub_keyboard_controller_init): New function prototype.
35528 (grub_console_checkkey): Likewise.
35529 (grub_console_getkey): Likewise.
35530
35531 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35532 keyboard on i386.
35533
35534 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35535 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35536
35537 2008-01-23 Robert Millan <rmh@aybabtu.com>
35538
35539 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35540 present, "(memdisk)/boot/grub" becomes the default prefix.
35541
35542 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35543 a memdisk tarball with all the modules. Add --overlay=DIR option that
35544 allows users to overlay additional files into the image.
35545
35546 2008-01-23 Robert Millan <rmh@aybabtu.com>
35547
35548 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35549 and `machine/memory.h'.
35550 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35551 (_multiboot_mod_SOURCES): New variable.
35552 (_multiboot_mod_CFLAGS): Likewise.
35553 (_multiboot_mod_LDFLAGS): Likewise.
35554 (multiboot_mod_SOURCES): Likewise.
35555 (multiboot_mod_CFLAGS): Likewise.
35556 (multiboot_mod_LDFLAGS): Likewise.
35557
35558 * include/grub/i386/ieee1275/loader.h: New file.
35559
35560 * include/grub/i386/ieee1275/machine.h: Likewise.
35561
35562 * include/grub/i386/ieee1275/memory.h: Likewise.
35563
35564 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35565 variable declaration.
35566 (grub_os_area_size): Likewise.
35567
35568 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35569 (grub_lower_mem, grub_upper_mem): New variables.
35570 (grub_stop_floppy): New function (just to make
35571 grub_multiboot2_real_boot() happy).
35572
35573 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35574 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35575 (grub_stop): New function.
35576 Include `"../realmode.S"' and `"../loader.S"'.
35577
35578 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35579 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35580
35581 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35582 rely on grub_multiboot2_real_boot() for final boot.
35583
35584 2008-01-22 Robert Millan <rmh@aybabtu.com>
35585
35586 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35587 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35588 device that doesn't look like an SD card.
35589 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35590 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35591 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35592 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35593 found.
35594
35595 2008-01-22 Robert Millan <rmh@aybabtu.com>
35596
35597 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35598 avoid claiming over our own code.
35599
35600 2008-01-22 Bean <bean123ch@gmail.com>
35601
35602 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35603 (jpeg_mod_SOURCES): New variable.
35604 (jpeg_mod_CFLAGS): Likewise.
35605 (jpeg_mod_LDFLAGS): Likewise.
35606
35607 * video/readers/jpeg.c : New file.
35608
35609 2008-01-22 Bean <bean123ch@gmail.com>
35610
35611 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35612 there are no more items.
35613
35614 2008-01-21 Robert Millan <rmh@aybabtu.com>
35615
35616 * kern/mm.c (grub_mm_init_region): Improve debug message.
35617
35618 2008-01-21 Robert Millan <rmh@aybabtu.com>
35619
35620 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35621 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35622 address.
35623 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35624 a C macro.
35625 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35626 Indicates start of upper memory.
35627 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35628 (generate_image): Abort when image size is big enough to corrupt
35629 upper memory.
35630
35631 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35632 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35633 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35634 instead of hardcoding 0xA0000.
35635 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35636 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35637 instead of hardcoding 0xA0000.
35638
35639 2008-01-21 Robert Millan <rmh@aybabtu.com>
35640
35641 * disk/memdisk.c (memdisk_size): New variable.
35642 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35643 `memdisk_size'.
35644 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35645 image to dynamic memory.
35646 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35647 `memdisk_size'. Free memdisk block.
35648
35649 2008-01-21 Robert Millan <rmh@aybabtu.com>
35650
35651 Fix detection of very small filesystems (like tar).
35652
35653 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35654 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35655 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35656 a problem with this disk).
35657
35658 2008-01-21 Robert Millan <rmh@aybabtu.com>
35659
35660 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35661 on grub_biosdisk_rw_standard() error.
35662
35663 2008-01-21 Robert Millan <rmh@aybabtu.com>
35664
35665 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35666 recent changes.
35667 * kern/elf.c: Likewise.
35668 * kern/ieee1275/ieee1275.c: Likewise.
35669 * kern/powerpc/ieee1275/openfw.c: Likewise.
35670 * term/ieee1275/ofconsole.c: Likewise.
35671
35672 2008-01-21 Robert Millan <rmh@aybabtu.com>
35673
35674 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
35675
35676 * include/grub/kernel.h (grub_arch_memdisk_addr)
35677 (grub_arch_memdisk_size): Moved from here ...
35678
35679 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
35680 (grub_arch_memdisk_size): ... to here.
35681
35682 2008-01-21 Robert Millan <rmh@aybabtu.com>
35683
35684 Mostly based on bugfix from Bean.
35685
35686 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
35687 attribute with hook() parameter.
35688 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
35689 declaration.
35690 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
35691 attribute with hook() parameter.
35692 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
35693 declaration.
35694
35695 2008-01-21 Robert Millan <rmh@aybabtu.com>
35696
35697 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
35698 (pkglib_MODULES): Add `memdisk.mod'.
35699 (memdisk_mod_SOURCES): New variable.
35700 (memdisk_mod_CFLAGS): Likewise.
35701 (memdisk_mod_LDFLAGS): Likewise.
35702
35703 * disk/memdisk.c: New file.
35704
35705 * include/grub/disk.h (grub_disk_dev_id): Add
35706 `GRUB_DISK_DEVICE_MEMDISK_ID'.
35707
35708 * include/grub/i386/pc/kernel.h
35709 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
35710 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
35711 (grub_kernel_image_size): New variable declaration.
35712 (grub_total_module_size): Likewise.
35713 (grub_memdisk_image_size): Likewise.
35714
35715 * include/grub/i386/pc/memory.h
35716 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
35717
35718 * include/grub/kernel.h: Include `<grub/symbol.h>'.
35719 (grub_arch_memdisk_addr): New variable declaration.
35720 (grub_arch_memdisk_size): Likewise.
35721
35722 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
35723 (grub_arch_memdisk_size): Likewise.
35724
35725 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
35726 (codestart): Replace hardcoded `0x100000' with
35727 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
35728
35729 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
35730 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
35731 not NULL, append the contents of the file it refers to, at the end of
35732 the compressed kernel image. Initialize `grub_memdisk_image_size'
35733 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
35734 (options): Add "memdisk"|'m' option.
35735 (main): Parse --memdisk|-m option, and pass user-provided path as
35736 parameter to generate_image().
35737
35738 2008-01-20 Robert Millan <rmh@aybabtu.com>
35739
35740 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
35741 grub_dprintf() calls from here ...
35742 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
35743
35744 2008-01-20 Robert Millan <rmh@aybabtu.com>
35745
35746 Fix detection of "real mode" when /options/real-mode? doesn't exist.
35747
35748 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
35749 declaration.
35750 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35751 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35752 `GRUB_IEEE1275_FLAG_REAL_MODE'.
35753 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
35754 property).
35755 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35756 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35757
35758 2008-01-19 Robert Millan <rmh@aybabtu.com>
35759
35760 Get rid of confusing function (superseded by
35761 `grub_ieee1275_get_integer_property')
35762 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35763 prototype.
35764 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35765 function.
35766 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35767 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
35768 in native endianness from grub_ieee1275_get_integer_property().
35769
35770 2008-01-19 Robert Millan <rmh@aybabtu.com>
35771
35772 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35773 command after "shut-down", since implementations differ on which
35774 the command for halt is.
35775
35776 2008-01-19 Robert Millan <rmh@aybabtu.com>
35777
35778 * include/grub/i386/linuxbios/console.h: Add header protection.
35779 (grub_keyboard_controller_init): New function prototype.
35780 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
35781 (KEYBOARD_COMMAND_READ): Likewise.
35782 (KEYBOARD_COMMAND_WRITE): Likewise.
35783 (KEYBOARD_SCANCODE_SET1): Likewise.
35784 (grub_keyboard_controller_write): New function.
35785 (grub_keyboard_controller_read): Likewise.
35786 (grub_keyboard_controller_init): Likewise.
35787
35788 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
35789 (grub_console_init): On coreboot/LinuxBIOS, call
35790 grub_keyboard_controller_init().
35791
35792 2008-01-19 Robert Millan <rmh@aybabtu.com>
35793
35794 PowerPC changes provided by Pavel Roskin.
35795
35796 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
35797 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
35798 don't rely on cmain() doing it.
35799 * kern/i386/ieee1275/startup.S (_start): Store %eax in
35800 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
35801
35802 2008-01-16 Robert Millan <rmh@aybabtu.com>
35803
35804 * include/grub/i386/linuxbios/memory.h
35805 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
35806 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
35807 receive `table_header' as argument. Instead, probe for it in the
35808 known memory ranges where it can be present.
35809 (grub_available_iterate): Do not pass a fixed `table_header' address
35810 to grub_linuxbios_table_iterate().
35811
35812 2008-01-15 Robert Millan <rmh@aybabtu.com>
35813
35814 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
35815 * conf/i386-ieee1275.rmk: New file.
35816 * include/grub/i386/ieee1275/console.h: Likewise.
35817 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
35818 * include/grub/i386/ieee1275/kernel.h: Likewise.
35819 * include/grub/i386/ieee1275/time.h: Likewise.
35820 * kern/i386/ieee1275/init.c: Likewise.
35821 * kern/i386/ieee1275/startup.S: Likewise.
35822
35823 2008-01-15 Robert Millan <rmh@aybabtu.com>
35824
35825 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
35826 when pointers are 32-bit (but still do set it to one when they are
35827 64-bit).
35828
35829 2008-01-15 Robert Millan <rmh@aybabtu.com>
35830
35831 * include/grub/ieee1275/ieee1275.h
35832 (grub_ieee1275_get_integer_property): New function prototype.
35833
35834 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
35835 (grub_ieee1275_get_integer_property): New function. Wraps around
35836 grub_ieee1275_get_property() to handle endianness.
35837
35838 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
35839 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
35840 where appropriate.
35841 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
35842 (grub_map): Likewise.
35843 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
35844
35845 2008-01-15 Bean <bean123ch@gmail.com>
35846
35847 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
35848 (grub_script_execute_cmdline): Reset grub_errno.
35849
35850 * normal/main.c (read_config_file): Reset grub_errno.
35851
35852 * normal/parse.y (script_init): New.
35853 (script): Move function and menuentry here.
35854 (delimiter): New.
35855 (command): Add delimiter at the end of command.
35856 (commands): Adjust to match the new command.
35857 (commandblock): Remove grub_script_lexer_record_start.
35858 (menuentry): Add grub_script_lexer_record_start, use the new commands.
35859 (if): Use the new commands.
35860
35861 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
35862
35863 2008-01-15 Robert Millan <rmh@aybabtu.com>
35864
35865 * normal/menu.c (run_menu): Move timeout message from here ...
35866 (print_timeout): ... to here.
35867 (run_menu): Use print_timeout() once during initial draw to print
35868 the whole message, and again in every clock tick to update only
35869 the number of seconds.
35870
35871 2008-01-15 Robert Millan <rmh@aybabtu.com>
35872
35873 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
35874 actual size of `available' from grub_ieee1275_get_property(), and
35875 restrict parsing to that bound.
35876
35877 2008-01-15 Christian Franke <franke@computer.org>
35878
35879 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
35880 (argp_program_version): Remove variable.
35881 (argp_program_bug_address): Likewise.
35882 (options): Convert from struct argp_option to struct option.
35883 (struct arguments): Remove.
35884 (parse_opt): Remove.
35885 (usage): New function.
35886 (main): Replace struct args members by simple variables.
35887 Replace argp_parse() by getopt_long().
35888 Add switch to evaluate options.
35889 Add missing "(...)" around root_dev in prefix string.
35890
35891 2008-01-14 Robert Millan <rmh@aybabtu.com>
35892
35893 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
35894 for grub_ieee1275_exit(), in order to improve portability.
35895
35896 2008-01-14 Robert Millan <rmh@aybabtu.com>
35897
35898 * util/grub.d/10_linux.in (prefix): Define.
35899 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
35900
35901 2008-01-13 Pavel Roskin <proski@gnu.org>
35902
35903 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
35904 grub_errno if no errors have been detected.
35905
35906 2008-01-12 Robert Millan <rmh@aybabtu.com>
35907
35908 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
35909 (grub_util_get_dev_abstraction): New function prototype.
35910
35911 * util/getroot.c: Include `<grub/util/getroot.h>'
35912 (grub_util_get_grub_dev): Move detection of abstraction type to ...
35913 (grub_util_get_dev_abstraction): ... here (new function).
35914
35915 * util/grub-probe.c: Convert PRINT_* to an enum. Add
35916 `PRINT_ABSTRACTION'.
35917 (probe): Probe for abstraction type when requested.
35918 (main): Understand `--target=abstraction'.
35919
35920 * util/i386/efi/grub-install.in: Add abstraction module to core
35921 image when it is found to be necessary.
35922 * util/i386/pc/grub-install.in: Likewise.
35923 * util/powerpc/ieee1275/grub-install.in: Likewise.
35924
35925 * util/update-grub_lib.in (font_path): Return system path without
35926 converting to GRUB path.
35927 * util/update-grub.in: Convert system path returned by font_path()
35928 to a GRUB path. Use `grub-probe -t abstraction' to determine what
35929 abstraction module is needed for loading fonts (if any). Export
35930 that as `GRUB_PRELOAD_MODULES'.
35931 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
35932 insmod commands).
35933
35934 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
35935
35936 Remove some unused code from reiserfs.
35937
35938 * fs/reiserfs.c (struct grub_reiserfs_key)
35939 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
35940 (struct grub_reiserfs_node_body): Removed.
35941 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35942 Likewise.
35943 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35944 Likewise.
35945 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35946 Likewise.
35947 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35948 Likewise.
35949 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35950 Likewise.
35951 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
35952 Likewise.
35953 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35954 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35955 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35956
35957 2008-01-10 Robert Millan <rmh@aybabtu.com>
35958
35959 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
35960 Determines if a file is garbage left by packaging systems, etc.
35961 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
35962 for processing /etc/grub.d scripts.
35963 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
35964 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
35965 as a condition for processing Linux images.
35966
35967 2008-01-10 Pavel Roskin <proski@gnu.org>
35968
35969 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
35970 to compile reiserfs.c on PowerPC.
35971
35972 2008-01-10 Robert Millan <rmh@aybabtu.com>
35973
35974 * kern/device.c (grub_device_iterate): Do not abort device iteration
35975 when one of the devices cannot be opened.
35976 * kern/disk.c (grub_disk_open): Do not account previous failures of
35977 unrelated functions when grub_errno is checked for.
35978
35979 2008-01-08 Robert Millan <rmh@aybabtu.com>
35980
35981 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
35982 `! grub_linux_is_bzimage', change order of address comparison to make
35983 it more intuitive, and improve "too big zImage" error message.
35984
35985 2008-01-08 Robert Millan <rmh@aybabtu.com>
35986
35987 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
35988 `$(update-grub_DATA)'.
35989 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
35990 targets.
35991
35992 2008-01-07 Robert Millan <rmh@aybabtu.com>
35993
35994 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
35995 which instruction is modified by grub-setup during installation
35996 (since it wasn't obvious by only looking at this file).
35997
35998 2008-01-07 Robert Millan <rmh@aybabtu.com>
35999
36000 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
36001 listing actual TODO items.
36002
36003 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36004
36005 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
36006 correctly.
36007 (grub_reiserfs_get_key_offset): Likewise.
36008 (grub_reiserfs_set_key_offset): Likewise.
36009 (grub_reiserfs_set_key_type): Likewise.
36010 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
36011
36012 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
36013 better to remove the bitfield version completely.
36014
36015 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36016
36017 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
36018 allocated from the heap, due to the fshelp implementation.
36019 (grub_reiserfs_dir): Free NODE, due to the same reason.
36020
36021 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36022
36023 Mostly from Vincent Pelletier:
36024
36025 * fs/reiserfs.c: New file.
36026
36027 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
36028 (reiserfs_mod_SOURCES): New variable.
36029 (reiserfs_mod_CFLAGS): Likewise.
36030 (reiserfs_mod_LDFLAGS): Likewise.
36031
36032 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
36033 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
36034 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
36035 normal/color.c.
36036
36037 2008-01-06 Robert Millan <rmh@aybabtu.com>
36038
36039 * normal/color.c: Remove `<grub/env.h>'.
36040
36041 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
36042
36043 * include/grub/normal.h: Include <grub/env.h>.
36044
36045 2008-01-05 Robert Millan <rmh@aybabtu.com>
36046
36047 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
36048 usage example with `(hd0,1)'.
36049 Reported by Samuel Thibault.
36050
36051 2008-01-05 Robert Millan <rmh@aybabtu.com>
36052
36053 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
36054 (grub_linux_boot_zimage): Rename to ...
36055 (grub_linux_boot): ... this.
36056 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
36057 (grub_linux_boot_zimage): Conditionalize zImage copy.
36058
36059 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
36060 (grub_linux_boot_bzimage): Remove prototype.
36061 (grub_linux_boot_zimage): Rename to ...
36062 (grub_linux_boot): ... this.
36063
36064 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
36065 (grub_linux_boot): Remove function.
36066
36067 2008-01-05 Robert Millan <rmh@aybabtu.com>
36068
36069 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
36070 (grub_env_write_color_highlight): Likewise.
36071 (grub_wait_after_message): Likewise.
36072
36073 * normal/color.c: New file.
36074
36075 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36076 (normal_mod_DEPENDENCIES): Likewise.
36077
36078 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36079 (normal_mod_DEPENDENCIES): Likewise.
36080
36081 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36082 (normal_mod_DEPENDENCIES): Likewise.
36083
36084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36085 (normal_mod_DEPENDENCIES): Likewise.
36086
36087 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
36088 for waiting after a message is printed.
36089 * normal/main.c (read_config_file): Likewise.
36090 (grub_normal_init): Register grub_env_write_color_normal() and
36091 grub_env_write_color_highlight() hooks. Mark `color_normal' and
36092 `color_highlight' variables as global.
36093
36094 * normal/menu.c (grub_wait_after_message): New function.
36095 (grub_color_menu_normal): New variable. Replaces ...
36096 (GRUB_COLOR_MENU_NORMAL): ... this macro.
36097 (grub_color_menu_highlight): New variable. Replaces ...
36098 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
36099 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
36100 `GRUB_TERM_COLOR_STANDARD'.
36101 (print_message): Use `grub_setcolorstate' to reload colors. Rename
36102 `normal_code' and `highlight_code' to `old_color_normal' and
36103 `old_color_highlight', respectively.
36104 (grub_menu_init_page): Update colors when drawing the menu, based on
36105 `menu_color_normal' and `menu_color_highlight' variables.
36106 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
36107 a message is printed.
36108
36109 2008-01-05 Robert Millan <rmh@aybabtu.com>
36110
36111 * kern/env.c (grub_env_context_open): Propagate hooks for global
36112 variables to new context.
36113
36114 * kern/main.c (grub_set_root_dev): Export `root' variable.
36115
36116 2008-01-05 Robert Millan <rmh@aybabtu.com>
36117
36118 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
36119 discs unconditionally, since udev and others have options to provide
36120 them.
36121
36122 2008-01-05 Robert Millan <rmh@aybabtu.com>
36123
36124 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
36125
36126 2008-01-04 Christian Franke <franke@computer.org>
36127
36128 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
36129 of eisa_mmap.
36130
36131 2008-01-03 Pavel Roskin <proski@gnu.org>
36132
36133 * kern/i386/linuxbios/init.c: Put "void" to all function
36134 declarations with no arguments.
36135 * kern/powerpc/ieee1275/init.c: Likewise.
36136 * term/i386/pc/at_keyboard.c: Likewise.
36137 * term/i386/pc/vga_text.c: Likewise.
36138 * util/grub-mkdevicemap.c: Likewise.
36139
36140 2008-01-02 Robert Millan <rmh@aybabtu.com>
36141
36142 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
36143 message when loaded image is out of bounds.
36144 (grub_multiboot_load_elf64): Likewise.
36145
36146 2008-01-02 Pavel Roskin <proski@gnu.org>
36147
36148 * util/grub.d/10_linux.in: Try version without ".old" when
36149 looking for initrd. It's better to use initrd from the newer
36150 kernel of the same version than no initrd at all.
36151
36152 2008-01-01 Robert Millan <rmh@aybabtu.com>
36153
36154 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
36155
36156 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
36157
36158 * include/grub/video.h: Added grub_video_unmap_color and
36159 grub_video_get_active_render_target.
36160 (grub_video_adapter): Added unmap_color and get_active_render_target.
36161
36162 * video/video.c: Added grub_video_unmap_color and
36163 grub_video_get_active_render_target.
36164 (grub_video_get_info): Changed method to accept NULL pointer as an
36165 argument to allow detection of active video adapter.
36166
36167 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
36168 grub_video_vbe_unmap_color_int.
36169 Added grub_video_vbe_unmap_color and
36170 grub_video_vbe_get_active_render_target.
36171 (grub_video_vbe_adapter): Added unmap_color and
36172 get_active_render_target.
36173
36174 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
36175 with grub_video_vbe_unmap_color_int.
36176
36177 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
36178 (DEFAULT_NORMAL_COLOR): Likewise.
36179 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
36180 (DEFAULT_FG_COLOR): Removed.
36181 (DEFAULT_BG_COLOR): Likewise.
36182 (DEFAULT_CURSOR_COLOR): Changed value.
36183 (grub_virtual_screen): Added standard_color_setting,
36184 normal_color_setting, highlight_color_setting and term_color.
36185 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
36186 (bitmap_width): Added.
36187 (bitmap_height): Likewise.
36188 (bitmap): Likewise.
36189 (set_term_color): Likewise.
36190 (grub_virtual_screen_setup): Changed to use new terminal coloring
36191 settings.
36192 (grub_gfxterm_init): Added init for bitmap.
36193 (grub_gfxterm_fini): Added destroy for bitmap.
36194 (redraw_screen_rect): Updated to use background bitmap and new
36195 terminal coloring.
36196 (scroll_up): Added optimization for case when there is no bitmap.
36197 (grub_gfxterm_cls): Fixed to use correct background color.
36198 (grub_virtual_screen_setcolorstate): Changed to use new terminal
36199 coloring.
36200 (grub_virtual_screen_setcolor): Likewise.
36201 (grub_virtual_screen_getcolor): Added.
36202 (grub_gfxterm_background_image_cmd): Likewise.
36203 (grub_video_term): Added setcolor and getcolor.
36204 (MOD_INIT): Added registration of background_image command.
36205 (MOD_TERM): Added unregistration for background_image command.
36206
36207 2007-12-30 Pavel Roskin <proski@gnu.org>
36208
36209 * loader/multiboot_loader.c: Fix multiboot command
36210 unregistration. Fix all typos in the word "multiboot".
36211
36212 2007-12-29 Pavel Roskin <proski@gnu.org>
36213
36214 * util/grub.d/10_linux.in: Refactor search for initrd. Add
36215 support for initrd names used in Fedora.
36216
36217 2007-12-26 Bean <bean123ch@gmail.com>
36218
36219 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
36220 (cpio_mod_SOURCES): New variable.
36221 (cpio_mod_CFLAGS): Likewise.
36222 (cpio_mod_LDFLAGS): Likewise.
36223
36224 * fs/cpio.c: New file.
36225
36226 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
36227
36228 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36229
36230 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36231
36232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36233
36234 2007-12-25 Robert Millan <rmh@aybabtu.com>
36235
36236 * include/grub/term.h (struct grub_term): Add `getcolor' function.
36237 (grub_getcolor): New function.
36238
36239 * kern/term.c (grub_getcolor): New function.
36240 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
36241 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
36242 (print_entry): Set normal and highlight colors to
36243 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
36244 respectively, before printing and restore them to old
36245 values afterwards.
36246 (grub_menu_init_page): Likewise. Fill an additional colored space
36247 that would otherwise be left blank.
36248
36249 * term/efi/console.c (grub_console_getcolor): New function.
36250 (struct grub_console_term.getcolor): New variable.
36251 * term/i386/pc/console.c (grub_console_getcolor): New function.
36252 (struct grub_console_term.getcolor): New variable.
36253 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
36254 (struct grub_console_term.getcolor): New variable.
36255
36256 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
36257 (struct grub_console_term.setcolor): Remove variable.
36258 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
36259 (struct grub_console_term.setcolor): Remove variable.
36260 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
36261 (struct grub_console_term.setcolor): Remove variable.
36262 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
36263 (struct grub_console_term.setcolor): Remove variable.
36264
36265 2007-12-25 Robert Millan <rmh@aybabtu.com>
36266
36267 * configure.ac: Search for possible unifont.hex locations, and
36268 define UNIFONT_HEX if found.
36269
36270 * Makefile.in (UNIFONT_HEX): Define variable.
36271 (DATA): Rename to ...
36272 (PKGLIB): ... this. Update all users.
36273 (PKGDATA): New variable.
36274 (pkgdata_IMAGES): Rename to ...
36275 (pkglib_IMAGES): ... this. Update all users.
36276 (pkgdata_MODULES): Rename to ...
36277 (pkglib_MODULES): ... this. Update all users.
36278 (pkgdata_PROGRAMS): Rename to ...
36279 (pkglib_PROGRAMS): ... this. Update all users.
36280 (pkgdata_DATA): Rename to ...
36281 (pkglib_DATA): ... this. Update all users.
36282 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
36283 (unicode.pff, ascii.pff): New rules.
36284 (all-local): Add `$(PKGDATA)' dependency.
36285 (install-local): Process `$(PKGDATA)'.
36286
36287 * util/update-grub_lib.in (font_path): Search for *.pff files in
36288 a few more locations, including `${pkgdata}'.
36289
36290 2007-12-23 Robert Millan <rmh@aybabtu.com>
36291
36292 Patch from Bean <bean123ch@gmail.com>:
36293 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
36294 `size'.
36295
36296 2007-12-21 Bean <bean123ch@gmail.com>
36297
36298 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
36299 (ntfscomp_mod_SOURCES): New variable.
36300 (ntfscomp_mod_CFLAGS): Likewise.
36301 (ntfscomp_mod_LDFLAGS): Likewise.
36302
36303 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
36304 (grub_probe_SOURCES): Likewise.
36305 (grub_emu_SOURCES): Likewise.
36306
36307 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36308 (grub_emu_SOURCES): Likewise.
36309
36310 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36311 (grub_emu_SOURCES): Likewise.
36312
36313 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36314 (grub_emu_SOURCES): Likewise.
36315
36316 * fs/ntfs.c (grub_ntfscomp_func): New variable.
36317 (read_run_list): Renamed to grub_ntfs_read_run_list.
36318 (decomp_nextvcn): Moved to ntfscomp.c.
36319 (decomp_getch): Likewise.
36320 (decomp_get16): Likewise.
36321 (decomp_block): Likewise.
36322 (read_block): Likewise.
36323 (read_data): Partially moved to ntfscomp.c.
36324 (fixup): Change unsigned to grub_uint16_t.
36325 (read_mft): Change unsigned long to grub_uint32_t.
36326 (read_attr): Likewise.
36327 (read_data): Likewise.
36328 (read_run_data): Likewise.
36329 (read_run_list): Likewise.
36330 (read_mft): Likewise.
36331
36332 * fs/ntfscomp.c: New file.
36333
36334 * include/grub/ntfs.h: New file.
36335
36336 2007-12-16 Robert Millan <rmh@aybabtu.com>
36337
36338 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
36339 IDE disk check, since Linux is known to support 20 IDE disks.
36340 Reported by Colin Watson.
36341
36342 2007-12-15 Bean <bean123ch@gmail.com>
36343
36344 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
36345 (lnxboot_img_SOURCES): New variable.
36346 (lnxboot_img_ASFLAGS): Likewise.
36347 (lnxboot_img_LDFLAGS): Likewise.
36348
36349 * boot/i386/pc/lnxboot.S: New file.
36350
36351 2007-11-24 Pavel Roskin <proski@gnu.org>
36352
36353 * configure.ac: Test if '--build-id=none' is supported by the
36354 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
36355 objcopy to generate incorrect binary files (binutils
36356 2.17.50.0.18-1 as shipped by Fedora 8).
36357 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
36358 linking, so that build ID doesn't break the test.
36359
36360 2007-11-24 Pavel Roskin <proski@gnu.org>
36361
36362 * include/grub/i386/time.h: use "void" in the argument list
36363 of grub_cpu_idle().
36364 * include/grub/powerpc/time.h: Likewise.
36365 * include/grub/sparc64/time.h: Likewise.
36366
36367 2007-11-18 Christian Franke <franke@computer.org>
36368
36369 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
36370 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
36371 This fixes the problem that function keys did not work in grub-emu.
36372
36373 2007-11-18 Christian Franke <franke@computer.org>
36374
36375 * disk/host.c (grub_host_open): Remove attribute unused from
36376 name parameter. Add check for "host". This fixes the problem
36377 that grub-emu does not find partitions.
36378
36379 2007-11-18 Christian Franke <franke@computer.org>
36380
36381 * util/hostfs.c (is_dir): New function.
36382 (grub_hostfs_dir): Handle missing dirent.d_type case.
36383 (grub_hostfs_read): Add missing fseek().
36384 (grub_hostfs_label): Clear label pointer. This fixes a crash
36385 of grub-emu on "ls (host)".
36386
36387 2007-11-18 Christian Franke <franke@computer.org>
36388
36389 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
36390 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
36391 to 64 bit boundary by default.
36392
36393 2007-11-18 Bean <bean123ch@gmail.com>
36394
36395 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
36396 (hexdump_mod_SOURCES): New variable.
36397 (hexdump_mod_CFLAGS): Likewise.
36398 (hexdump_mod_LDFLAGS): Likewise.
36399
36400 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36401
36402 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36403
36404 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36405
36406 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36407
36408 * include/grub/hexdump.h: New file.
36409
36410 * commands/hexdump.c: New file.
36411
36412 2007-11-10 Robert Millan <rmh@aybabtu.com>
36413
36414 * commands/i386/pc/play.c (beep_off): Switch order of arguments
36415 in grub_outb() calls.
36416 (beep_on): Likewise.
36417
36418 2007-11-10 Christian Franke <franke@computer.org>
36419
36420 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
36421 (grub_menu_run): Likewise.
36422
36423 2007-11-10 Robert Millan <rmh@aybabtu.com>
36424
36425 * include/grub/i386/efi/machine.h: New file.
36426 * include/grub/i386/linuxbios/machine.h: Likewise.
36427 * include/grub/i386/pc/machine.h: Likewise.
36428 * include/grub/powerpc/ieee1275/machine.h: Likewise.
36429 * include/grub/sparc64/ieee1275/machine.h: Likewise.
36430
36431 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
36432 (serial_hw_io_addr): New variable.
36433 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
36434 instead of `(unsigned short *) 0x400'.
36435
36436 2007-11-10 Bean <bean123ch@gmail.com>
36437
36438 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
36439
36440 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36441
36442 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
36443 (vga_mod_SOURCES): Added.
36444 (vga_mod_CFLAGS): Likewise.
36445 (vga_mod_LDFLAGS): Likewise.
36446
36447 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
36448 grub_outb() calls.
36449 (set_map_mask): Likewise.
36450 (set_read_map): Likewise.
36451 (set_read_address): Likewise.
36452 (vga_font): Removed variable.
36453 (get_vga_glyph): Removed function.
36454 (invalidate_char): Likewise.
36455 (write_char): Changed to use grub_font_get_glyph() for font
36456 information.
36457 (grub_vga_putchar): Likewise.
36458 (grub_vga_getcharwidth): Likewise.
36459
36460 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36461
36462 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
36463 flags.
36464 (pxeboot_img_LDFLAGS): Likewise.
36465 (diskboot_img_LDFLAGS): Likewise.
36466 (kernel_img_LDFLAGS): Likewise.
36467
36468 2007-11-06 Robert Millan <rmh@aybabtu.com>
36469
36470 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
36471 in grub_outb() calls.
36472 (serial_hw_init): Likewise.
36473
36474 2007-11-05 Robert Millan <rmh@aybabtu.com>
36475
36476 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
36477 spaces. Skip non-regular files.
36478
36479 2007-11-05 Robert Millan <rmh@aybabtu.com>
36480
36481 * kern/disk.c (grub_disk_firmware_fini)
36482 (grub_disk_firmware_is_tainted): New variables.
36483
36484 * include/grub/disk.h (grub_disk_firmware_fini)
36485 (grub_disk_firmware_is_tainted): Likewise.
36486
36487 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
36488 (grub_disk_biosdisk_fini): ... to here.
36489 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
36490 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
36491 is set. Register grub_disk_biosdisk_fini() in
36492 `grub_disk_firmware_fini'.
36493
36494 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
36495 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36496 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36497 to finish existing firmware disk interface.
36498
36499 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36500 (ata_mod_SOURCES): New variable.
36501 (ata_mod_CFLAGS): Likewise.
36502 (ata_mod_LDFLAGS): Likewise.
36503
36504 2007-11-05 Robert Millan <rmh@aybabtu.com>
36505
36506 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36507 (grub_ata_wait): Reimplement using grub_millisleep().
36508
36509 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36510 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36511
36512 2007-11-03 Marco Gerards <marco@gnu.org>
36513
36514 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36515 (CRTC_ADDR_PORT): New macro.
36516 (CRTC_DATA_PORT): Likewise.
36517 (CRTC_CURSOR): Likewise.
36518 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36519 (CRTC_CURSOR_ADDR_LOW): Likewise.
36520 (update_cursor): New function.
36521 (grub_console_real_putchar): Call `update_cursor'.
36522 (grub_console_gotoxy): Likewise.
36523 (grub_console_cls): Set the default color when clearing the
36524 screen.
36525 (grub_console_setcursor): Implemented.
36526
36527 2007-11-03 Marco Gerards <marco@gnu.org>
36528
36529 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36530 become activate.
36531 (grub_ata_pio_write): Likewise.
36532
36533 (grub_atapi_identify): Wait after issuing an ATA command.
36534 (grub_atapi_packet): Likewise.
36535 (grub_ata_identify): Likewise.
36536 (grub_ata_readwrite): Likewise.
36537
36538 2007-11-03 Marco Gerards <marco@gnu.org>
36539
36540 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36541 (grub_ata_pio_write): Likewise.
36542 (grub_ata_readwrite): Use `grub_error', instead of
36543 returning `grub_errno'.
36544
36545 2007-11-03 Marco Gerards <marco@gnu.org>
36546
36547 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36548 grub_ata_pio_write once for every single sector, instead of for
36549 multiple sectors.
36550
36551 2007-10-31 Robert Millan <rmh@aybabtu.com>
36552
36553 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36554
36555 * conf/i386-linuxbios.rmk: New file.
36556
36557 * kern/i386/pc/hardware.c: Likewise.
36558 * term/i386/pc/at_keyboard.c: Likewise.
36559 * term/i386/pc/vga_text.c: Likewise.
36560
36561 * include/grub/i386/linuxbios/boot.h: Likewise.
36562 * include/grub/i386/linuxbios/console.h: Likewise.
36563 * include/grub/i386/linuxbios/init.h: Likewise.
36564 * include/grub/i386/linuxbios/kernel.h: Likewise.
36565 * include/grub/i386/linuxbios/loader.h: Likewise.
36566 * include/grub/i386/linuxbios/memory.h: Likewise.
36567 * include/grub/i386/linuxbios/serial.h: Likewise.
36568 * include/grub/i386/linuxbios/time.h: Likewise.
36569
36570 * kern/i386/linuxbios/init.c: Likewise.
36571 * kern/i386/linuxbios/startup.S: Likewise.
36572 * kern/i386/linuxbios/table.c: Likewise.
36573
36574 2007-10-31 Marco Gerards <marco@gnu.org>
36575
36576 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36577 (ata_mod_SOURCES): New variable.
36578 (ata_mod_CFLAGS): Likewise.
36579 (ata_mod_LDFLAGS): Likewise.
36580
36581 * disk/ata.c: New file.
36582
36583 * include/grub/disk.h (grub_disk_dev_id): Add
36584 `GRUB_DISK_DEV_ATA_ID'.
36585
36586 2007-10-31 Robert Millan <rmh@aybabtu.com>
36587
36588 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36589 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36590
36591 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36592 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36593
36594 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36595 `<grub/types.h>'.
36596
36597 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36598
36599 2007-10-27 Robert Millan <rmh@aybabtu.com>
36600
36601 * include/grub/types.h (ULONG_MAX): Define macro.
36602
36603 2007-10-22 Robert Millan <rmh@aybabtu.com>
36604
36605 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36606 `"../realmode.S"'.
36607 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36608
36609 2007-10-22 Robert Millan <rmh@aybabtu.com>
36610
36611 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36612 (pkgdata_MODULES): Add `biosdisk.mod'.
36613 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36614 variables.
36615
36616 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36617 (grub_biosdisk_init): Replace with ...
36618 (GRUB_MOD_INIT(biosdisk)): ... this.
36619 (grub_biosdisk_fini): Replace with ...
36620 (GRUB_MOD_FINI(biosdisk)): ... this.
36621
36622 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36623 (grub_machine_init): Remove call to grub_biosdisk_init().
36624 (grub_machine_fini): Remove call to grub_machine_fini().
36625
36626 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36627
36628 2007-10-22 Robert Millan <rmh@aybabtu.com>
36629
36630 * include/grub/time.h: New file.
36631 * include/grub/i386/time.h: Likewise.
36632 * include/grub/powerpc/time.h: Likewise.
36633 * include/grub/sparc64/time.h: Likewise.
36634
36635 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36636 instances to ...
36637 (KERNEL_MACHINE_TIME_HEADER): ... this.
36638 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36639 instances to ...
36640 (KERNEL_MACHINE_TIME_HEADER): ... this.
36641 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36642 instances to ...
36643 (KERNEL_MACHINE_TIME_HEADER): ... this.
36644
36645 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36646 (grub_millisleep): New function.
36647 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36648 (grub_millisleep): New function.
36649 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36650 Remove `grub/machine/time.h' include.
36651 (grub_millisleep): New function.
36652 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36653 Remove `grub/machine/time.h' include.
36654 (grub_millisleep): New function.
36655
36656 * include/grub/misc.h (grub_div_roundup): New function.
36657
36658 * kern/misc.c: Include `<grub/time.h>'.
36659 (grub_millisleep_generic): New function.
36660
36661 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36662 Add `time.h'.
36663 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36664 Add `time.h'.
36665 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36666 `machine/time.h'. Add `time.h'.
36667 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36668
36669 2007-10-21 Robert Millan <rmh@aybabtu.com>
36670
36671 * include/grub/misc.h (grub_max): New function.
36672
36673 2007-10-21 Robert Millan <rmh@aybabtu.com>
36674
36675 * util/misc.c (grub_util_info): Call fflush() before returning.
36676
36677 2007-10-20 Robert Millan <rmh@aybabtu.com>
36678
36679 * genmk.rb (Image): Copy `extra_flags' from here ...
36680 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
36681
36682 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
36683 to `argc' and `args' arguments.
36684
36685 2007-10-17 Robert Millan <rmh@aybabtu.com>
36686
36687 * kern/i386/loader.S: New file.
36688
36689 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
36690 * kern/i386/loader.S (grub_linux_prot_size)... to here.
36691 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
36692 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
36693 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
36694 * kern/i386/loader.S (grub_linux_real_addr)... to here.
36695 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
36696 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
36697 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
36698 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
36699 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
36700 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
36701 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
36702 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
36703
36704 * kern/i386/realmode.S: New file.
36705
36706 * kern/i386/pc/startup.S (protstack): Moved from here ...
36707 * kern/i386/realmode.S (protstack)... to here.
36708 * kern/i386/pc/startup.S (gdt): Moved from here ...
36709 * kern/i386/realmode.S (gdt)... to here.
36710 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
36711 * kern/i386/realmode.S (prot_to_real)... to here.
36712
36713 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
36714 `kern/i386/realmode.S'.
36715
36716 2007-10-17 Robert Millan <rmh@aybabtu.com>
36717
36718 * include/grub/i386/loader.h: New file.
36719
36720 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
36721 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36722 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36723 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36724 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
36725 * include/grub/i386/loader.h (grub_linux_prot_size)
36726 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36727 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36728 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36729 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
36730
36731 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
36732
36733 2007-10-15 Robert Millan <rmh@aybabtu.com>
36734
36735 * normal/misc.c (grub_normal_print_device_info): Do not probe for
36736 filesystem when dev->disk is unset.
36737 Do probe for filesystem even when dev->disk->has_partitions is set.
36738 In case a filesystem is found, always report it.
36739 In case it isn't, if dev->disk->has_partitions is set, report that
36740 a partition table was found instead of reporting that no filesystem
36741 could be identified.
36742
36743 2007-10-12 Robert Millan <rmh@aybabtu.com>
36744
36745 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
36746 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
36747
36748 * include/grub/types.h (grub_host_to_target16): New macro.
36749 (grub_host_to_target32): Likewise.
36750 (grub_host_to_target64): Likewise.
36751 (grub_target_to_host16): Likewise.
36752 (grub_target_to_host32): Likewise.
36753 (grub_target_to_host64): Likewise.
36754
36755 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36756 Renamed from to ...
36757 (GRUB_MOD_ALIGN): ...this. Update all users.
36758
36759 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36760 grub_host_to_target32.
36761 Replace grub_be_to_cpu32 with grub_target_to_host32.
36762 (load_modules): Likewise.
36763 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36764 Replace grub_be_to_cpu32 with grub_target_to_host32.
36765 Replace grub_cpu_to_be16 with grub_host_to_target16.
36766 Replace grub_cpu_to_be32 grub_host_to_target32.
36767
36768 2007-10-12 Robert Millan <rmh@aybabtu.com>
36769
36770 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36771 * util/elf/grub-mkimage.c: ... here.
36772
36773 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36774 `util/powerpc/ieee1275/grub-mkimage.c'.
36775
36776 2007-10-07 Robert Millan <rmh@aybabtu.com>
36777
36778 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
36779 and make it easier to figure out.
36780 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
36781 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
36782 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
36783 leave us with less than HEAP_MIN_SIZE total heap.
36784 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
36785
36786 2007-10-03 Robert Millan <rmh@aybabtu.com>
36787
36788 * include/grub/i386/io.h: New file.
36789 * commands/i386/pc/play.c (inb): Removed.
36790 (outb): Removed.
36791 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36792 with grub_outb().
36793 * term/i386/pc/serial.c (inb): Removed.
36794 (outb): Removed.
36795 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36796 with grub_outb().
36797 * term/i386/pc/vga.c (inb): Removed.
36798 (outb): Removed.
36799 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36800 with grub_outb().
36801
36802 2007-10-02 Robert Millan <rmh@aybabtu.com>
36803
36804 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
36805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36806 Reported by Marcin Kurek.
36807
36808 2007-09-07 Robert Millan <rmh@aybabtu.com>
36809
36810 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
36811 SmartFirmware version updates (as released by Sven Luther), and avoid
36812 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
36813 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
36814 known broken.
36815
36816 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36817
36818 From Hitoshi Ozeki:
36819 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
36820 when merging two regions.
36821
36822 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36823
36824 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
36825 * normal/completion.c (grub_normal_do_completion): Likewise.
36826 Reported by Hitoshi Ozeki.
36827
36828 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36829
36830 Do not use devices at boot in chainloading.
36831
36832 * loader/i386/pc/chainloader.c (boot_drive): New variable.
36833 (boot_part_addr): Likewise.
36834 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
36835 with BOOT_DRIVE and BOOT_PART_ADDR.
36836 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
36837 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
36838
36839 2007-08-29 Robert Millan <rmh@aybabtu.com>
36840
36841 Patch from Simon Peter <dn.tlp@gmx.net>:
36842 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
36843 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
36844 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
36845 util/i386/pc/grub-setup.c_DEPENDENCIES.
36846 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
36847 util/grub-probe.c_DEPENDENCIES.
36848 * conf/powerpc-ieee1275.rmk: Likewise.
36849
36850 2007-08-28 Robert Millan <rmh@aybabtu.com>
36851
36852 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
36853 to tell grub-mkdevicemap how to name devices.
36854 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
36855 feature).
36856
36857 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
36858 util/i386/get_disk_name.c.
36859 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
36860 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
36861 util/ieee1275/get_disk_name.c.
36862
36863 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
36864
36865 * DISTLIST: Add util/i386/get_disk_name.c and
36866 util/ieee1275/get_disk_name.c.
36867
36868 * util/grub-mkdevicemap.c: Replace device naming logic with
36869 grub_util_get_disk_name() calls.
36870
36871 2007-08-20 Robert Millan <rmh@aybabtu.com>
36872
36873 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
36874 (so that it works for both plural and singular quantities).
36875
36876 2007-08-05 Robert Millan <rmh@aybabtu.com>
36877
36878 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
36879 so that [xz] isn't taken into account when determining order.
36880
36881 2007-08-02 Marco Gerards <marco@gnu.org>
36882
36883 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
36884 `include/multiboot2.h', `include/grub/elfload.h',
36885 `include/multiboot.h', `include/grub/multiboot.h',
36886 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
36887 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
36888 `kern/elf.c', `loader/multiboot_loader.c',
36889 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
36890 `loader/i386/pc/multiboot2.c',
36891 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
36892 `util/i386/pc/grub-mkrescue.in'. Remove
36893 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
36894 `include/grub/i386/pc/util/biosdisk.h' and
36895 `include/grub/powerpc/ieee1275/multiboot.h'.
36896
36897 2007-08-02 Bean <bean123ch@gmail.com>
36898
36899 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
36900 (ntfs_mod_SOURCES): New variable.
36901 (ntfs_mod_CFLAGS): Likewise.
36902 (ntfs_mod_LDFLAGS): Likewise.
36903
36904 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
36905 (grub_probe_SOURCES): Likewise.
36906 (grub_emu_SOURCES): Likewise.
36907
36908 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36909 (grub_emu_SOURCES): Likewise.
36910
36911 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36912 (grub_emu_SOURCES): Likewise.
36913
36914 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
36915
36916 * fs/ntfs.c: New file.
36917
36918 2007-08-02 Bean <bean123ch@gmail.com>
36919
36920 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
36921
36922 * file.h (grub_file): Likewise.
36923
36924 * fshelp.h (grub_fshelp_read_file): Likewise.
36925
36926 * util/i386/pc/grub-setup.c (setup): Likewise.
36927 (save_first_sector): Likewise.
36928 (save_blocklists): Likewise.
36929
36930 * fs/affs.c (grub_affs_read_file): Likewise.
36931
36932 * fs/ext2.c (grub_ext2_read_file): Likewise.
36933
36934 * fs/fat.c (grub_fat_read_data): Likewise.
36935
36936 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
36937
36938 * fs/hfs.c (grub_hfs_read_file): Likewise.
36939
36940 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36941
36942 * fs/jfs.c (grub_jfs_read_file): Likewise.
36943
36944 * fs/minix.c (grub_minix_read_file): Likewise.
36945
36946 * fs/sfs.c (grub_sfs_read_file): Likewise.
36947
36948 * fs/ufs.c (grub_ufs_read_file): Likewise.
36949
36950 * fs/xfs.c (grub_xfs_read_file): Likewise.
36951
36952 * command/blocklist.c (read_blocklist): Likewise.
36953 (print_blocklist): Likewise.
36954
36955 2007-08-02 Marco Gerards <marco@gnu.org>
36956
36957 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
36958 `util/hostfs.c'.
36959
36960 * disk/host.c: New file.
36961
36962 * util/hostfs.c: Likewise.
36963
36964 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
36965 return `GRUB_ERR_BAD_FS'.
36966 * fs/sfs.c (grub_sfs_mount): Likewise.
36967 * fs/xfs.c (grub_xfs_mount): Likewise.
36968
36969 * include/grub/disk.h (enum grub_disk_dev_id): Add
36970 `GRUB_DISK_DEVICE_HOST_ID'.
36971
36972 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
36973
36974 2007-07-24 Jerone Young <jerone@gmail.com>
36975
36976 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
36977 modules for compilation.
36978 * conf/powerpc-ieee1275.rmk: Likewise.
36979
36980 * include/multiboot.h: Move multiboot definitions to one file. Rename
36981 many definitions to not get grub specific.
36982 * include/multiboot2.h: Create header with multiboot 2 definitions.
36983 * include/grub/multiboot.h: Header for grub specific function
36984 prototypes and definitions.
36985 * include/grub/multiboot2.h: Likewise.
36986 * include/grub/multiboot_loader.h: Likewise.
36987 * include/grub/i386/pc/multiboot.h: Removed.
36988 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
36989
36990 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
36991 and 2 to allow for one multiboot and module commands.
36992 * loader/multiboot2.c: Add multiboot2 functionality.
36993 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
36994 and definition names.
36995 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
36996 2 functions.
36997 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
36998 ieee1275 specific multiboot2 code.
36999
37000 * kern/i386/pc/startup.S: Change headers and definition names for
37001 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
37002
37003 2007-07-22 Robert Millan <rmh@aybabtu.com>
37004
37005 * geninitheader.sh: Process file specified in first parameter rather
37006 than hardcoding grub_modules_init.lst.
37007 * geninit.sh: Likewise. Also, construct header name dynamically rather
37008 than hardcoding grub_modules_init.h.
37009
37010 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
37011 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
37012 grub_probe_init.[ch] and grub_setup_init.[ch].
37013
37014 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
37015 grub_modules_init.h with grub_emu_init.h.
37016 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
37017 grub_probe_init.[ch] files.
37018 * conf/i386-efi.rmk: Likewise.
37019 * conf/i386-pc.rmk: Likewise.
37020 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
37021 grub_setup_init.[ch] files.
37022
37023 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
37024 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
37025 to initialize modules rather than a list of hardcoded functions.
37026 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
37027 grub_init_all() to initialize modules rather than a list of hardcoded
37028 functions.
37029
37030 2007-07-22 Robert Millan <rmh@aybabtu.com>
37031
37032 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
37033 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
37034
37035 2007-07-22 Robert Millan <rmh@aybabtu.com>
37036
37037 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37038 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
37039 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
37040 flag when running on SmartFirmware.
37041 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
37042 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
37043 was set.
37044
37045 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37046 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
37047 rather than decreasing it.
37048
37049 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
37050 there's not enough space to do it, fail in the same way as when it
37051 can't be done because there are no partitions.
37052
37053 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
37054 when nvsetenv failed.
37055
37056 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37057
37058 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
37059 because this rule is automatically generated.
37060 (grub-mkrescue): Removed for the same reason as above.
37061
37062 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37063
37064 Migrate to GNU General Public License Version 3.
37065
37066 * COPYING: Replaced with the plain text version of GPLv3.
37067
37068 * config.guess: Updated from gnulib.
37069 * config.sub: Likewise.
37070
37071 * geninit.sh: Output a GPLv3 copyright notice.
37072 * geninitheader.sh: Likewise.
37073 * genmodsrc.sh: Likewise.
37074 * gensymlist.sh.in: Likewise.
37075
37076 * boot/i386/pc/boot.S: Upgraded to GPLv3.
37077 * boot/i386/pc/diskboot.S: Likewise.
37078 * boot/i386/pc/pxeboot.S: Likewise.
37079 * commands/blocklist.c: Likewise.
37080 * commands/boot.c: Likewise.
37081 * commands/cat.c: Likewise.
37082 * commands/cmp.c: Likewise.
37083 * commands/configfile.c: Likewise.
37084 * commands/echo.c: Likewise.
37085 * commands/help.c: Likewise.
37086 * commands/ls.c: Likewise.
37087 * commands/search.c: Likewise.
37088 * commands/terminal.c: Likewise.
37089 * commands/test.c: Likewise.
37090 * commands/videotest.c: Likewise.
37091 * commands/i386/cpuid.c: Likewise.
37092 * commands/i386/pc/halt.c: Likewise.
37093 * commands/i386/pc/play.c: Likewise.
37094 * commands/i386/pc/reboot.c: Likewise.
37095 * commands/i386/pc/vbeinfo.c: Likewise.
37096 * commands/i386/pc/vbetest.c: Likewise.
37097 * commands/ieee1275/halt.c: Likewise.
37098 * commands/ieee1275/reboot.c: Likewise.
37099 * commands/ieee1275/suspend.c: Likewise.
37100 * disk/loopback.c: Likewise.
37101 * disk/lvm.c: Likewise.
37102 * disk/raid.c: Likewise.
37103 * disk/efi/efidisk.c: Likewise.
37104 * disk/i386/pc/biosdisk.c: Likewise.
37105 * disk/ieee1275/ofdisk.c: Likewise.
37106 * font/manager.c: Likewise.
37107 * fs/affs.c: Likewise.
37108 * fs/ext2.c: Likewise.
37109 * fs/fat.c: Likewise.
37110 * fs/fshelp.c: Likewise.
37111 * fs/hfs.c: Likewise.
37112 * fs/hfsplus.c: Likewise.
37113 * fs/iso9660.c: Likewise.
37114 * fs/jfs.c: Likewise.
37115 * fs/minix.c: Likewise.
37116 * fs/sfs.c: Likewise.
37117 * fs/ufs.c: Likewise.
37118 * fs/xfs.c: Likewise.
37119 * hello/hello.c: Likewise.
37120 * include/grub/acorn_filecore.h: Likewise.
37121 * include/grub/arg.h: Likewise.
37122 * include/grub/bitmap.h: Likewise.
37123 * include/grub/boot.h: Likewise.
37124 * include/grub/cache.h: Likewise.
37125 * include/grub/device.h: Likewise.
37126 * include/grub/disk.h: Likewise.
37127 * include/grub/dl.h: Likewise.
37128 * include/grub/elfload.h: Likewise.
37129 * include/grub/env.h: Likewise.
37130 * include/grub/err.h: Likewise.
37131 * include/grub/file.h: Likewise.
37132 * include/grub/font.h: Likewise.
37133 * include/grub/fs.h: Likewise.
37134 * include/grub/fshelp.h: Likewise.
37135 * include/grub/gzio.h: Likewise.
37136 * include/grub/hfs.h: Likewise.
37137 * include/grub/kernel.h: Likewise.
37138 * include/grub/loader.h: Likewise.
37139 * include/grub/lvm.h: Likewise.
37140 * include/grub/misc.h: Likewise.
37141 * include/grub/mm.h: Likewise.
37142 * include/grub/net.h: Likewise.
37143 * include/grub/normal.h: Likewise.
37144 * include/grub/parser.h: Likewise.
37145 * include/grub/partition.h: Likewise.
37146 * include/grub/pc_partition.h: Likewise.
37147 * include/grub/raid.h: Likewise.
37148 * include/grub/rescue.h: Likewise.
37149 * include/grub/script.h: Likewise.
37150 * include/grub/setjmp.h: Likewise.
37151 * include/grub/symbol.h: Likewise.
37152 * include/grub/term.h: Likewise.
37153 * include/grub/terminfo.h: Likewise.
37154 * include/grub/tparm.h: Likewise.
37155 * include/grub/types.h: Likewise.
37156 * include/grub/video.h: Likewise.
37157 * include/grub/efi/api.h: Likewise.
37158 * include/grub/efi/chainloader.h: Likewise.
37159 * include/grub/efi/console.h: Likewise.
37160 * include/grub/efi/console_control.h: Likewise.
37161 * include/grub/efi/disk.h: Likewise.
37162 * include/grub/efi/efi.h: Likewise.
37163 * include/grub/efi/pe32.h: Likewise.
37164 * include/grub/efi/time.h: Likewise.
37165 * include/grub/i386/linux.h: Likewise.
37166 * include/grub/i386/setjmp.h: Likewise.
37167 * include/grub/i386/types.h: Likewise.
37168 * include/grub/i386/efi/kernel.h: Likewise.
37169 * include/grub/i386/efi/loader.h: Likewise.
37170 * include/grub/i386/efi/time.h: Likewise.
37171 * include/grub/i386/pc/biosdisk.h: Likewise.
37172 * include/grub/i386/pc/boot.h: Likewise.
37173 * include/grub/i386/pc/chainloader.h: Likewise.
37174 * include/grub/i386/pc/console.h: Likewise.
37175 * include/grub/i386/pc/init.h: Likewise.
37176 * include/grub/i386/pc/kernel.h: Likewise.
37177 * include/grub/i386/pc/loader.h: Likewise.
37178 * include/grub/i386/pc/memory.h: Likewise.
37179 * include/grub/i386/pc/multiboot.h: Likewise.
37180 * include/grub/i386/pc/serial.h: Likewise.
37181 * include/grub/i386/pc/time.h: Likewise.
37182 * include/grub/i386/pc/vbe.h: Likewise.
37183 * include/grub/i386/pc/vbeblit.h: Likewise.
37184 * include/grub/i386/pc/vbefill.h: Likewise.
37185 * include/grub/i386/pc/vbeutil.h: Likewise.
37186 * include/grub/i386/pc/vga.h: Likewise.
37187 * include/grub/ieee1275/ieee1275.h: Likewise.
37188 * include/grub/ieee1275/ofdisk.h: Likewise.
37189 * include/grub/powerpc/libgcc.h: Likewise.
37190 * include/grub/powerpc/setjmp.h: Likewise.
37191 * include/grub/powerpc/types.h: Likewise.
37192 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
37193 * include/grub/powerpc/ieee1275/console.h: Likewise.
37194 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
37195 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
37196 * include/grub/powerpc/ieee1275/loader.h: Likewise.
37197 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
37198 * include/grub/powerpc/ieee1275/time.h: Likewise.
37199 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
37200 * include/grub/sparc64/libgcc.h: Likewise.
37201 * include/grub/sparc64/setjmp.h: Likewise.
37202 * include/grub/sparc64/types.h: Likewise.
37203 * include/grub/sparc64/ieee1275/console.h: Likewise.
37204 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37205 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37206 * include/grub/sparc64/ieee1275/time.h: Likewise.
37207 * include/grub/util/biosdisk.h: Likewise.
37208 * include/grub/util/getroot.h: Likewise.
37209 * include/grub/util/lvm.h: Likewise.
37210 * include/grub/util/misc.h: Likewise.
37211 * include/grub/util/raid.h: Likewise.
37212 * include/grub/util/resolve.h: Likewise.
37213 * io/gzio.c: Likewise.
37214 * kern/device.c: Likewise.
37215 * kern/disk.c: Likewise.
37216 * kern/dl.c: Likewise.
37217 * kern/elf.c: Likewise.
37218 * kern/env.c: Likewise.
37219 * kern/err.c: Likewise.
37220 * kern/file.c: Likewise.
37221 * kern/fs.c: Likewise.
37222 * kern/loader.c: Likewise.
37223 * kern/main.c: Likewise.
37224 * kern/misc.c: Likewise.
37225 * kern/mm.c: Likewise.
37226 * kern/parser.c: Likewise.
37227 * kern/partition.c: Likewise.
37228 * kern/rescue.c: Likewise.
37229 * kern/term.c: Likewise.
37230 * kern/efi/efi.c: Likewise.
37231 * kern/efi/init.c: Likewise.
37232 * kern/efi/mm.c: Likewise.
37233 * kern/i386/dl.c: Likewise.
37234 * kern/i386/efi/init.c: Likewise.
37235 * kern/i386/efi/startup.S: Likewise.
37236 * kern/i386/pc/init.c: Likewise.
37237 * kern/i386/pc/lzo1x.S: Likewise.
37238 * kern/i386/pc/startup.S: Likewise.
37239 * kern/ieee1275/ieee1275.c: Likewise.
37240 * kern/powerpc/cache.S: Likewise.
37241 * kern/powerpc/dl.c: Likewise.
37242 * kern/powerpc/ieee1275/cmain.c: Likewise.
37243 * kern/powerpc/ieee1275/crt0.S: Likewise.
37244 * kern/powerpc/ieee1275/init.c: Likewise.
37245 * kern/powerpc/ieee1275/openfw.c: Likewise.
37246 * kern/sparc64/cache.S: Likewise.
37247 * kern/sparc64/dl.c: Likewise.
37248 * kern/sparc64/ieee1275/init.c: Likewise.
37249 * kern/sparc64/ieee1275/openfw.c: Likewise.
37250 * loader/efi/chainloader.c: Likewise.
37251 * loader/efi/chainloader_normal.c: Likewise.
37252 * loader/i386/efi/linux.c: Likewise.
37253 * loader/i386/efi/linux_normal.c: Likewise.
37254 * loader/i386/pc/chainloader.c: Likewise.
37255 * loader/i386/pc/chainloader_normal.c: Likewise.
37256 * loader/i386/pc/linux.c: Likewise.
37257 * loader/i386/pc/linux_normal.c: Likewise.
37258 * loader/i386/pc/multiboot.c: Likewise.
37259 * loader/i386/pc/multiboot_normal.c: Likewise.
37260 * loader/powerpc/ieee1275/linux.c: Likewise.
37261 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37262 * normal/arg.c: Likewise.
37263 * normal/cmdline.c: Likewise.
37264 * normal/command.c: Likewise.
37265 * normal/completion.c: Likewise.
37266 * normal/execute.c: Likewise.
37267 * normal/function.c: Likewise.
37268 * normal/lexer.c: Likewise.
37269 * normal/main.c: Likewise.
37270 * normal/menu.c: Likewise.
37271 * normal/menu_entry.c: Likewise.
37272 * normal/misc.c: Likewise.
37273 * normal/parser.y: Likewise.
37274 * normal/script.c: Likewise.
37275 * normal/i386/setjmp.S: Likewise.
37276 * normal/powerpc/setjmp.S: Likewise.
37277 * normal/sparc64/setjmp.S: Likewise.
37278 * partmap/acorn.c: Likewise.
37279 * partmap/amiga.c: Likewise.
37280 * partmap/apple.c: Likewise.
37281 * partmap/gpt.c: Likewise.
37282 * partmap/pc.c: Likewise.
37283 * partmap/sun.c: Likewise.
37284 * term/gfxterm.c: Likewise.
37285 * term/terminfo.c: Likewise.
37286 * term/efi/console.c: Likewise.
37287 * term/i386/pc/console.c: Likewise.
37288 * term/i386/pc/serial.c: Likewise.
37289 * term/i386/pc/vesafb.c: Likewise.
37290 * term/i386/pc/vga.c: Likewise.
37291 * term/ieee1275/ofconsole.c: Likewise.
37292 * util/biosdisk.c: Likewise.
37293 * util/console.c: Likewise.
37294 * util/genmoddep.c: Likewise.
37295 * util/getroot.c: Likewise.
37296 * util/grub-emu.c: Likewise.
37297 * util/grub-mkdevicemap.c: Likewise.
37298 * util/grub-probe.c: Likewise.
37299 * util/lvm.c: Likewise.
37300 * util/misc.c: Likewise.
37301 * util/raid.c: Likewise.
37302 * util/resolve.c: Likewise.
37303 * util/update-grub.in: Likewise.
37304 * util/update-grub_lib.in: Likewise.
37305 * util/grub.d/00_header.in: Likewise.
37306 * util/grub.d/10_hurd.in: Likewise.
37307 * util/grub.d/10_linux.in: Likewise.
37308 * util/i386/efi/grub-install.in: Likewise.
37309 * util/i386/efi/grub-mkimage.c: Likewise.
37310 * util/i386/pc/grub-install.in: Likewise.
37311 * util/i386/pc/grub-mkimage.c: Likewise.
37312 * util/i386/pc/grub-mkrescue.in: Likewise.
37313 * util/i386/pc/grub-setup.c: Likewise.
37314 * util/i386/pc/misc.c: Likewise.
37315 * util/powerpc/ieee1275/grub-install.in: Likewise.
37316 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
37317 * util/powerpc/ieee1275/misc.c: Likewise.
37318 * video/bitmap.c: Likewise.
37319 * video/video.c: Likewise.
37320 * video/i386/pc/vbe.c: Likewise.
37321 * video/i386/pc/vbeblit.c: Likewise.
37322 * video/i386/pc/vbefill.c: Likewise.
37323 * video/i386/pc/vbeutil.c: Likewise.
37324 * video/readers/tga.c: Likewise.
37325
37326 2007-07-02 Robert Millan <rmh@aybabtu.com>
37327
37328 * conf/i386-efi.rmk: Replace obsolete reference to
37329 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
37330 with util/getroot.c.
37331 * conf/powerpc-ieee1275.rmk: Likewise.
37332 * conf/sparc64-ieee1275.rmk: Likewise.
37333
37334 * util/grub-emu.c (main): Fix unchecked pointer handling.
37335
37336 2007-07-02 Robert Millan <rmh@aybabtu.com>
37337
37338 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
37339 invocation to fail, in order to support partition-less media.
37340
37341 * util/i386/pc/grub-install.in: Likewise.
37342
37343 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
37344 which fs or partmap modules are needed (akin to its sister scripts).
37345
37346 Also use grub-probe to get rid of unportable /proc/mounts check.
37347
37348 Print the same informational message that the other scripts do, before
37349 exiting.
37350
37351 2007-06-23 Robert Millan <rmh@aybabtu.com>
37352
37353 * util/update-grub_lib.in (font_path): New function. Determine whether
37354 a font file can be found and, if so, echo the GRUB path to it.
37355
37356 * util/update-grub.in: Handle multiple terminals depending on user
37357 input, platform availability and font file presence. Propagate
37358 variables of our findings to /etc/grub.d/ children.
37359
37360 * util/grub.d/00_header.in: Handle multiple terminals, based on
37361 environment setup by update-grub.
37362
37363 2007-06-23 Robert Millan <rmh@aybabtu.com>
37364
37365 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
37366
37367 2007-06-21 Robert Millan <rmh@aybabtu.com>
37368
37369 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
37370 indicate end of data section in kernel image.
37371 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
37372 GRUB_KERNEL_MACHINE_DATA_END.
37373
37374 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
37375 space for it.
37376 * kern/i386/efi/startup.S: Likewise.
37377
37378 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
37379 during image generation. Implement --prefix option to override this
37380 patch.
37381 * util/i386/efi/grub-mkimage.c: Likewise.
37382
37383 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
37384 code to make path relative to its root into a separate function.
37385
37386 * util/i386/pc/grub-install.in: Use newly provided
37387 make_system_path_relative_to_its_root() to convert ${grubdir}, then
37388 pass the result to grub-install --prefix.
37389
37390 2007-06-13 Robert Millan <rmh@aybabtu.com>
37391
37392 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
37393 DEFAULT_DEVICE_MAP.
37394 * util/grub-emu.c: Use above definitions from misc.h instead of
37395 defining them.
37396 * util/grub-mkdevicemap.c: Likewise.
37397 * util/i386/pc/grub-setup.c: Likewise.
37398 * util/grub-probe.c: Likewise.
37399 (probe): Abort with grub_util_error() when either
37400 grub_guess_root_device or grub_util_get_grub_dev fails.
37401
37402 2007-06-12 Robert Millan <rmh@aybabtu.com>
37403
37404 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
37405 "pager" assignment.
37406 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
37407 "pcdata".
37408 * util/grub-probe.c (probe): Likewise for "drive_name".
37409
37410 2007-06-11 Robert Millan <rmh@aybabtu.com>
37411
37412 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
37413 not just the cdrom one.
37414
37415 2007-06-11 Robert Millan <rmh@aybabtu.com>
37416
37417 * util/i386/pc/grub-mkrescue.in: Add "set -e".
37418 Add --pkglibdir=DIR option to override pkglibdir.
37419 Mention --image-type=TYPE in help output.
37420 Fix --grub-mkimage (it was a no-op).
37421 Abort gracefully when no parameter is given.
37422
37423 2007-06-11 Robert Millan <rmh@aybabtu.com>
37424
37425 * util/i386/pc/grub-mkrescue.in: New file.
37426 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
37427 * Makefile.in: Handle bin_SCRIPTS.
37428
37429 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
37430
37431 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
37432 list of video modes.
37433
37434 2007-06-06 Robert Millan <rmh@aybabtu.com>
37435
37436 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
37437 file doesn't exist, or if it is in a filesystem grub can't read.
37438
37439 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
37440 not abort if GRUB_DRIVE could not be defined. Rearrange generated
37441 header comment to fit in 80 columns when the variables are resolved.
37442
37443 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
37444 could be identified by update-grub. Remove redundant check for
37445 unifont.pff existence (since convert_system_path_to_grub_path now
37446 handles that).
37447
37448 2007-06-04 Robert Millan <rmh@aybabtu.com>
37449
37450 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
37451
37452 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
37453
37454 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
37455
37456 2007-06-04 Robert Millan <rmh@aybabtu.com>
37457
37458 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
37459
37460 * include/grub/partition.h: Declare grub_apple_partition_map_init and
37461 grub_apple_partition_map_fini.
37462
37463 * util/biosdisk.c
37464 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
37465 to access >2 TiB disks).
37466
37467 Print disk->total_sectors with %llu instead of %lu, since this
37468 variable is always 64-bit (prevents wrong disk size from being displayed
37469 on either >2 TiB disk or big-endian CPU).
37470
37471 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
37472 into a generic case that supports all (sane) partition maps.
37473
37474 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
37475 breaks big-endian.
37476
37477 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
37478 and grub_apple_partition_map_fini() after that.
37479
37480 2007-06-01 Robert Millan <rmh@aybabtu.com>
37481
37482 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
37483
37484 * util/grub.d/00_header.in: Only enable gfxterm when
37485 convert_system_path_to_grub_path() succeeds.
37486
37487 2007-05-20 Robert Millan <rmh@aybabtu.com>
37488
37489 * util/update-grub_lib.in: New file.
37490 * DISTLIST: Add update-grub_lib.in.
37491 * conf/common.rmk: Generate update-grub_lib and install it in
37492 $(lib_DATA).
37493 * Makefile.in: Add install routine for $(lib_DATA).
37494
37495 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37496 function provided by update-grub_lib to support arbitrary paths of
37497 unifont.pff.
37498 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37499 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37500
37501 2007-05-19 Robert Millan <rmh@aybabtu.com>
37502
37503 * commands/i386/cpuid.c: New module.
37504 * DISTLIST: Add it.
37505 * conf/i386-efi.rmk: Enable cpuid.mod.
37506 * conf/i386-pc.rmk: Likewise.
37507
37508 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37509
37510 * kern/disk.c (grub_disk_read): Check return value of
37511 grub_realloc().
37512
37513 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37514
37515 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37516 arrays.
37517 * disk/raid.c (grub_raid_open): Likewise.
37518
37519 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37520
37521 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37522 stack instead of on the heap.
37523
37524 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37525 before doing a read on it.
37526
37527 * configure.ac: Only use -fno-stack-protector for the target
37528 environment.
37529
37530 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37531
37532 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37533 __attribute_ ((unused)) to mode_type argument.
37534
37535 * util/getroot.c (grub_guess_root_device): Fix #endif.
37536
37537 * kern/misc.c (memcmp): Fix prototype.
37538
37539 * include/grub/partition.h [GRUB_UTIL]
37540 (grub_gpt_partition_map_init): Add prototype.
37541 (grub_gpt_partition_map_fini): Likewise.
37542
37543 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37544 at the right place.
37545
37546 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37547 (grub_fat_read_data): Likewise.
37548 (grub_fat_find_dir): Likewise.
37549
37550 * font/manager.c (find_glyph): Make table a const.
37551 (grub_font_get_glyph): Remove bitmap from if statement.
37552
37553 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37554
37555 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37556 code, first search for device in /dev/mapper, then in /dev.
37557 (grub_util_get_grub_dev): New function.
37558 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37559 prototype.
37560 * util/grub-probe.c (probe): Remove check for RAID, call
37561 grub_util_get_grub_dev() instead of
37562 grub_util_biosdisk_get_grub_dev().
37563 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37564 grub_util_biosdisk_get_grub_dev().
37565 * util/i386/pc/grub-setup.c (main): Likewise.
37566
37567 2007-05-16 Robert Millan <rmh@aybabtu.com>
37568
37569 * DISTLIST: Update for the latest changes.
37570 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37571 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37572 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37573 grub/util/biosdisk.h.
37574 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37575 grub/util/biosdisk.h.
37576
37577 2007-05-16 Robert Millan <rmh@aybabtu.com>
37578
37579 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37580
37581 2007-05-16 Robert Millan <rmh@aybabtu.com>
37582
37583 * util/i386/efi/grub-install.in: New.
37584 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37585 newly added grub-install.
37586 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37587 include.
37588 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37589 grub/util/biosdisk.h.
37590 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37591 grub/util/biosdisk.h.
37592
37593 2007-05-16 Robert Millan <rmh@aybabtu.com>
37594
37595 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37596 * include/grub/util/biosdisk.h: ... here.
37597 * util/i386/pc/biosdisk.c: Moved to ...
37598 * util/biosdisk.c: ... here.
37599 * util/i386/pc/getroot.c: Moved to ...
37600 * util/getroot.c: ... here.
37601 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37602 * util/grub-mkdevicemap.c: ... here.
37603 * util/i386/pc/grub-probe.c: Moved to ...
37604 * util/grub-probe.c: ... here.
37605
37606 2007-05-15 Robert Millan <rmh@aybabtu.com>
37607
37608 * util/update-grub.in: Remove duplicated line in grub.cfg header
37609 message.
37610
37611 2007-05-13 Robert Millan <rmh@aybabtu.com>
37612
37613 * util/update-grub.in: Fix a few assumptions about the devices holding
37614 /, /boot and /boot/grub being the same.
37615 * util/grub.d/00_header.in: Likewise.
37616 * util/grub.d/10_hurd.in: Likewise.
37617 * util/grub.d/10_linux.in: Likewise.
37618
37619 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37620 patterns. Use that to define the `.old' suffix as older than `'.
37621
37622 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37623
37624 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37625 the grub.cfg header message.
37626
37627 2007-05-11 Robert Millan <rmh@aybabtu.com>
37628
37629 * util/update-grub.in: Create device.map if it doesn't already exist,
37630 before attempting to run grub-probe.
37631 Check for grub-probe and grub-mkdevicemap with the same code
37632 grub-install is using.
37633 Remove test mode.
37634
37635 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37636
37637 * Makefile.in: Add the datarootdir autoconf variable.
37638
37639 2007-05-09 Robert Millan <rmh@aybabtu.com>
37640
37641 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
37642 fail gracefully if dev->disk->partition == NULL.
37643
37644 2007-05-07 Robert Millan <rmh@aybabtu.com>
37645
37646 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37647 determine partition map module.
37648 * util/i386/pc/grub-install.in: Use this feature to decide which
37649 partition module to load, instead of hardcoding pc and gpt.
37650
37651 2007-05-07 Robert Millan <rmh@aybabtu.com>
37652
37653 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37654 source directory differs from build directory.
37655
37656 2007-05-05 Robert Millan <rmh@aybabtu.com>
37657
37658 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37659 initialisation.
37660
37661 2007-05-05 Robert Millan <rmh@aybabtu.com>
37662
37663 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37664
37665 2007-05-05 Robert Millan <rmh@aybabtu.com>
37666
37667 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
37668 command-line arguments via ${GRUB_CMDLINE_LINUX}.
37669
37670 2007-05-05 Robert Millan <rmh@aybabtu.com>
37671
37672 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
37673 (grub_probe_SOURCES): Likewise.
37674 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
37675 GPT and initialize dos_part and bsd_part accordingly.
37676 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
37677 install_bsd_part.
37678 (main): Activate gpt module for use during partition identification,
37679 and deactivate it afterwards.
37680 * util/i386/pc/grub-install.in: Add gpt module to core.img.
37681 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
37682 partition identification, and deactivate it afterwards.
37683
37684 2007-05-05 Robert Millan <rmh@aybabtu.com>
37685
37686 * term/i386/pc/console.c (grub_console_fini): Call
37687 grub_term_set_current() before grub_term_unregister().
37688
37689 2007-05-04 Robert Millan <rmh@aybabtu.com>
37690
37691 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
37692 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
37693 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
37694 and update-grub_DATA.
37695 * conf/common.rmk: Build and install update-grub components.
37696 * conf/common.mk: Regenerate.
37697 * util/update-grub.in: New. Core of update-grub.
37698 * util/grub.d/00_header.in: New. Generates grub.cfg header.
37699 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
37700 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
37701 * util/grub.d/README: New. Document grub.d directory layout.
37702
37703 2007-05-01 Robert Millan <rmh@aybabtu.com>
37704
37705 * util/grub-emu.c: Move initialization functions
37706 grub_util_biosdisk_init() and grub_init_all() before
37707 grub_util_biosdisk_get_grub_dev(), which relies on them.
37708
37709 2007-04-19 Robert Millan <rmh@aybabtu.com>
37710
37711 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
37712 it is used later.
37713
37714 2007-04-18 Jerone Young <jerone@gmail.com>
37715
37716 * kernel/elf.c: Add missing parenthesis for conditional statement
37717 stanza.
37718
37719 2007-04-10 Jerone Young <jerone@gmail.com>
37720
37721 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
37722 continue on and look for device node with real device name.
37723
37724 2007-04-10 Jerone Young <jerone@gmail.com>
37725
37726 * configure.ac: Add argument for autoconf to use transformation
37727 ability.
37728 * Makefile.in: Add autoconf package transformation code.
37729 * util/i386/pc/grub-install.in: Likewise.
37730 * util/powerpc/ieee1275/grub-install.in: Likewise.
37731
37732 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37733
37734 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
37735 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
37736 (EXT2_REVISION): Likewise.
37737 (EXT2_INODE_SIZE): Likewise.
37738 (struct grub_ext2_block_group): Added a missing member
37739 "used_dirs".
37740 (grub_ext2_read_inode): Divide by the inode size in a superblock
37741 instead of 128 to obtain INODES_PER_BLOCK.
37742 Use the macro EXT2_INODE_SIZE instead of directly using
37743 SBLOCK->INODE_SIZE.
37744
37745 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37746
37747 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
37748 superblock instead of the structure size to compute an
37749 offset. This fixes the problem that GRUB could not read a
37750 filesystem when inode size is different from 128-byte.
37751
37752 2007-03-05 Marco Gerards <marco@gnu.org>
37753
37754 * normal/main.c (read_config_file): When "menu" is not set, create
37755 an initial context.
37756
37757 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37758
37759 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37760 (HEAP_LIMIT): New macro.
37761 (grub_claim_heap): Claim memory up to `heaplimit'.
37762
37763 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37764
37765 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37766 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37767 (_start): Likewise.
37768 (grub_arch_modules_addr): Return address after `_end'.
37769 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37770 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37771 (add_segments): Calculate `_end' from phdr size and location.
37772 (ALIGN_UP): Moved to ...
37773 * include/grub/misc.h: here.
37774 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37775 New macro.
37776 (GRUB_IEEE1275_MODULE_BASE): Removed.
37777
37778 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37779
37780 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
37781 loop boundary.
37782
37783 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37784
37785 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
37786 All users updated.
37787 (grub_elf64_load_hook_t): Likewise.
37788 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
37789 debug output.
37790
37791 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37792
37793 * kern/mm.c: Update copyright.
37794 (grub_mm_debug): Correct syntax error.
37795 (grub_mm_dump_free): New function.
37796 (grub_debug_free): Call `grub_free'.
37797 * include/grub/mm.h: Update copyright.
37798 (grub_mm_dump_free): Add declaration.
37799
37800 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37801
37802 * include/grub/ieee1275/ieee1275.h: Update copyright.
37803 * kern/powerpc/ieee1275/init.c: Likewise.
37804 * kern/powerpc/ieee1275/openfw.c: Likewise.
37805
37806 * loader/powerpc/ieee1275/linux.c: Likewise.
37807 * include/grub/elfload.h: Likewise.
37808 * kern/elf.c: Likewise.
37809 (grub_elf32_load): Pass `base' and `size' parameters. Update all
37810 callers.
37811 (grub_elf64_load): Likewise.
37812 (grub_elf32_load_segment): Move to a nested function.
37813 (grub_elf64_load_segment): Likewise.
37814
37815 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37816
37817 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
37818 prototype.
37819 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
37820 (grub_heap_len): Likewise.
37821 (HEAP_SIZE): New macro.
37822 (grub_claim_heap): New function.
37823 (grub_machine_init): Don't claim heap directly. Call
37824 `grub_claim_heap'.
37825 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
37826 (grub_available_iterate): New function.
37827
37828 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
37829
37830 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
37831 * configure.ac: Use it for testing the HOST and TARGET compilers.
37832
37833 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
37834
37835 * Makefile.in (enable_grub_emu): New variable.
37836 * configure.ac (--enable-grub-emu): New option.
37837 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
37838 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
37839 * conf/i386-pc.rmk: Likewise.
37840 * conf/powerpc-ieee1275.rmk: Likewise.
37841 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
37842
37843 2006-12-12 Marco Gerards <marco@gnu.org>
37844
37845 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
37846
37847 * kern/env.c (grub_env_unset): Don't free the member `value' when
37848 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
37849 pointer.
37850
37851 * normal/main.c (current_menu): Removed.
37852 (free_menu): Unset the `menu' environment variable.
37853 (grub_normal_menu_addentry): Make use of the environment variable
37854 `menu', instead of using the global `current_menu'. Allocate
37855 memory for the sourcecode of this entry.
37856 (read_config_file): New argument `nested', changed all callers.
37857 Only in the case of a new context, initialize a new menu. Set the
37858 `menu' environment variable.
37859 (grub_normal_execute): Don't set and unset the environment
37860 variable `menu' here anymore. Only free the menu when leaving the
37861 context.
37862
37863 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
37864 leak.
37865
37866 2006-12-11 Marco Gerards <marco@gnu.org>
37867
37868 * normal/menu_entry.c (run): Fix off by one bug so the last line
37869 is executed. Move the loader check to outside the loop.
37870
37871 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
37872
37873 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
37874
37875 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
37876
37877 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
37878 the number of sectors. Reported by Andrey Shuvikov
37879 <mr_hyro@yahoo.com>.
37880
37881 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
37882
37883 * kern/disk.c (grub_disk_read): When there is a read error, always
37884 try to read only the necessary data.
37885
37886 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
37887 disk/raid.c.
37888 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
37889 prototype.
37890 [GRUB_UTIL] (grub_raid_fini): Likewise.
37891 [GRUB_UTIL] (grub_lvm_init): Likewise.
37892 [GRUB_UTIL] (grub_lvm_fini): Likewise.
37893 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
37894 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
37895 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
37896 and grub_raid_fini().
37897
37898 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37899
37900 * include/grub/types.h (__unused): Rename to UNUSED.
37901 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
37902 (grub_elf64_size): Likewise.
37903
37904 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37905
37906 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
37907 grub_error_push and grub_error_pop in the error-handling path.
37908 (grub_elf32_load_segment): Only call grub_file_read with non-zero
37909 length.
37910
37911 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37912
37913 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
37914 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37915 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37916 (kernel_elf_SOURCES): Likewise.
37917 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
37918 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
37919 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37920 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37921 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
37922 (elf_mod_SOURCES): New variable.
37923 (elf_mod_CFLAGS): Likewise.
37924 (elf_mod_LDFLAGS): Likewise.
37925 * include/grub/types.h (__unused): New macro.
37926 * include/grub/elfload.h: New file.
37927 * kern/elf.c: Likewise.
37928 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
37929 (ELF32_LOADMASK): New macro.
37930 (ELF64_LOADMASK): Likewise.
37931 (vmlinux): Removed.
37932 (grub_linux_load32): New function.
37933 (grub_linux_load64): Likewise.
37934 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
37935 Use grub_elf_t instead of grub_file_t.
37936
37937 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
37938
37939 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
37940 `catch_result' to struct set_color_args.
37941
37942 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37943
37944 * normal/menu.c: Include grub/script.h.
37945 * normal/menu_entry.c: Likewise.
37946 * include/grub/normal.h: Do not include grub/script.h.
37947
37948 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37949
37950 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
37951
37952 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37953
37954 * kern/disk.c (grub_disk_open): Print debug messages when opening a
37955 disk.
37956 (grub_disk_close): Print debug messages when closing a disk.
37957 (grub_disk_read): Print debug messages when disk read fails.
37958 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
37959 filesystem type.
37960 * kern/partition.c: Include misc.h.
37961 (grub_partition_iterate): Print debug messages when detecting
37962 partition type.
37963
37964 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37965
37966 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
37967 is negative.
37968 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
37969
37970 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
37971
37972 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37973 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
37974
37975 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
37976
37977 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
37978 instead of sizeof(lv). Patch by Michael Guntsche.
37979
37980 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
37981
37982 * disk/lvm.c: Rename VGS to VG_LIST.
37983 (grub_lvm_iterate): Change VGS->LV to VG-LV.
37984 (grub_lvm_open): Likewise.
37985 Thanks to Michael Guntsche for finding this bug.
37986
37987 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37988
37989 * configure.ac (AC_INIT): Bumped to 1.95.
37990
37991 2006-10-14 Robert Millan <rmh@aybabtu.com>
37992
37993 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
37994 with "/dev/.static/dev/md".
37995
37996 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37997
37998 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
37999 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
38000 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
38001 DRIVE_NAME are always freed.
38002
38003 * util/i386/pc/biosdisk.c (make_device_name): Add one into
38004 DOS_PART, as a DOS partition is counted from one instead of zero
38005 now. Reported by Robert Millan.
38006
38007 2006-10-14 Robert Millan <rmh@aybabtu.com>
38008
38009 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
38010 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
38011 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
38012 string returned by grub_guess_root_device.
38013 * util/i386/pc/grub-setup.c: Likewise.
38014 * util/i386/pc/grub-probefs.c: Likewise.
38015
38016 * util/i386/pc/grub-probefs.c: Rename to ...
38017 * util/i386/pc/grub-probe.c: ... this.
38018 * DISTLIST: Remove grub-probefs, add grub-probe.
38019 * conf/i386-efi.rmk: Likewise.
38020 * conf/i386-pc.rmk: Likewise.
38021 * util/i386/pc/grub-install.in: Likewise.
38022
38023 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
38024 choose which information we want to print.
38025
38026 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38027
38028 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
38029 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
38030 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
38031 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
38032 video/readers/tga.c and video/i386/pc/vbeutil.c.
38033
38034 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
38035
38036 Added support for RAID and LVM.
38037
38038 * disk/lvm.c: New file.
38039 * disk/raid.c: Likewise.
38040 * include/grub/lvm.h: Likewise.
38041 * include/grub/raid.h: Likewise.
38042 * include/grub/util/lvm.h: Likewise.
38043 * include/grub/util/raid.h: Likewise.
38044 * util/lvm.c: Likewise.
38045 * util/raid.c: Likewise.
38046
38047 * include/grub/disk.h (grub_disk_dev_id): Add
38048 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
38049 (grub_disk_get_size): New prototype.
38050 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
38051 returns a partition.
38052 (grub_disk_get_size): New function.
38053
38054 * kern/i386/pc/init.c (make_install_device): Copy the prefix
38055 verbatim if grub_install_dos_part is -2.
38056
38057 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
38058 and LVM devices.
38059
38060 * util/i386/pc/grub-setup.c (setup): New argument
38061 MUST_EMBED. Force embedding of GRUB when the argument is
38062 true. Close FILE before returning.
38063 (main): Add support for RAID and LVM.
38064
38065 * conf/common.rmk: Add RAID and LVM modules.
38066 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
38067 util/lvm.c.
38068 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
38069
38070 * kern/misc.c (grub_strstr): New function.
38071 * include/grub/misc.h (grub_strstr): New prototype.
38072
38073 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
38074
38075 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
38076
38077 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
38078
38079 * kern/misc.c (grub_strtoull): Guess the base only if not
38080 specified.
38081
38082 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
38083
38084 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
38085 PowerMac support.
38086
38087 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
38088
38089 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
38090
38091 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
38092 Remove `flags' argument. All callers changed.
38093 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
38094 (IEEE1275_IHANDLE_INVALID): New variable.
38095 (IEEE1275_CELL_INVALID): New variable.
38096 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38097 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
38098 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
38099 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
38100 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
38101 codes from Open Firmware. All callers updated.
38102 (grub_ieee1275_next_property): Directly return Open Firmware return
38103 code.
38104 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38105 Standardize error checking from `grub_ieee1275_get_property'.
38106 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
38107 `devalias' to `aliases'. Correct comments. Consolidate error paths.
38108
38109 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
38110
38111 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
38112 `instance_to_package_args' to `instance_to_path_args'.
38113
38114 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
38115 `grub_ieee1275_chosen'.
38116
38117 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
38118 `grub_ieee1275_interpret'.
38119
38120 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
38121
38122 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
38123
38124 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
38125
38126 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
38127 (__cmpdi): Likewise.
38128
38129 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
38130 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
38131 `grub_ssize_t'.
38132
38133 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
38134
38135 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
38136 to type `grub_ssize_t'.
38137 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
38138
38139 2006-09-22 Marco Gerards <marco@gnu.org>
38140
38141 * normal/script.c (grub_script_create_cmdmenu): Skip leading
38142 newlines.
38143
38144 2006-09-22 Marco Gerards <marco@gnu.org>
38145
38146 * commands/echo.c: New file.
38147
38148 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
38149
38150 * conf/common.rmk (echo_mod_SOURCES): New variable.
38151 (echo_mod_CFLAGS): Likewise.
38152 (echo_mod_LDFLAGS): Likewise.
38153
38154 2006-09-22 Marco Gerards <marco@gnu.org>
38155
38156 * normal/main.c (get_line): Malloc memory instead of using
38157 preallocated memory. Removed the arguments `cmdline' and
38158 `max_len'. Updated all callers.
38159
38160 2006-09-22 Marco Gerards <marco@gnu.org>
38161
38162 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
38163 (normal_mod_DEPENDENCIES): Likewise.
38164
38165 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
38166 (normal_mod_DEPENDENCIES): Likewise.
38167
38168 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
38169
38170 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
38171
38172 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
38173 programs.
38174 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
38175 (normal_mod_DEPENDENCIES): Likewise.
38176 * conf/i386-pc.mk: Regenerate.
38177 * conf/i386-efi.mk: Likewise
38178 * conf/common.mk: Likewise.
38179 * conf/powerpc-ieee1275.mk: Likewise.
38180 * conf/sparc64-ieee1275.mk: Likewise.
38181
38182 2006-09-22 Robert Millan <rmh@aybabtu.com>
38183
38184 Sync with i386 version.
38185 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
38186 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
38187
38188 2006-09-21 Robert Millan <rmh@aybabtu.com>
38189
38190 Import from GRUB Legacy (lib/device.c):
38191 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
38192 (init_device_map) [__linux__]: Add support for I2O devices.
38193
38194 2006-09-14 Marco Gerards <marco@gnu.org>
38195
38196 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
38197 `-melf_i386'.
38198
38199 2006-09-14 Robert Millan <rmh@aybabtu.com>
38200
38201 * util/i386/pc/grub-install.in: Skip menu.lst when removing
38202 /boot/grub/*.lst.
38203
38204 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
38205
38206 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
38207 before adding it to device.map.
38208
38209 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
38210
38211 * genmk.rb: Let GCC generate dependencies the first time it
38212 compiles a file; using the -MD option.
38213 * conf/common.mk: Regenerate.
38214 * conf/i386-pc.mk: Likewise.
38215 * conf/i386-efi.mk: Likewise.
38216 * conf/powerpc-ieee1275.mk: Likewise.
38217 * conf/sparc64-ieee1275.mk: Likewise.
38218
38219 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
38220
38221 Move the prototypes of grub_setjmp and grub_longjmp to
38222 cpu/setjmp.h, so that each architecture may specify different
38223 attributes.
38224
38225 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
38226 (grub_longjmp): Likewise.
38227 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
38228 (grub_longjmp): Likewise.
38229 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
38230 (grub_longjmp): Likewise.
38231
38232 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
38233 [!GRUB_UTIL] (grub_longjmp): Removed.
38234
38235 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
38236
38237 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
38238 "color!" method does not return any value.
38239
38240 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38241
38242 * include/grub/bitmap.h: New file.
38243
38244 * include/grub/i386/pc/vbeutil.h: Likewise.
38245
38246 * video/bitmap.c: Likewise.
38247
38248 * video/readers/tga.c: Likewise.
38249
38250 * video/i386/pc/vbeutil.c: Likewise.
38251
38252 * commands/videotest.c: Code cleanup and updated to reflect to new
38253 video API.
38254
38255 * term/gfxterm.c: Likewise.
38256
38257 * video/video.c: Likewise.
38258
38259 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
38260 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
38261 (bitmap_mod_SOURCES): New entry.
38262 (bitmap_mod_CFLAGS): Likewise.
38263 (bitmap_mod_LDFLAGS): Likewise.
38264 (tga_mod_SOURCES): Likewise.
38265 (tga_mod_CFLAGS): Likewise.
38266 (tga_mod_LDFLAGS): Likewise.
38267
38268 * include/grub/video.h (grub_video_blit_operators): New enum type.
38269 (grub_video_render_target): Changed as forward declaration and moved
38270 actual definition to be video driver specific.
38271 (grub_video_adapter.blit_bitmap): Added blitting operator.
38272 (grub_video_adapter.blit_render_target): Likewise.
38273 (grub_video_blit_bitmap): Likewise.
38274 (grub_video_blit_render_target): Likewise.
38275
38276 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
38277 driver specific render target definition.
38278 (grub_video_vbe_map_rgba): Added driver internal helper.
38279 (grub_video_vbe_unmap_color): Updated to use
38280 grub_video_i386_vbeblit_info.
38281 (grub_video_vbe_get_video_ptr): Likewise.
38282
38283 * include/grub/i386/pc/vbeblit.h
38284 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
38285 grub_video_i386_vbeblit_info.
38286 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38287 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38288 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38289 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38290 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38291 (grub_video_i386_vbeblit_index_index): Likewise.
38292 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
38293 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38294 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38295 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
38296 operator.
38297 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
38298 operator.
38299
38300 * video/i386/pc/vbeblit.c: Updated to reflect changes on
38301 include/grub/i386/pc/vbeblit.h.
38302
38303 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
38304 Updated to use grub_video_i386_vbeblit_info.
38305 (grub_video_i386_vbefill_R8G8B8): Likewise.
38306 (grub_video_i386_vbefill_index): Likewise.
38307 (grub_video_i386_vbefill): Added generic filler.
38308
38309 * video/i386/pc/vbefill.c: Updated to reflect changes on
38310 include/grub/i386/pc/vbefill.h.
38311
38312 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
38313 grub_video_i386_vbeblit_info.
38314 (grub_video_vbe_unmap_color): Likewise.
38315 (grub_video_vbe_blit_glyph): Likewise.
38316 (grub_video_vbe_scroll): Likewise.
38317 (grub_video_vbe_draw_pixel): Removed function.
38318 (grub_video_vbe_get_pixel): Likewise.
38319 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
38320 updated code to use it.
38321 (common_blitter): Added common blitter for render target and bitmap.
38322 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
38323 (grub_video_vbe_blit_render_target): Likewise.
38324
38325 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
38326
38327 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
38328 is in text mode if there is no console control protocol instance
38329 available.
38330
38331 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38332
38333 * include/grub/video.h: Code cleanup.
38334
38335 * include/grub/i386/pc/vbe.h: Likewise.
38336
38337 * video/i386/pc/vbe.c: Likewise.
38338
38339 * video/i386/pc/vbeblit.c: Likewise.
38340
38341 * video/i386/pc/vbefill.c: Likewise.
38342
38343 * video/video.c: Likewise. Also added more comments.
38344
38345 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38346
38347 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
38348 (struct grub_biosdisk_dap): Likewise.
38349
38350 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
38351 linkage settings for all functions.
38352
38353 2006-07-12 Marco Gerards <marco@gnu.org>
38354
38355 * configure.ac (--enable-mm-debug): Fix typo.
38356
38357 * genkernsyms.sh.in: Use proper quoting for `CC'.
38358
38359 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
38360
38361 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
38362 (normal_mod_ASFLAGS): Remove "-m32".
38363
38364 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
38365
38366 * util/misc.c: Include config.h.
38367 [!HAVE_MEMALIGN]: Do not include malloc.h.
38368 (grub_memalign): Use posix_memalign, if present. Then, use
38369 memalign, if present. Otherwise, emit an error.
38370
38371 * util/grub-emu.c: Do not include malloc.h.
38372
38373 * include/grub/util/misc.h: Include unistd.h. This is required for
38374 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
38375 D. Eades III <hde@foobar-qux.org>.
38376
38377 * configure.ac (AC_GNU_SOURCE): Added.
38378 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
38379 type.
38380
38381 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
38382
38383 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
38384 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
38385
38386 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
38387
38388 * include/grub/types.h (grub_host_addr_t): Rename to
38389 grub_target_addr_t.
38390 (grub_host_off_t): Rename to grub_target_off_t.
38391 (grub_host_size_t): Rename to grub_target_size_t.
38392 (grub_host_ssize_t): Rename to grub_target_ssize_t.
38393 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
38394
38395 * include/grub/kernel.h (struct grub_module_header): Change type
38396 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
38397 (grub_module_info): Likewise.
38398
38399 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38400
38401 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
38402 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
38403 Velazquez <jesus.velazquez@gmail.com>.
38404
38405 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38406
38407 Count partitions from 1 instead of 0 in the string representation
38408 of partitions. Still use 0-based internally.
38409
38410 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
38411 (sun_partition_map_iterate): Use grub_partition_t instead of
38412 struct grub_partition *. Cast DESC->START_CYLINDER to
38413 grub_uint64_t after converting the endian.
38414 (sun_partition_map_probe): Subtract 1 for PARTNUM.
38415 (sun_partition_map_get_name): Add 1 to P->INDEX.
38416
38417 * partmap/pc.c (grub_partition_parse): Subtract 1 for
38418 PCDATA->DOS_PART.
38419 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
38420
38421 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
38422 zero instead of one.
38423 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
38424 (gpt_partition_map_get_name): Add 1 into P->INDEX.
38425
38426 * partmap/apple.c (apple_partition_map_iterate): Change the type
38427 of POS to unsigned.
38428 (apple_partition_map_probe): Subtract 1 for PARTNUM.
38429 (apple_partition_map_get_name): Add 1 into P->INDEX.
38430
38431 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
38432 of POS to unsigned.
38433 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
38434 calculate the offset of a partition.
38435 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
38436 (amiga_partition_map_get_name): Add 1 into P->INDEX.
38437
38438 * partmap/acorn.c (acorn_partition_map_find): Change the type of
38439 SECTOR to grub_disk_addr_t.
38440 (acorn_partition_map_iterate): Likewise.
38441 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
38442 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
38443 top.
38444 (acorn_partition_map_get_name): Add 1 into P->INDEX.
38445
38446 * kern/i386/pc/init.c (make_install_device): Add 1 into
38447 GRUB_INSTALL_DOS_PART.
38448
38449 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
38450 conditional.
38451
38452 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38453
38454 Clean up the code to support 64-bit addressing in disks and
38455 files. This change is not enough for filesystems yet.
38456
38457 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
38458 type of "start" to grub_uint64_t.
38459 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
38460 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
38461 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
38462 convert addresses.
38463
38464 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
38465 to grub_disk_addr_t.
38466
38467 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
38468 string.
38469
38470 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38471
38472 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
38473 to char *.
38474
38475 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
38476
38477 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
38478
38479 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
38480
38481 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
38482 to grub_off_t, to detect an error from grub_file_seek.
38483 (grub_multiboot_load_elf32): Likewise.
38484
38485 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
38486 maximum unsigned long value when an overflow is detected.
38487 (grub_strtoull): New function.
38488 (grub_divmod64): Likewise.
38489 (grub_lltoa): use grub_divmod64.
38490
38491 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
38492 grub_disk_addr_t.
38493 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
38494 the pointer to next character. Use grub_strtoull instead of
38495 grub_strtoul.
38496 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38497 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38498 respectively.
38499
38500 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
38501 return value is signed.
38502 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38503 test if OFFSET is less than zero, as OFFSET is unsigned now.
38504
38505 * kern/disk.c (struct grub_disk_cache): Change the type of
38506 "sector" to grub_disk_addr_t.
38507 (grub_disk_cache_get_index): Change the type of SECTOR to
38508 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38509 unsigned after shifting.
38510 (grub_disk_cache_invalidate): Change the type of SECTOR to
38511 grub_disk_addr_t.
38512 (grub_disk_cache_unlock): Likewise.
38513 (grub_disk_cache_store): Likewise.
38514 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38515 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38516 grub_disk_addr_t and grub_uint64_t, respectively.
38517 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
38518 body, as the value of OFFSET is tweaked by
38519 grub_disk_check_range. Change the types of START_SECTOR, LEN and
38520 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38521 respectively.
38522 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38523 body, as the value of OFFSET is tweaked by
38524 grub_disk_check_range. Change the types of LEN and N to
38525 grub_size_t.
38526
38527 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38528 and "saved_offset" to grub_off_t.
38529 (test_header): Cast BUF to char *.
38530 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38531 to char *.
38532 (grub_gzio_read): Change the types of OFFSET and SIZE to
38533 grub_off_t and grub_size_t, respectively.
38534
38535 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38536 Removed.
38537 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38538 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38539 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38540 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38541 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38542
38543 * include/grub/types.h (grub_off_t): Unconditionally set to
38544 grub_uint64_t.
38545 (grub_disk_addr_t): Changed to grub_uint64_t.
38546
38547 * include/grub/partition.h (struct grub_partition): Change the
38548 types of "start", "len" and "offset" to grub_disk_addr_t,
38549 grub_uint64_t and grub_disk_addr_t, respectively.
38550 (grub_partition_get_start): Return grub_disk_addr_t.
38551 (grub_partition_get_len): Return grub_uint64_t.
38552
38553 * include/grub/misc.h (grub_strtoull): New prototype.
38554 (grub_divmod64): Likewise.
38555
38556 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38557 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38558 grub_off_t, respectively.
38559 All callers and references changed.
38560
38561 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38562 grub_size_t in "read".
38563 All callers and references changed.
38564
38565 * include/grub/file.h (struct grub_file): Change the types of
38566 "offset" and "size" to grub_off_t and grub_off_t,
38567 respectively. Change the type of SECTOR to grub_disk_addr_t in
38568 "read_hook".
38569 (grub_file_read): Change the type of LEN to grub_size_t.
38570 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38571 grub_off_t.
38572 (grub_file_size): Return grub_off_t.
38573 (grub_file_tell): Likewise.
38574 All callers and references changed.
38575
38576 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38577 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38578 "write".
38579 (struct grub_disk): Change the type of "total_sectors" to
38580 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
38581 "read_hook".
38582 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38583 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38584 (grub_disk_write): Likewise.
38585 All callers and references changed.
38586
38587 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38588 char * for grub_strncmp to silence gcc.
38589 (grub_iso9660_mount): Likewise.
38590 (grub_iso9660_mount): Likewise.
38591 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38592 return statement.
38593 (grub_iso9660_iterate_dir): Likewise.
38594 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38595
38596 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38597 LEN to grub_disk_addr_t and grub_size_t, respectively.
38598
38599 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38600
38601 * fs/jfs.c (grub_jfs_read_file): Likewise.
38602
38603 * fs/minix.c (grub_jfs_read_file): Likewise.
38604
38605 * fs/sfs.c (grub_jfs_read_file): Likewise.
38606
38607 * fs/ufs.c (grub_jfs_read_file): Likewise.
38608
38609 * fs/xfs.c (grub_jfs_read_file): Likewise.
38610
38611 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38612 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38613 respectively.
38614
38615 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38616 BLKNR to -1 instead of returning GRUB_ERRNO.
38617 (grub_ext2_read_file): Change the types of SECTOR and
38618 LEN to grub_disk_addr_t and grub_size_t, respectively.
38619
38620 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38621 LEN to grub_disk_addr_t and grub_size_t, respectively.
38622
38623 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38624 grub_file_read.
38625
38626 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38627 string. Do not cast SECTOR explicitly.
38628
38629 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38630 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38631 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38632 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38633 over 2TB and LBA mode is not supported, raise an error.
38634 (get_safe_sectors): New function.
38635 (grub_biosdisk_read): Use get_safe_sectors.
38636 (grub_biosdisk_write): Likewise.
38637
38638 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38639 (grub_efidisk_write): Likewise.
38640
38641 * disk/loopback.c (delete_loopback): Cosmetic changes.
38642 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38643 correctly.
38644 (grub_loopback_open): Likewise.
38645 (grub_loopback_read): Likewise. Also, change the type of POS to
38646 grub_off_t, and fix the usage of grub_memset.
38647
38648 * commands/i386/pc/play.c: Include grub/machine/time.h.
38649
38650 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38651 print FILE->SIZE.
38652
38653 * commands/configfile.c: Include grub/env.h.
38654
38655 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38656 GRUB_ERRNO directly instead. Change the type of POS to
38657 grub_off_t. Follow the coding standard.
38658
38659 * commands/blocklist.c: Include grub/partition.h.
38660 (grub_cmd_blocklist): Return an error if the underlying device is
38661 not a disk. Take the starting sector of a partition into account,
38662 if a partition is used.
38663
38664 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38665 a length field.
38666 (lba_mode): Support 64-bit addresses.
38667 (chs_mode): Likewise.
38668 (copy_buffer): Adapted to the new offsets of a length field and a
38669 segment field.
38670 (blocklist_default_start): Allocate 64-bit space.
38671
38672 * boot/i386/pc/boot.S (force_lba): Removed.
38673 (boot_drive): Moved to under KERNEL_SECTOR.
38674 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
38675 space.
38676 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
38677 is useless.
38678 (lba_mode): Refactored to support a 64-bit address. More size
38679 optimization.
38680 (setup_sectors): Likewise.
38681
38682 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38683
38684 * DISTLIST: Added include/grub/i386/linux.h. Removed
38685 include/grub/i386/pc/linux.h
38686
38687 * configure.ac (AC_INIT): Bumped to 1.94.
38688
38689 * config.guess: Updated from gnulib.
38690 * config.sub: Likewise.
38691 * install-sh: Likewise.
38692 * mkinstalldirs: Likewise.
38693
38694 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38695
38696 * conf/common.rmk (grub_modules_init.lst): Depended on
38697 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
38698 MODSRCFILES.
38699
38700 * genmk.rb (PModule::rule): Reverted the previous change.
38701
38702 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38703
38704 * conf/common.rmk (grub_modules_init.lst): Depends on
38705 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
38706 that the target does not exist before producing.
38707 (grub_modules_init.h): Remove the target before generating.
38708 (grub_emu_init.c): Likewise.
38709
38710 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
38711
38712 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
38713
38714 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
38715 for the target-specific tests. Make sure that we also have the
38716 up-to-date target variables for those tests.
38717
38718 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38719
38720 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
38721 (PModule::rule): Likewise.
38722
38723 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38724
38725 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
38726 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
38727 target-specific flags should be prefixed.
38728 (PModule::rule): Likewise.
38729
38730 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
38731
38732 * configure.ac (CMP): Check if cmp is available explicitly.
38733
38734 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
38735
38736 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
38737 (target_cpu): New variable.
38738 (pkglibdir): Use target_cpu instead of host_cpu.
38739
38740 * util/i386/pc/grub-install.in (host_cpu): Removed.
38741 (target_cpu): New variable.
38742 (pkglibdir): Use target_cpu instead of host_cpu.
38743
38744 * util/genmoddep.c: Removed.
38745
38746 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
38747 instead of GRUB_HOST_SIZEOF_VOID_P.
38748 * kern/dl.c: Likewise.
38749
38750 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38751 ...
38752 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38753 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38754 (GRUB_TARGET_SIZEOF_LONG): ... this.
38755 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38756 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38757 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38758 to ...
38759 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38760 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38761 (GRUB_TARGET_SIZEOF_LONG): ... this.
38762 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38763 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38764 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38765 to ...
38766 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38767 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38768 (GRUB_TARGET_SIZEOF_LONG): ... this.
38769 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38770 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38771
38772 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38773 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38774 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38775 instead of GRUB_HOST_SIZEOF_LONG.
38776 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
38777 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
38778 GRUB_CPU_WORDS_BIGENDIAN.
38779 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
38780 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
38781 grub_host_ssize_t.
38782
38783 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
38784 (genmoddep_SOURCES): Likewise.
38785 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
38786 (genmoddep_SOURCES): Likewise.
38787 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
38788 (genmoddep_SOURCES): Likewise.
38789 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
38790 Likewise.
38791 (genmoddep_SOURCES): Likewise.
38792
38793 * genmoddep.awk: New file.
38794
38795 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
38796 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
38797 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
38798 (PModule::rule): Likewise.
38799 (Program::rule): Likewise.
38800 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
38801 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
38802 respectively.
38803
38804 * configure.ac: Rewritten intensively to use host and target
38805 instead of build and host, respectively.
38806
38807 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
38808 (host_cpu): Removed.
38809 (target_cpu): New variable.
38810 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
38811 (BUILD_CC): Removed.
38812 (BUILD_CFLAGS): Likewise.
38813 (BUILD_CPPFLAGS): Likewise.
38814 (TARGET_CC): New variable.
38815 (TARGET_CFLAGS): Likewise.
38816 (TARGET_CPPFLAGS): Likewise.
38817 (TARGET_LDFLAGS): Likewise.
38818 (AWK): Likewise.
38819 (include): Use target_cpu instead of host_cpu.
38820 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
38821
38822 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
38823
38824 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
38825
38826 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
38827 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
38828 field 'false' to 'exec_on_false'.
38829 (grub_script_create_cmdif): Renamed argument names to reflect above
38830 changes.
38831
38832 * normal/execute.c (grub_script_execute_cmdif): Likewise.
38833
38834 * normal/script.c (grub_script_create_cmdif): Likewise.
38835
38836 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
38837
38838 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
38839 top.
38840 (grub_hfsplus_btree_recptr): Likewise.
38841 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
38842 FILEBLOCK both to pass a block number and store next block
38843 number.
38844 (grub_hfsplus_read_block): Rewritten heavily to support an extent
38845 overflow file correctly. Specify errors appropriately, because
38846 fshelp expects that GRUB_ERRNO is set when fails. Reuse
38847 grub_hfsplus_btree_recptr to get the pointer to a found key.
38848 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
38849 is found.
38850
38851 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
38852 linux.mod.
38853 (_linux_mod_SOURCES): New variable.
38854 (_linux_mod_CFLAGS): Likewise.
38855 (_linux_mod_LDFLAGS): Likewise.
38856 (linux_mod_SOURCES): Likewise.
38857 (linux_mod_CFLAGS): Likewise.
38858 (linux_mod_LDFLAGS): Likewise.
38859
38860 * DISTLIST: Added loader/i386/efi/linux.c,
38861 loader/i386/efi/linux_normal.c and
38862 include/grub/i386/efi/loader.h.
38863
38864 * loader/i386/efi/linux.c: New file.
38865 * loader/i386/efi/linux_normal.c: Likewise.
38866 * include/grub/i386/efi/loader.h: Likewise.
38867
38868 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
38869
38870 * commands/blocklist.c: New file.
38871
38872 * DISTLIST: Added commands/blocklist.c.
38873
38874 * term/efi/console.c (grub_console_highlight_color): Use a lighter
38875 color for the background, and a darker color for the foreground.
38876 (grub_console_checkkey): Return READ_KEY.
38877 (grub_console_cls): Set the background to
38878 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
38879
38880 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
38881
38882 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
38883 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
38884
38885 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
38886 prototype.
38887
38888 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
38889 BG. The spec is wrong again.
38890
38891 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
38892 prototype.
38893 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
38894
38895 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38896 commands/blocklist.c.
38897 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38898
38899 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
38900 (blocklist_mod_SOURCES): New variable.
38901 (blocklist_mod_CFLAGS): Likewise.
38902 (blocklist_mod_LDFLAGS): Likewise.
38903
38904 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
38905
38906 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
38907 duplication.
38908 (lba_mode): Use %eax more intensively to reduce the code size.
38909
38910 2006-05-20 Marco Gerards <marco@gnu.org>
38911
38912 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
38913
38914 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
38915 for `menuentry'.
38916 (script): Accept leading newlines.
38917 (newlines): New rule to describe 0 or more newlines.
38918 (commands): Accept `command' with trailing newline. Fixed the
38919 order in which arguments were passed to `grub_script_add_cmd'.
38920 Accept commands separated by newlines.
38921 (function): Changed to accept newlines.
38922 (menuentry) Rewritten.
38923
38924 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
38925 front of the list, instead of to the end.
38926
38927 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
38928
38929 * util/i386/pc/grub-install.in (bindir): New variable.
38930 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
38931 Shaver <lbgwjl@gmail.com>.
38932
38933 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
38934
38935 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
38936 grub/machine/linux.h
38937 * loader/i386/pc/linux.c: Likewise.
38938
38939 * include/grub/i386/pc/linux.h: Moved to ...
38940 * include/grub/i386/linux.h: ... here.
38941
38942 * include/grub/i386/linux.h (struct linux_kernel_params): New
38943 struct.
38944
38945 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
38946
38947 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
38948 checking.
38949 (grub_video_vbe_blit_glyph): Likewise.
38950 (grub_video_vbe_blit_bitmap): Likewise.
38951 (grub_video_vbe_blit_render_target): Likewise.
38952
38953 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
38954
38955 * configure.ac (--with-platform): Properly quote the square
38956 brackets.
38957
38958 2006-05-08 Marco Gerards <marco@gnu.org>
38959
38960 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
38961 this...
38962 (kernel_elf_HEADERS): ...to this. Updated all users.
38963 (grubof_symlist.c): Renamed from this...
38964 (kernel_elf_symlist.c): ...to this. Updated all users.
38965 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38966 (grubof_SOURCES): Renamed from this...
38967 (kernel_elf_SOURCES): ...to this.
38968 (grubof_HEADERS): Renamed from this...
38969 (kernel_elf_HEADERS): ...to this.
38970 (grubof_CFLAGS): Renamed from this...
38971 (kernel_elf_CFLAGS): ...to this.
38972 (grubof_ASFLAGS): Renamed from this...
38973 (kernel_elf_ASFLAGS): ...to this.
38974 (grubof_LDFLAGS): Renamed from this...
38975 (kernel_elf_LDFLAGS): ...to this.
38976
38977 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
38978 this...
38979 (kernel_elf_HEADERS): ...to this. Updated all users.
38980 (grubof_symlist.c): Renamed from this...
38981 (kernel_elf_symlist.c): ...to this. Updated all users.
38982 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38983 (grubof_SOURCES): Renamed from this...
38984 (kernel_elf_SOURCES): ...to this.
38985 (grubof_HEADERS): Renamed from this...
38986 (kernel_elf_HEADERS): ...to this.
38987 (grubof_CFLAGS): Renamed from this...
38988 (kernel_elf_CFLAGS): ...to this.
38989 (grubof_ASFLAGS): Renamed from this...
38990 (kernel_elf_ASFLAGS): ...to this.
38991 (grubof_LDFLAGS): Renamed from this...
38992 (kernel_elf_LDFLAGS): ...to this.
38993
38994 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
38995 `kernel.elf' instead of `grubof'.
38996
38997 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
38998
38999 Add --with-platform to configure. Use pkglibdir instead of
39000 pkgdatadir. This is reported by Roger Leigh.
39001
39002 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
39003 (host_vendor): Likewise.
39004 (host_os): Likewise.
39005 (pkgdatadir): Likewise.
39006 (platform): New variable.
39007 (pkglibdir): Likewise.
39008 Use PKGLIBDIR instead of PKGDATADIR.
39009
39010 * util/i386/pc/grub-install.in (datadir): Removed.
39011 (host_vendor): Likewise.
39012 (host_os): Likewise.
39013 (pkgdatadir): Likewise.
39014 (platform): New variable.
39015 (pkglibdir): Likewise.
39016 Use PKGLIBDIR instead of PKGDATADIR.
39017
39018 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
39019 instead of GRUB_DATADIR.
39020 (main): Likewise.
39021 * util/i386/pc/grub-mkimage.c (usage): Likewise.
39022 (main): Likewise.
39023 * util/i386/efi/grub-mkimage.c (usage): Likewise.
39024 (main): Likewise.
39025
39026 * configure.ac (--with-platform): New option.
39027 Use PLATFORM instead of HOST_VENDOR to specify a platform.
39028
39029 * Makefile.in: Include a makefile based on PLATFORM instead of
39030 HOST_VENDOR.
39031 (pkgdatadir): Not appended by the machine type.
39032 (pkglibdir): Appended by the machine type.
39033 (host_vendor): Removed.
39034 (platform): New variable.
39035 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
39036 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
39037 (uninstall): Likewise.
39038
39039 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
39040
39041 Use the environment context in the menu. Remove the commands
39042 "default" and "timeout", and use variables instead.
39043
39044 * normal/menu.c: Include grub/env.h.
39045 (print_entry): Cast TITLE to silence gcc.
39046 (get_timeout): New function.
39047 (set_timeout): Likewise.
39048 (get_entry_number): Likewise.
39049 (run_menu): Use a default entry, a fallback entry and a timeout
39050 in the environment variables "default", "fallback" and
39051 "timeout". Also, tweak the default entry if it is not within the
39052 current menu entries.
39053 (grub_menu_run): Use a fallback entry in the environment variable
39054 "fallback".
39055
39056 * normal/main.c (read_config_file): Do not initialize
39057 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
39058 NEWMENU->TIMEOUT.
39059 (grub_normal_execute): Use a data slot to store the menu.
39060
39061 * include/grub/normal.h (struct grub_menu): Removed default_entry,
39062 fallback_entry and timeout.
39063 (struct grub_menu_list): Removed.
39064 (grub_menu_list_t): Likewise.
39065 (struct grub_context): Likewise.
39066 (grub_context_t): Likewise.
39067 (grub_context_get): Likewise.
39068 (grub_context_get_current_menu): Likewise.
39069 (grub_context_push_menu): Likewise.
39070 (grub_context_pop_menu): Likewise.
39071 (grub_default_init): Likewise.
39072 (grub_default_fini): Likewise.
39073 (grub_timeout_init): Likewise.
39074 (grub_timeout_fini): Likewise.
39075
39076 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
39077 and timeout.mod.
39078 (normal_mod_SOURCES): Removed normal/context.c.
39079
39080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
39081 commands/default.c, commands/timeout.c and normal/context.c.
39082 (normal_mod_SOURCES): Removed normal/context.c.
39083
39084 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
39085 commands/timeout.c and normal/context.c.
39086 (normal_mod_SOURCES): Removed normal/context.c.
39087
39088 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
39089 commands/default.c, commands/timeout.c and normal/context.c.
39090 (normal_mod_SOURCES): Removed normal/context.c.
39091
39092 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
39093 timeout.mod.
39094 (default_mod_SOURCES): Removed.
39095 (default_mod_CFLAGS): Likewise.
39096 (default_mod_LDFLAGS): Likewise.
39097 (timeout_mod_SOURCES): Removed.
39098 (timeout_mod_CFLAGS): Likewise.
39099 (timeout_mod_LDFLAGS): Likewise.
39100
39101 * DISTLIST: Removed commands/default.c, commands/timeout.c and
39102 normal/context.c.
39103
39104 * commands/default.c: Removed.
39105 * commands/timeout.c: Likewise.
39106 * normal/context.c: Likewise.
39107
39108 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
39109
39110 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
39111
39112 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
39113
39114 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
39115 "next" to "prev" for readability.
39116 (struct grub_env_sorted_var): New struct.
39117 (grub_env_context): Renamed to ...
39118 (initial_context): ... this.
39119 (grub_env_var_context): Renamed to ...
39120 (current_context): ... this.
39121 (grub_env_find): Look only at CURRENT_CONTEXT.
39122 (grub_env_context_open): Rewritten to copy exported variables from
39123 previous context.
39124 (grub_env_context_close): Rewritten according to the new
39125 scheme. Also, add an assertion to prevent the initial context from
39126 removed.
39127 (grub_env_insert): Removed the code for the sorted list.
39128 (grub_env_remove): Likewise.
39129 (grub_env_export): Simply mark the variable with
39130 GRUB_ENV_VAR_GLOBAL.
39131 (grub_env_set): A cosmetic change for naming consistency.
39132 (grub_env_get): Likewise.
39133 (grub_env_unset): Likewise.
39134 (grub_env_iterate): Rewritten to sort variables within this
39135 function.
39136 (grub_register_variable_hook): Fixed for naming consistency. Call
39137 grub_env_find again, only if NAME is not found at the first time.
39138 (mangle_data_slot_name): New function.
39139 (grub_env_set_data_slot): Likewise.
39140 (grub_env_get_data_slot): Likewise.
39141 (grub_env_unset_data_slot): Likewise.
39142
39143 * include/grub/env.h (grub_env_var_type): New enum.
39144 (GRUB_ENV_VAR_LOCAL): New constant.
39145 (GRUB_ENV_VAR_GLOBAL): Likewise.
39146 (GRUB_ENV_VAR_DATA): Likewise.
39147 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
39148 "type".
39149 (grub_env_set): Replace VAR with NAME for consistency.
39150 (grub_register_variable_hook): Likewise.
39151 (grub_env_export): Specify the name of the argument.
39152 (grub_env_set_data_slot): New prototype.
39153 (grub_env_get_data_slot): Likewise.
39154 (grub_env_unset_data_slot): Likewise.
39155
39156 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39157
39158 Extend the loader so that GRUB can accept a loader which comes
39159 back to GRUB when a loaded image exits. Also, this change adds
39160 support for a chainloader on EFI.
39161
39162 * term/efi/console.c: Include grub/misc.h.
39163 (grub_console_checkkey): Display a scan code on the top for
39164 debugging. This will be removed once the EFI port gets stable.
39165 Correct the scan code mapping.
39166
39167 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
39168 allocate memory from larger regions, in order to reduce the number
39169 of allocated regions. Otherwise, the MacOSX loader panics.
39170 (filter_memory_map): Avoid less than 1MB for compatibility with
39171 other loaders.
39172 (add_memory_regions): Allocate from the tail of a region, if
39173 possible, to avoid allocating a region near to 1MB, for the MacOSX
39174 loader.
39175
39176 * kern/efi/init.c (grub_efi_set_prefix): Specify
39177 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
39178
39179 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
39180 argument IMAGE_HANDLE and specify it to get a loaded image.
39181 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
39182 grub_efi_get_loaded_image.
39183 (grub_efi_get_filename): Divide the length by the size of
39184 grub_efi_char16_t.
39185 (grub_efi_get_device_path): New function.
39186 (grub_efi_print_device_path): Print End Device Path nodes. Divide
39187 the length by the size of grub_efi_char16_t for a file path device
39188 path node.
39189
39190 * kern/loader.c (grub_loader_noreturn): New variable.
39191 (grub_loader_set): Accept a new argument NORETURN. Set
39192 GRUB_LOADER_NORETURN to NORETURN.
39193 All callers changed.
39194 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
39195 grub_machine_fini.
39196
39197 * include/grub/efi/efi.h (grub_efi_get_device_path): New
39198 prototype.
39199 (grub_efi_get_loaded_image): Take an argument to specify an image
39200 handle.
39201
39202 * include/grub/loader.h (grub_loader_set): Added one more argument
39203 NORETURN.
39204
39205 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
39206 instead of grub_efi_open_protocol.
39207 (grub_efidisk_get_device_name): Likewise.
39208 (grub_efidisk_close): Print a newline.
39209 (grub_efidisk_get_device_handle): Fixed to use
39210 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
39211 GRUB_EFI_DEVICE_PATH_TYPE.
39212
39213 * disk/efi/efidisk.c (device_path_guid): Moved to ...
39214 * kern/efi/efi.c (device_path_guid): ... here.
39215
39216 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
39217 chain.mod.
39218 (kernel_mod_HEADERS): Added efi/disk.h.
39219 (_chain_mod_SOURCES): New variable.
39220 (_chain_mod_CFLAGS): Likewise.
39221 (_chain_mod_LDFLAGS): Likewise.
39222 (chain_mod_SOURCES): Likewise.
39223 (chain_mod_CFLAGS): Likewise.
39224 (chain_mod_LDFLAGS): Likewise.
39225
39226 * DISTLIST: Added include/grub/efi/chainloader.h,
39227 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
39228
39229 * include/grub/efi/chainloader.h: New file.
39230 * loader/efi/chainloader.c: Likewise.
39231 * loader/efi/chainloader_normal.c: Likewise.
39232
39233 2006-04-30 Marco Gerards <marco@gnu.org>
39234
39235 * commands/configfile.c (grub_cmd_source): New function.
39236 (GRUB_MOD_INIT): Register the commands `source' and `.'.
39237 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
39238
39239 2006-04-30 Marco Gerards <marco@gnu.org>
39240
39241 * normal/execute.c (grub_script_execute_cmd): Change the return
39242 type to `grub_err_t'. Correctly return the error.
39243 (grub_script_execute_cmdline): In case a command line is not a
39244 command or a function, try to interpret it as an assignment.
39245
39246 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39247
39248 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
39249 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
39250 skip a node whose name is obviously invalid as UTF-16,
39251 i.e. contains a NUL character. Stop the iteration when the last
39252 directory entry is found. Instead of using the return value of
39253 grub_hfsplus_btree_iterate_node, store the value in RET and use
39254 it, because the iterator can be stopped by the last directory
39255 entry.
39256
39257 2006-04-30 Marco Gerards <marco@gnu.org>
39258
39259 * include/grub/env.h (grub_env_export): New prototype. Reported
39260 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
39261
39262 2006-04-30 Marco Gerards <marco@gnu.org>
39263
39264 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
39265 size of the extents in a catalog file record.
39266
39267 2006-04-29 Marco Gerards <marco@gnu.org>
39268
39269 * commands/configfile.c (grub_cmd_configfile): Execute the
39270 configfile within its own context.
39271
39272 * include/grub/env.h (grub_env_context_open): New prototype.
39273 (grub_env_context_close): Likewise.
39274
39275 * kern/env.c (grub_env): Removed.
39276 (grub_env_sorted): Likewise.
39277 (grub_env_context): New variable.
39278 (grub_env_var_context): Likewise.
39279 (grub_env_find): Search both the active context and the global
39280 context.
39281 (grub_env_context_open): New function.
39282 (grub_env_context_close): Likewise.
39283 (grub_env_insert): Likewise.
39284 (grub_env_remove): Likewise.
39285 (grub_env_export): Likewise.
39286 (grub_env_set): Changed to use helper functions to avoid code
39287 duplication.
39288 (grub_env_iterate): Rewritten so both the current context and the
39289 global context are being used.
39290
39291 * normal/command.c (export_command): New function.
39292 (grub_command_init): Register the `export' function.
39293
39294 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
39295
39296 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
39297 explicitly to suppress gcc's warnings.
39298 * fs/fat.c (grub_fat_find_dir): Likewise.
39299 (grub_fat_label): Likewise.
39300 * fs/xfs.c (grub_xfs_read_inode): Likewise.
39301 (grub_xfs_mount): Likewise.
39302 (grub_xfs_label): Likewise.
39303 * fs/affs.c (grub_affs_mount): Likewise.
39304 (grub_affs_label): Likewise.
39305 (grub_affs_iterate_dir): Likewise.
39306 * fs/sfs.c (grub_sfs_mount): Likewise.
39307 (grub_sfs_iterate_dir): Likewise.
39308 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
39309 * fs/hfs.c (grub_hfs_mount): Likewise.
39310 (grub_hfs_cmp_catkeys): Likewise.
39311 (grub_hfs_find_dir): Likewise.
39312 (grub_hfs_dir): Likewise.
39313 (grub_hfs_label): Likewise.
39314 * fs/jfs.c (grub_jfs_mount): Likewise.
39315 (grub_jfs_opendir): Likewise.
39316 (grub_jfs_getent): Likewise.
39317 (grub_jfs_lookup_symlink): Likewise.
39318 (grub_jfs_label): Likewise.
39319 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
39320 (grub_hfsplus_iterate_dir): Likewise.
39321 (grub_hfsplus_btree_iterate_node): Made static.
39322
39323 * util/grub-emu.c (prefix): New variable.
39324 (grub_machine_set_prefix): New function.
39325 (main): Do not set the environment variable "prefix" here. Only
39326 set PREFIX, which is used later by grub_machine_set_prefix.
39327
39328 * include/grub/video.h: Do not include grub/symbol.h.
39329 (grub_video_register): Not exported. This symbol is not defined in
39330 the kernel.
39331 (grub_video_unregister): Likewise.
39332 (grub_video_iterate): Likewise.
39333 (grub_video_setup): Likewise.
39334 (grub_video_restore): Likewise.
39335 (grub_video_get_info): Likewise.
39336 (grub_video_get_blit_format): Likewise.
39337 (grub_video_set_palette): Likewise.
39338 (grub_video_get_palette): Likewise.
39339 (grub_video_set_viewport): Likewise.
39340 (grub_video_get_viewport): Likewise.
39341 (grub_video_map_color): Likewise.
39342 (grub_video_map_rgb): Likewise.
39343 (grub_video_map_rgba): Likewise.
39344 (grub_video_fill_rect): Likewise.
39345 (grub_video_blit_glyph): Likewise.
39346 (grub_video_blit_bitmap): Likewise.
39347 (grub_video_blit_render_target): Likewise.
39348 (grub_video_scroll): Likewise.
39349 (grub_video_swap_buffers): Likewise.
39350 (grub_video_create_render_target): Likewise.
39351 (grub_video_delete_render_target): Likewise.
39352 (grub_video_set_active_render_target): Likewise.
39353
39354 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
39355 Undefined.
39356 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
39357
39358 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
39359 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39360 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39361 instead of $(srcdir)/genkernsyms.sh.
39362
39363 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
39364 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39365 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39366 instead of $(srcdir)/genkernsyms.sh.
39367
39368 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
39369 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39370 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39371 instead of $(srcdir)/genkernsyms.sh.
39372
39373 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
39374 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39375 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39376 instead of $(srcdir)/genkernsyms.sh.
39377
39378 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
39379 genkernsyms.sh.
39380
39381 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
39382 genkernsyms.sh.
39383 (gensymlist.sh): New target.
39384 (genkernsyms.sh): Likewise.
39385
39386 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
39387 genkernsyms.sh.in and gensymlist.sh.in.
39388
39389 * genkernsyms.sh: Removed.
39390 * gensymlist.sh: Likewise.
39391
39392 * genkernsyms.sh.in: New file.
39393 * gensymlist.sh.in: Likewise.
39394
39395 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39396
39397 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
39398 clobber "prefix", since we may have already set it manually.
39399
39400 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39401
39402 * kern/misc.c (abort): New alias for grub_abort.
39403
39404 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
39405
39406 A new machine-specific function "grub_machine_set_prefix" is
39407 defined. This is called after loading modules, so that a prefix
39408 initialization can use modules. Also, this change adds an
39409 intensive debugging feature for the memory manager via the
39410 configure option "--enable-mm-debug".
39411
39412 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
39413 PART.LEN.
39414
39415 * kern/sparc64/ieee1275/init.c (abort): Removed.
39416 (grub_stop): Likewise.
39417 (grub_exit): New function.
39418 (grub_set_prefix): Renamed to ...
39419 (grub_machine_set_prefix): ... this.
39420 (grub_machine_init): Do not call grub_set_prefix.
39421
39422 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
39423 (grub_machine_set_prefix): ... this.
39424 (grub_machine_init): Do not call grub_set_prefix.
39425
39426 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
39427 (grub_machine_init): Do not set the prefix here.
39428
39429 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
39430
39431 * kern/efi/init.c: Include grub/mm.h.
39432 (grub_efi_set_prefix): New function.
39433
39434 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
39435 (grub_efi_get_filename): New function.
39436 (grub_print_device_path): Renamed to ...
39437 (grub_efi_print_device_path): ... this.
39438
39439 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
39440 [MM_DEBUG] (grub_realloc): Likewise.
39441 [MM_DEBUG] (grub_free): Likewise.
39442 [MM_DEBUG] (grub_memalign): Likewise.
39443 [MM_DEBUG] (grub_mm_debug): New variable.
39444 [MM_DEBUG] (grub_debug_malloc): New function.
39445 [MM_DEBUG] (grub_debug_free): New function.
39446 [MM_DEBUG] (grub_debug_realloc): New function.
39447 [MM_DEBUG] (grub_debug_memalign): New function.
39448
39449 * kern/misc.c (grub_abort): Print a newline to distinguish
39450 the message.
39451
39452 * kern/main.c (grub_main): Call grub_machine_set_prefix and
39453 grub_set_root_dev after loading modules. This is necessary when
39454 setting a prefix depends on modules.
39455
39456 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
39457 (grub_efi_print_device_path): ... this.
39458 (grub_efi_get_filename): New prototype.
39459 (grub_efi_set_prefix): Likewise.
39460
39461 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
39462 and grub/disk.h.
39463 (grub_efidisk_get_device_handle): New prototype.
39464 (grub_efidisk_get_device_name): Likewise.
39465
39466 * include/grub/mm.h: Include config.h.
39467 (MM_DEBUG): Removed.
39468 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
39469 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
39470 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
39471 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
39472 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
39473 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
39474 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
39475 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
39476 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
39477
39478 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
39479
39480 * disk/efi/efidisk.c: Include grub/partition.h.
39481 (iterate_child_devices): New function.
39482 (add_device): First, compare only last device path nodes, so that
39483 devices are sorted by the types.
39484 (grub_efidisk_get_device_handle): New function.
39485 (grub_efidisk_get_device_name): Likewise.
39486
39487 * configure.ac (--enable-mm-debug): New option to enable the
39488 memory manager debugging feature. This makes the binary much
39489 bigger, so is disabled by default.
39490
39491 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
39492
39493 Use grub_abort instead of grub_stop, and grub_exit must be
39494 define in each architecture now. Also, this change adds support
39495 for EFI disks.
39496
39497 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39498 (grub_getkey): New function.
39499 (grub_term_get_current): Likewise.
39500
39501 * util/i386/pc/grub-setup.c: Include grub/term.h.
39502 (grub_getkey): New function.
39503 (grub_term_get_current): Likewise.
39504
39505 * util/misc.c (grub_stop): Renamed to ...
39506 (grub_exit): ... this.
39507
39508 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39509 (grub_exit): ... this.
39510 (grub_machine_init): Use grub_abort instead of abort.
39511 (grub_stop): Removed.
39512
39513 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39514 abort.
39515
39516 * kern/i386/pc/startup.S (grub_exit): New function.
39517 (cold_reboot): New label.
39518
39519 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39520 (grub_efi_init): Call grub_efidisk_init.
39521 (grub_efi_fini): Call grub_efidisk_fini.
39522
39523 * kern/efi/efi.c: Include grub/mm.h.
39524 (grub_efi_console_control_guid): Renamed to ...
39525 (console_control_guid): ... this.
39526 (grub_efi_loaded_image_guid): Renamed to ...
39527 (loaded_image_guid): ... this.
39528 (grub_efi_locate_handle): New function.
39529 (grub_efi_open_protocol): Likewise.
39530 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39531 GRUB_EFI_CONSOLE_CONTROL_GUID.
39532 (grub_efi_exit): Removed.
39533 (grub_stop): Likewise.
39534 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39535 (grub_exit): New function.
39536 (grub_print_device_path): Likewise.
39537
39538 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39539 (grub_enter_rescue_mode): Register "exit".
39540
39541 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39542 (grub_abort): New function.
39543
39544 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39545
39546 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39547
39548 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39549
39550 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39551 (grub_print_device_path): New prototype.
39552 (grub_efi_locate_handle): Likewise.
39553 (grub_efi_open_protocol): Likewise.
39554
39555 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39556 * disk/efi/efidisk.c: Likewise.
39557
39558 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39559
39560 * include/grub/efi/console_control.h
39561 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39562
39563 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39564 last 8 bytes as an array.
39565 (GRUB_EFI_DISK_IO_GUID): New macro.
39566 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39567 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39568 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39569 grub_uint8_t.
39570 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39571 (struct grub_efi_device_path): Rename the member "sub_type" to
39572 "subtype".
39573 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39574 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39575 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39576 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39577 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39578 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39579 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39580 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39581 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39582 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39583 (struct grub_efi_pci_device_path): New structure.
39584 (grub_efi_pci_device_path_t): New type.
39585 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39586 (struct grub_efi_pccard_device_path): New structure.
39587 (grub_efi_pccard_device_path_t): New type.
39588 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39589 (struct grub_efi_memory_mapped_device_path): New structure.
39590 (grub_efi_memory_mapped_device_path_t): New type.
39591 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39592 (struct grub_efi_vendor_device_path): New structure.
39593 (grub_efi_vendor_device_path_t): New type.
39594 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39595 (struct grub_efi_controller_device_path): New structure.
39596 (grub_efi_controller_device_path_t): New type.
39597 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39598 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39599 (struct grub_efi_acpi_device_path): New structure.
39600 (grub_efi_acpi_device_path_t): New type.
39601 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39602 (struct grub_efi_expanded_acpi_device_path): New structure.
39603 (grub_efi_expanded_acpi_device_path_t): New type.
39604 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39605 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39606 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39607 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39608 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39609 (struct grub_efi_atapi_device_path): New structure.
39610 (grub_efi_atapi_device_path_t): New type.
39611 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39612 (struct grub_efi_fibre_channel_device_path): New structure.
39613 (grub_efi_fibre_channel_device_path_t): New type.
39614 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39615 (struct grub_efi_1394_device_path): New structure.
39616 (grub_efi_1394_device_path_t): New type.
39617 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39618 (struct grub_efi_usb_device_path): New structure.
39619 (grub_efi_usb_device_path_t): New type.
39620 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39621 (struct grub_efi_usb_class_device_path): New structure.
39622 (grub_efi_usb_class_device_path_t): New type.
39623 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39624 (struct grub_efi_i2o_device_path): New structure.
39625 (grub_efi_i2o_device_path_t): New type.
39626 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39627 (struct grub_efi_mac_address_device_path): New structure.
39628 (grub_efi_mac_address_device_path_t): New type.
39629 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39630 (struct grub_efi_ipv4_device_path): New structure.
39631 (grub_efi_ipv4_device_path_t): New type.
39632 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39633 (struct grub_efi_ipv6_device_path): New structure.
39634 (grub_efi_ipv6_device_path_t): New type.
39635 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39636 (struct grub_efi_infiniband_device_path): New structure.
39637 (grub_efi_infiniband_device_path_t): New type.
39638 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39639 (struct grub_efi_uart_device_path): New structure.
39640 (grub_efi_uart_device_path_t): New type.
39641 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39642 (struct grub_efi_vendor_messaging_device_path): New structure.
39643 (grub_efi_vendor_messaging_device_path_t): New type.
39644 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39645 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39646 (struct grub_efi_hard_drive_device_path): New structure.
39647 (grub_efi_hard_drive_device_path_t): New type.
39648 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39649 (struct grub_efi_cdrom_device_path): New structure.
39650 (grub_efi_cdrom_device_path_t): New type.
39651 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39652 (struct grub_efi_vendor_media_device_path): New structure.
39653 (grub_efi_vendor_media_device_path_t): New type.
39654 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39655 (struct grub_efi_file_path_device_path): New structure.
39656 (grub_efi_file_path_device_path_t): New type.
39657 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39658 (struct grub_efi_protocol_device_path): New structure.
39659 (grub_efi_protocol_device_path_t): New type.
39660 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39661 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39662 (struct grub_efi_bios_device_path): New structure.
39663 (grub_efi_bios_device_path_t): New type.
39664 (struct grub_efi_disk_io): New structure.
39665 (grub_efi_disk_io_t): New type.
39666 (struct grub_efi_block_io_media): New structure.
39667 (grub_efi_block_io_media_t): New type.
39668 (struct grub_efi_block_io): New structure.
39669 (grub_efi_block_io_t): New type.
39670
39671 * include/grub/misc.h (grub_stop): Removed.
39672 (grub_exit): New prototype.
39673 (grub_abort): Likewise.
39674
39675 * include/grub/disk.h (enum grub_disk_dev_id): Added
39676 GRUB_DISK_DEVICE_EFIDISK_ID.
39677
39678 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
39679 disk/efi/efidisk.c.
39680 (kernel_syms.lst): Remove the target if an error occurs.
39681
39682 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
39683
39684 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
39685 as it was simply too buggy.
39686
39687 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
39688
39689 * kern/misc.c (grub_lltoa): New function.
39690 (grub_vsprintf): Added support for the long long suffix,
39691 i.e. "ll".
39692
39693 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
39694
39695 * Makefile.in (LDFLAGS): Add variable.
39696 (LD): Remove variable.
39697 * configure.ac: Add -m32 to LDFLAGS.
39698 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
39699 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
39700 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
39701 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
39702 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
39703 variables.
39704 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
39705 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
39706 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
39707
39708 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
39709
39710 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
39711 length for unknown glyph.
39712
39713 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39714
39715 Add support for pre-loaded modules into the EFI port.
39716
39717 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
39718 completely. Accept one more argument DIR. The caller has changed.
39719
39720 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
39721
39722 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
39723 (grub_efi_loaded_image_guid): New variable.
39724 (grub_efi_get_loaded_image): New function.
39725 (grub_arch_modules_addr): Likewise.
39726
39727 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
39728 prototype.
39729
39730 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
39731 (struct grub_efi_loaded_image): New structure.
39732 (grub_efi_loaded_image_t): New type.
39733
39734 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39735
39736 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
39737 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
39738 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
39739
39740 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
39741
39742 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
39743
39744 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
39745
39746 * DISTLIST: Added include/grub/efi/console.h,
39747 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
39748 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39749
39750 * include/grub/efi/console.h: New file.
39751 * include/grub/efi/time.h: Likewise.
39752 * include/grub/i386/efi/kernel.h: Likewise.
39753 * kern/efi/init.c: Likewise.
39754 * kern/efi/mm.c: Likewise.
39755 * term/efi/console.c: Likewise.
39756
39757 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39758 (grub_stop): Removed.
39759 (grub_get_rtc): Likewise.
39760 (grub_machine_init): Simply call grub_efi_init.
39761 (grub_machine_fini): Call grub_efi_fini.
39762
39763 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39764 (grub_efi_output_string): Removed.
39765 (grub_efi_stall): New function.
39766 (grub_stop): Likewise.
39767 (grub_get_rtc): Likewise.
39768
39769 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39770 (grub_efi_stall): New prototype.
39771 (grub_efi_allocate_pages): Likewise.
39772 (grub_efi_free_pages): Likewise.
39773 (grub_efi_get_memory_map): Likewise.
39774 (grub_efi_mm_init): Likewise.
39775 (grub_efi_mm_fini): Likewise.
39776 (grub_efi_init): Likewise.
39777 (grub_efi_fini): Likewise.
39778
39779 * include/grub/i386/efi/time.h: Do not include
39780 grub/symbol.h. Include grub/efi/time.h.
39781 (GRUB_TICKS_PER_SECOND): Removed.
39782 (grub_get_rtc): Likewise.
39783
39784 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
39785 Added padding. The EFI spec is buggy.
39786 (GRUB_EFI_BLACK): New macro.
39787 (GRUB_EFI_BLUE): Likewise.
39788 (GRUB_EFI_GREEN): Likewise.
39789 (GRUB_EFI_CYAN): Likewise.
39790 (GRUB_EFI_RED): Likewise.
39791 (GRUB_EFI_MAGENTA): Likewise.
39792 (GRUB_EFI_BROWN): Likewise.
39793 (GRUB_EFI_LIGHTGRAY): Likewise.
39794 (GRUB_EFI_BRIGHT): Likewise.
39795 (GRUB_EFI_DARKGRAY): Likewise.
39796 (GRUB_EFI_LIGHTBLUE): Likewise.
39797 (GRUB_EFI_LIGHTGREEN): Likewise.
39798 (GRUB_EFI_LIGHTCYAN): Likewise.
39799 (GRUB_EFI_LIGHTRED): Likewise.
39800 (GRUB_EFI_LIGHTMAGENTA): Likewise.
39801 (GRUB_EFI_YELLOW): Likewise.
39802 (GRUB_EFI_WHITE): Likewise.
39803 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
39804 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
39805 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
39806 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
39807 (GRUB_EFI_BACKGROUND_RED): Likewise.
39808 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
39809 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
39810 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
39811 (GRUB_EFI_TEXT_ATTR): Likewise.
39812
39813 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
39814 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39815 (kernel_mod_HEADERS): Added efi/time.h.
39816
39817 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
39818
39819 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
39820 include/grub/efi/api.h, include/grub/efi/console_control.h,
39821 include/grub/efi/efi.h, include/grub/efi/pe32.h,
39822 include/grub/i386/efi/time.h, kern/efi/efi.c,
39823 kern/i386/efi/init.c, kern/i386/efi/startup.S,
39824 and util/i386/efi/grub-mkimage.c.
39825
39826 * Makefile.in (RMKFILES): Added i386-efi.rmk.
39827
39828 * genmk.rb (PModule#rule): Do not export symbols if
39829 #{prefix}_EXPORTS is set to "no".
39830
39831 * conf/i386-efi.mk: New file.
39832 * conf/i386-efi.rmk: Likewise.
39833 * include/grub/efi/api.h: Likewise.
39834 * include/grub/efi/console_control.h: Likewise.
39835 * include/grub/efi/efi.h: Likewise.
39836 * include/grub/efi/pe32.h: Likewise.
39837 * include/grub/i386/efi/time.h: Likewise.
39838 * kern/efi/efi.c: Likewise.
39839 * kern/i386/efi/init.c: Likewise.
39840 * kern/i386/efi/startup.S: Likewise.
39841 * util/i386/efi/grub-mkimage.c: Likewise.
39842
39843 2006-04-17 Marco Gerards <marco@gnu.org>
39844
39845 * include/grub/script.h: Include <grub/parser.h> and
39846 "grub_script.tab.h".
39847 (struct grub_lexer_param): New struct.
39848 (struct grub_parser_param): Likewise.
39849 (grub_script_create_arglist): Pass the state in an argument.
39850 (grub_script_add_arglist): Likewise.
39851 (grub_script_create_cmdline): Likewise.
39852 (grub_script_create_cmdblock): Likewise.
39853 (grub_script_create_cmdif): Likewise.
39854 (grub_script_create_cmdmenu): Likewise.
39855 (grub_script_add_cmd): Likewise.
39856 (grub_script_arg_add): Likewise.
39857 (grub_script_lexer_ref): Likewise.
39858 (grub_script_lexer_deref): Likewise.
39859 (grub_script_lexer_record_start): Likewise.
39860 (grub_script_lexer_record_stop): Likewise.
39861 (grub_script_mem_record): Likewise.
39862 (grub_script_mem_record_stop): Likewise.
39863 (grub_script_malloc): Likewise.
39864 (grub_script_yylex): Likewise.
39865 (grub_script_yyparse): Likewise.
39866 (grub_script_yyerror): Likewise.
39867 (grub_script_yylex): Likewise.
39868 (grub_script_lexer_init): Return the state.
39869
39870 * normal/lexer.c (grub_script_lexer_state): Removed variable.
39871 (grub_script_lexer_done): Likewise.
39872 (grub_script_lexer_getline): Likewise.
39873 (grub_script_lexer_refs): Likewise.
39874 (script): Likewise.
39875 (newscript): Likewise.
39876 (record): Likewise.
39877 (recording): Likewise.
39878 (recordpos): Likewise.
39879 (recordlen): Likewise.
39880 (grub_script_lexer_init): Return the state instead of setting
39881 global variables.
39882 (grub_script_lexer_ref): Use the newly added argument for state
39883 instead of globals.
39884 (grub_script_lexer_deref): Likewise.
39885 (grub_script_lexer_record_start): Likewise.
39886 (grub_script_lexer_record_stop): Likewise.
39887 (recordchar): Likewise.
39888 (nextchar): Likewise.
39889 (grub_script_yylex2): Likewise.
39890 (grub_script_yylex): Likewise.
39891 (grub_script_yyerror): Likewise.
39892
39893 * normal/parser.y (func_mem): Removed variable.
39894 (menu_entry): Likewise.
39895 (err): Likewise.
39896 (%lex-param): New parser option.
39897 (%parse-param): Likewise.
39898 (script): Always return the AST.
39899 (argument): Pass the state around.
39900 (arguments): Likewise.
39901 (grubcmd): Likewise.
39902 (commands): Likewise.
39903 (function): Likewise.
39904 (menuentry): Likewise.
39905 (if_statement): Likewise.
39906 (if): Likewise.
39907
39908 * normal/script.c (grub_script_memused): Removed variable.
39909 (grub_script_parsed): Likewise.
39910 (grub_script_malloc): Added a state argument. Use that instead of
39911 global variables.
39912 (grub_script_mem_record): Likewise.
39913 (grub_script_mem_record_stop): Likewise.
39914 (grub_script_arg_add): Likewise.
39915 (grub_script_add_arglist): Likewise.
39916 (grub_script_create_cmdline): Likewise.
39917 (grub_script_create_cmdif): Likewise.
39918 (grub_script_create_cmdmenu): Likewise.
39919 (grub_script_add_cmd): Likewise.
39920 (grub_script_parse): Setup the state before calling the parser.
39921
39922 2006-04-16 Marco Gerards <marco@gnu.org>
39923
39924 * normal/command.c (grub_command_init): Remove the title command.
39925
39926 * normal/lexer.c (grub_script_yylex): Renamed from this...
39927 (grub_script_yylex2): ... to this.
39928 (grub_script_yylex): New function. Temporary
39929 introduced to filter some tokens.
39930 (grub_script_yyerror): Print a newline.
39931
39932 * normal/main.c (read_config_file): Output information about the
39933 lines that contain errors. Wait for a key after all lines have
39934 been processed. Don't return an empty menu.
39935
39936 * normal/parser.y (func_mem): Don't initialize.
39937 (menu_entry): Likewise.
39938 (err): New variable.
39939 (script): Don't return anything when an error was encountered.
39940 (ws, returns): Removed rules.
39941 (argument): Disabled concatenated variable support.
39942 (arguments): Remove explicit separators.
39943 (grubcmd): Likewise.
39944 (function): Likewise.
39945 (menuentry): Likewise.
39946 (if): Likewise.
39947 (commands): Likewise. Add error handling.
39948
39949 * normal/script.c (grub_script_create_cmdline): If
39950 `grub_script_parsed' is 0, assume the parser encountered an error.
39951
39952 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
39953
39954 * configure.ac: Add support for EFI. Fix the typo
39955 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
39956
39957 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39958
39959 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
39960 foreign multibyte characters should be shown correctly.
39961
39962 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39963
39964 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
39965 calculation.
39966 (read_config_file): Made it to close file before returning.
39967
39968 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
39969
39970 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
39971 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
39972 video/i386/pc/vbefill.c.
39973
39974 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
39975 video/i386/pc/vbefill.c.
39976
39977 * include/grub/video.h (grub_video_blit_format): New enum.
39978 (grub_video_mode_info): Added new member blit_format.
39979 (grub_video_get_blit_format): New function prototype.
39980
39981 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
39982 function prototype.
39983 (grub_video_vbe_map_rgb): Likewise.
39984 (grub_video_vbe_unmap_color): Likewise.
39985
39986 * include/grub/i386/pc/vbeblit.h: New file.
39987
39988 * include/grub/i386/pc/vbefill.h: New file.
39989
39990 * video/video.c (grub_video_get_blit_format): New function.
39991 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
39992 (grub_video_vbe_map_rgb): Likewise.
39993 (grub_video_vbe_unmap_color): Likewise.
39994
39995 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
39996 optimized fills.
39997 (grub_video_vbe_blit_render_target): Changed to use more optimized
39998 blits.
39999 (grub_video_vbe_setup): Added detection for optimized settings.
40000 (grub_video_vbe_create_render_target): Likewise.
40001
40002 * video/i386/pc/vbeblit.c: New file.
40003
40004 * video/i386/pc/vbefill.c: New file.
40005
40006 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
40007
40008 * font/manager.c (grub_font_get_glyph): Removed font fixup from
40009 here...
40010
40011 * util/unifont2pff.rb: ... and moved it to here. Improved argument
40012 parsing to support both hex and dec ranges. If filename was missing
40013 show usage information.
40014
40015 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
40016
40017 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
40018 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
40019
40020 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
40021 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
40022 (video_mod_SOURCES): Added.
40023 (video_mod_CFLAGS): Likewise.
40024 (video_mod_LDFLAGS): Likewise.
40025 (gfxterm_mod_SOURCES): Likewise.
40026 (gfxterm_mod_CFLAGS): Likewise.
40027 (gfxterm_mod_LDFLAGS): Likewise.
40028 (videotest_mod_SOURCES): Likewise.
40029 (videotest_mod_CFLAGS): Likewise.
40030 (videotest_mod_LDFLAGS): Likewise.
40031 (vesafb_mod_SOURCES): Removed.
40032 (vesafb_mod_CFLAGS): Likewise.
40033 (vesafb_mod_LDFLAGS): Likewise.
40034 (vga_mod_SOURCES): Likewise.
40035 (vga_mod_CFLAGS): Likewise.
40036 (vga_mod_LDFLAGS): Likewise.
40037
40038 * commands/videotest.c: New file.
40039
40040 * font/manager.c (fill_with_default_glyph): Modified to use
40041 grub_font_glyph.
40042 (grub_font_get_glyph): Likewise.
40043 (fontmanager): Renamed from this...
40044 (font_manager): ... to this.
40045
40046 * include/grub/font.h (grub_font_glyph): Added new structure.
40047 (grub_font_get_glyph): Modified to use grub_font_glyph.
40048
40049 * include/grub/misc.h (grub_abs): Added as inline function.
40050
40051 * include/grub/video.h: New file.
40052
40053 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
40054 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
40055 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
40056 (grub_vbe_get_controller_info): Renamed from this...
40057 (grub_vbe_bios_get_controller_info): ... to this.
40058 (grub_vbe_get_mode_info): Renamed from this...
40059 (grub_vbe_bios_get_mode_info): ... to this.
40060 (grub_vbe_set_mode): Renamed from this...
40061 (grub_vbe_bios_set_mode): ... to this.
40062 (grub_vbe_get_mode): Renamed from this...
40063 (grub_vbe_bios_get_mode): ... to this.
40064 (grub_vbe_set_memory_window): Renamed from this...
40065 (grub_vbe_bios_set_memory_window): ... to this.
40066 (grub_vbe_get_memory_window): Renamed from this...
40067 (grub_vbe_bios_get_memory_window): ... to this.
40068 (grub_vbe_set_scanline_length): Renamed from this...
40069 (grub_vbe_set_scanline_length): ... to this.
40070 (grub_vbe_get_scanline_length): Renamed from this...
40071 (grub_vbe_bios_get_scanline_length): ... to this.
40072 (grub_vbe_set_display_start): Renamed from this...
40073 (grub_vbe_bios_set_display_start): ... to this.
40074 (grub_vbe_get_display_start): Renamed from this...
40075 (grub_vbe_bios_get_display_start): ... to this.
40076 (grub_vbe_set_palette_data): Renamed from this...
40077 (grub_vbe_bios_set_palette_data): ... to this.
40078 (grub_vbe_set_pixel_rgb): Removed.
40079 (grub_vbe_set_pixel_index): Likewise.
40080
40081 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
40082 from this...
40083 (grub_vbe_bios_get_controller_info): ... to this.
40084 (grub_vbe_get_mode_info): Renamed from this...
40085 (grub_vbe_bios_get_mode_info): ... to this.
40086 (grub_vbe_set_mode): Renamed from this...
40087 (grub_vbe_bios_set_mode): ... to this.
40088 (grub_vbe_get_mode): Renamed from this...
40089 (grub_vbe_bios_get_mode): ... to this.
40090 (grub_vbe_set_memory_window): Renamed from this...
40091 (grub_vbe_bios_set_memory_window): ... to this.
40092 (grub_vbe_get_memory_window): Renamed from this...
40093 (grub_vbe_bios_get_memory_window): ... to this.
40094 (grub_vbe_set_scanline_length): Renamed from this...
40095 (grub_vbe_set_scanline_length): ... to this.
40096 (grub_vbe_get_scanline_length): Renamed from this...
40097 (grub_vbe_bios_get_scanline_length): ... to this.
40098 (grub_vbe_set_display_start): Renamed from this...
40099 (grub_vbe_bios_set_display_start): ... to this.
40100 (grub_vbe_get_display_start): Renamed from this...
40101 (grub_vbe_bios_get_display_start): ... to this.
40102 (grub_vbe_set_palette_data): Renamed from this...
40103 (grub_vbe_bios_set_palette_data): ... to this.
40104 (grub_vbe_bios_get_controller_info): Fixed problem with registers
40105 getting corrupted after calling it. Added more pushes and pops.
40106 (grub_vbe_bios_set_mode): Likewise.
40107 (grub_vbe_bios_get_mode): Likewise.
40108 (grub_vbe_bios_get_memory_window): Likewise.
40109 (grub_vbe_bios_set_scanline_length): Likewise.
40110 (grub_vbe_bios_get_scanline_length): Likewise.
40111 (grub_vbe_bios_get_display_start): Likewise.
40112 (grub_vbe_bios_set_palette_data): Likewise.
40113
40114 * normal/cmdline.c (cl_set_pos): Refresh the screen.
40115 (cl_insert): Likewise.
40116 (cl_delete): Likewise.
40117
40118 * term/gfxterm.c: New file.
40119
40120 * term/i386/pc/vesafb.c: Removed file.
40121
40122 * video/video.c: New file.
40123
40124 * video/i386/pc/vbe.c (real2pm): Added new function.
40125 (grub_video_vbe_draw_pixel): Likewise.
40126 (grub_video_vbe_get_video_ptr): Likewise.
40127 (grub_video_vbe_get_pixel): Likewise
40128 (grub_video_vbe_init): Likewise.
40129 (grub_video_vbe_fini): Likewise.
40130 (grub_video_vbe_setup): Likewise.
40131 (grub_video_vbe_get_info): Likewise.
40132 (grub_video_vbe_set_palette): Likewise.
40133 (grub_video_vbe_get_palette): Likewise.
40134 (grub_video_vbe_set_viewport): Likewise.
40135 (grub_video_vbe_get_viewport): Likewise.
40136 (grub_video_vbe_map_color): Likewise.
40137 (grub_video_vbe_map_rgb): Likewise.
40138 (grub_video_vbe_map_rgba): Likewise.
40139 (grub_video_vbe_unmap_color): Likewise.
40140 (grub_video_vbe_fill_rect): Likewise.
40141 (grub_video_vbe_blit_glyph): Likewise.
40142 (grub_video_vbe_blit_bitmap): Likewise.
40143 (grub_video_vbe_blit_render_target): Likewise.
40144 (grub_video_vbe_scroll): Likewise.
40145 (grub_video_vbe_swap_buffers): Likewise.
40146 (grub_video_vbe_create_render_target): Likewise.
40147 (grub_video_vbe_delete_render_target): Likewise.
40148 (grub_video_vbe_set_active_render_target): Likewise.
40149 (grub_vbe_set_pixel_rgb): Remove function.
40150 (grub_vbe_set_pixel_index): Likewise.
40151 (index_color_mode): Remove static variable.
40152 (active_mode): Likewise.
40153 (framebuffer): Likewise.
40154 (bytes_per_scan_line): Likewise.
40155 (grub_video_vbe_adapter): Added new static variable.
40156 (framebuffer): Likewise.
40157 (render_target): Likewise.
40158 (initial_mode): Likewise.
40159 (mode_in_use): Likewise.
40160 (mode_list): Likewise.
40161
40162 2006-03-10 Marco Gerards <marco@gnu.org>
40163
40164 * configure.ac (AC_INIT): Bumped to 1.93.
40165
40166 * DISTLIST: Added `include/grub/hfs.h'.
40167
40168 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
40169
40170 * boot/i386/pc/boot.S (general_error): Before looping, try INT
40171 18H, which might help the BIOS falling back to next boot media.
40172
40173 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
40174
40175 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
40176 Poe Chen <poe.poechen@gmail.com>.
40177
40178 2006-01-17 Marco Gerards <marco@gnu.org>
40179
40180 * include/grub/normal.h: Include <grub/script.h>.
40181 (grub_command_list): Removed struct.
40182 (grub_command_list_t): Removed type.
40183 (grub_menu_entry): Remove members `num' and `command_list'. Add
40184 members `commands' and `sourcecode'.
40185 * include/grub/script.h: Add inclusion guards.
40186 (grub_script_cmd_menuentry): New struct.
40187 (grub_script_execute_menuentry): New prototype.
40188 (grub_script_lexer_record_start): Likewise.
40189 (grub_script_lexer_record_stop): Likewise.
40190 * normal/execute.c (grub_script_execute_menuentry): New function.
40191 * normal/lexer.c (record, recording, recordpos, recordlen): New
40192 variables.
40193 (grub_script_lexer_record_start): New function.
40194 (grub_script_lexer_record_stop): Likewise.
40195 (recordchar): Likewise.
40196 (nextchar): Likewise.
40197 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
40198 2048 as the buffer size. Add the tokens `menuentry' and `@'.
40199 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
40200 (current_menu): New variable.
40201 (free_menu): Mainly rewritten.
40202 (grub_normal_menu_addentry): New function.
40203 (read_config_file): Rewritten.
40204 * normal/menu.c (run_menu_entry): Mainly rewritten.
40205 * normal/menu_entry.c (make_screen): Rewritten the code to insert
40206 the menu entry.
40207 (run): Mainly rewritten.
40208 * normal/parser.y (menu_entry): New variable.
40209 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
40210 (menuentry): New rule.
40211 (command): Add `menuentry'.
40212 (if_statement): Allow additional returns before `fi'.
40213 * normal/script.c (grub_script_create_cmdmenu): New function.
40214
40215 2006-01-03 Marco Gerards <marco@gnu.org>
40216
40217 * INSTALL: GNU Bison is required.
40218 * configure.ac: Rewritten the test to detect Bison.
40219 * Makefile.in (YACC): New variable. Reported by Xun Sun
40220 <xun.sun.cn@gmail.com>.
40221
40222 2006-01-03 Marco Gerards <marco@gnu.org>
40223
40224 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
40225 the HFS+ filesystem to filesystem blocks.
40226 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
40227 GCC warning is silenced.
40228
40229 2006-01-03 Marco Gerards <marco@gnu.org>
40230
40231 * partmap/apple.c (apple_partition_map_iterate): Convert the data
40232 read from disk from big endian to host byte order.
40233
40234 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
40235
40236 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
40237 documentation.
40238 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
40239 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
40240 embedded HFS+ filesystem.
40241 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
40242 (grub_hfs_sblock): Move from here...
40243 * include/grub/hfs.h: To here... New file.
40244 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
40245 documentation.
40246 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
40247 New macros.
40248 (grub_hfsplus_volheader): Change type of member `magic' to
40249 `grub_uint16_t'.
40250 (grub_hfsplus_data): Add new member `embedded_offset'.
40251 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
40252 returned block.
40253 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
40254 Calculate the offset.
40255
40256 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40257
40258 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
40259 Removed.
40260 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
40261
40262 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40263
40264 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
40265 ENV->NAME is NULL after allocating ENV->VALUE.
40266
40267 2005-12-25 Marco Gerards <marco@gnu.org>
40268
40269 * kern/env.c (grub_env_set): Rewritten the error handling code.
40270
40271 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40272
40273 * geninit.sh: Made more robust, and more portable.
40274
40275 2005-12-25 Marco Gerards <marco@gnu.org>
40276
40277 Add support for Apple HFS+ filesystems.
40278
40279 * fs/hfsplus.c: New file.
40280
40281 * DISTLIST: Added `fs/hfsplus.c'.
40282
40283 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
40284 (hfsplus_mod_SOURCES): New variable.
40285 (hfsplus_mod_CFLAGS): Likewise.
40286 (hfsplus_mod_LDFLAGS): Likewise.
40287 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
40288 (grub_setup_SOURCES): Likewise.
40289 (grub_mkdevicemap_SOURCES): Likewise.
40290 (grub_emu_SOURCES): Likewise.
40291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40292
40293 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
40294
40295 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
40296
40297 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40298
40299 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
40300 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
40301 include/grub/parser.h, include/grub/script.h, kern/parser.c,
40302 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
40303 normal/lexer.c, normal/parser.y, normal/script.c, and
40304 partmap/gpt.c.
40305 Removed kern/sparc64/cache.c.
40306
40307 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
40308 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
40309 grub_emu_init.c.
40310
40311 * configure.ac (AC_INIT): Bumped to 1.92.
40312
40313 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
40314
40315 * kern/err.c (grub_error_push): Added new function to support error
40316 stacks.
40317 (grub_error_pop): Likewise.
40318 (grub_error_stack_items): New local variable to support error stacks.
40319 (grub_error_stack_pos): Likewise.
40320 (grub_error_stack_assert): Likewise.
40321 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
40322 stack depth.
40323 (grub_print_error): Added support to print errors from error stack.
40324
40325 * include/grub/err.h (grub_error_push): Added function prototype.
40326 (grub_error_pop): Likewise.
40327
40328 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
40329
40330 * configure.ac: Accept `powerpc64' as host_cpu.
40331 (amd64): Rename to `biarch32'.
40332
40333 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
40334 non-cacheline-aligned addresses.
40335
40336 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
40337 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
40338 if `size' is non-zero.
40339
40340 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
40341
40342 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
40343 and `cd' to make sure the filename is not prefixed with a
40344 directory name.
40345 (pkgdata_MODULES): Add `gpt.mod'.
40346 (gpt_mod_SOURCES): New variable.
40347 (gpt_mod_CFLAGS): Likewise.
40348 (gpt_mod_LDFLAGS): Likewise.
40349
40350 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
40351
40352 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
40353 New macro.
40354
40355 * partmap/gpt.c: New file.
40356
40357 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
40358 GPT partition map is detected.
40359
40360 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
40361
40362 * commands/i386/pc/play.c: New file.
40363 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
40364 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
40365 macros.
40366
40367 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
40368
40369 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
40370 ((unused))' to silence gcc warning.
40371
40372 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
40373
40374 * configure.ac: Correct `AC_PROG_YACC' test.
40375
40376 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40377
40378 * util/powerpc/ieee1275/grub-install.in: Run the mount point
40379 check before installing files.
40380
40381 2005-11-22 Mike Small <smallm@panix.com>
40382
40383 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
40384 number regex so multidigit numbers are recognized correctly.
40385
40386 2005-11-22 Mike Small <smallm@panix.com>
40387
40388 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
40389 debugging message before attempting to claim memory.
40390 (grub_rescue_cmd_initrd): Add a claim debugging message and try
40391 multiple addresses in case of failure.
40392
40393 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40394
40395 * term/tparm.c (get_space): Remove empty `if' statement.
40396
40397 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
40398
40399 * kern/parser.c (check_varstate): Rename `state' to 's'.
40400
40401 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40402
40403 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
40404 variable definitions to the beginning of each function. Sort stack
40405 variables by size.
40406 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
40407 `buf' argument to `char *'.
40408
40409 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40410
40411 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
40412 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
40413 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
40414 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40415 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40416 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40417 configfile.mod, search.mod, gzio.mod and test.mod.
40418 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40419 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40420 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40421 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40422 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40423 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40424 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40425 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40426 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40427 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40428 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40429 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40430 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40431 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40432 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40433 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40434 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40435 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40436 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40437 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40438 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40439 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40440 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
40441
40442 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
40443 `grep --include'.
40444 (pkgdata_MODULES): Add test.mod.
40445
40446 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40447
40448 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
40449 appending to variables with "+=".
40450 (PModule): Use full pathname to generate *.lst filenames.
40451
40452 * Makefile.in: Fixed list rules moved from genmk.rb.
40453 (.DELETE_ON_ERROR): New special target.
40454 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
40455
40456 * conf/i386-pc.rmk: Include conf/common.mk.
40457 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
40458 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
40459 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40460 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40461 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40462 configfile.mod, search.mod, gzio.mod and test.mod.
40463 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40464 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40465 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40466 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40467 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40468 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40469 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40470 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40471 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40472 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40473 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40474 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40475 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40476 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40477 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40478 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40479 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40480 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40481 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40482 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40483 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40484 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40485 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
40486 here...
40487 * conf/common.rmk: ... to here. New file.
40488
40489 * conf/common.mk: New file.
40490
40491 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
40492
40493 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
40494 (grub_script.tab.c): ... here.
40495
40496 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40497 (grub_script.tab.c): ... here.
40498
40499 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40500 (grub_script.tab.c): ... here.
40501
40502 * normal/command.c (grub_command_find): Fixed a memory leak of
40503 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40504
40505 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40506
40507 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40508 "@" which marks the start of a comment on ARM.
40509 (VARIABLE): Likewise.
40510
40511 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40512
40513 Add support for Linux/ADFS partition tables.
40514
40515 * partmap/acorn.c: New file.
40516
40517 * include/grub/acorn_filecore.h: Likewise.
40518
40519 * DISTLIST: Added `partmap/acorn.c' and
40520 `include/grub/acorn_filecore.h'.
40521
40522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40523 `partmap/acorn.c'.
40524 (pkgdata_MODULES): Add `acorn.mod'.
40525 (acorn_mod_SOURCES): New variable.
40526 (acorn_mod_CFLAGS): Likewise.
40527
40528 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40529 `partmap/acorn.c'.
40530 (pkgdata_MODULES): Add `acorn.mod'.
40531 (acorn_mod_SOURCES): New variable.
40532 (acorn_mod_CFLAGS): Likewise.
40533
40534 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40535 (pkgdata_MODULES): Add `acorn.mod'.
40536 (acorn_mod_SOURCES): New variable.
40537 (acorn_mod_CFLAGS): Likewise.
40538 (acorn_mod_LDFLAGS): Likewise.
40539
40540 * include/types.h (grub_disk_addr_t): New typedef.
40541
40542 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
40543
40544 * geninit.sh: New file.
40545
40546 * geninitheader.sh: Likewise.
40547
40548 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40549 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40550 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40551 * commands/configfile.c (grub_configfile_init)
40552 (grub_configfile_fini): Likewise.
40553 * commands/default.c (grub_default_init, grub_default_fini):
40554 Likewise.
40555 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40556 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40557 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40558 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40559 Likewise.
40560 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40561 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40562 Likewise.
40563 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
40564 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
40565 Likewise.
40566 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40567 Likewise.
40568 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
40569 Likewise.
40570 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40571 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40572 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40573 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40574 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40575 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40576 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40577 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40578 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40579 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40580 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40581 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40582 * partmap/amiga.c (grub_amiga_partition_map_init)
40583 (grub_amiga_partition_map_fini): Likewise.
40584 * partmap/apple.c (grub_apple_partition_map_init)
40585 (grub_apple_partition_map_fini): Likewise.
40586 * partmap/pc.c (grub_pc_partition_map_init)
40587 (grub_pc_partition_map_fini): Likewise.
40588 * partmap/sun.c (grub_sun_partition_map_init,
40589 grub_sun_partition_map_fini): Likewise.
40590 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40591 Likewise.
40592
40593 * util/grub-emu.c: Include <grub_modules_init.h>.
40594 (main): Don't initialize and de-initialize any modules directly,
40595 use `grub_init_all' and `grub_fini_all' instead.
40596
40597 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40598 `grub_vesafb_mod_init'.
40599 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40600 all users.
40601 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40602 `grub_vga_mod_init'. Updated all users.
40603 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
40604
40605 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40606 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40607 rules.
40608
40609 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40610 Generate a function to initialize the module in utilities.
40611 Updated all callers.
40612 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40613 initialize the module in utilities. Updated all callers.
40614
40615 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40616
40617 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40618 escape sequence and a literal ^L to clear the screen.
40619
40620 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40621 when returning from Open Firmware.
40622
40623 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40624
40625 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40626 (grub_ofconsole_height): Likewise.
40627 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40628 manually insert a '\n'.
40629 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40630 `grub_ofconsole_height'. Return early if these are already set.
40631
40632 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40633
40634 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40635 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40636 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40637 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40638 and `normal/script.c'.
40639 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40640 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40641 (test_mod_SOURCES): New variable.
40642 (test_mod_CFLAGS): Likewise.
40643 (test_mod_LDFLAGS): Likewise.
40644 (pkgdata_MODULES): Add `test.mod'.
40645 (grub_script.tab.c): New rule.
40646 (grub_script.tab.h): Likewise.
40647
40648 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
40649
40650 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40651 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40652 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40653 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40654 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40655 (test_mod_SOURCES): New variable.
40656 (test_mod_CFLAGS): Likewise.
40657 (pkgdata_MODULES): Add `test.mod'.
40658 (grub_script.tab.c): New rule.
40659 (grub_script.tab.h): Likewise.
40660
40661 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
40662
40663 Add initial scripting support.
40664
40665 * commands/test.c: New file.
40666 * include/grub/script.h: Likewise.
40667 * normal/execute.c: Likewise.
40668 * normal/function.c: Likewise.
40669 * normal/lexer.c: Likewise.
40670 * normal/parser.y: Likewise.
40671 * normal/script.c: Likewise.
40672
40673 * configure.ac: Add `AC_PROG_YACC' test.
40674
40675 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
40676 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
40677 `normal/function.c' and `normal/script.c'.
40678 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40679 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40680 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
40681 variables.
40682 (pkgdata_MODULES): Add `test.mod'.
40683 (grub_script.tab.c): New rule.
40684 (grub_script.tab.h): Likewise.
40685
40686 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
40687
40688 * include/grub/normal.h (grub_test_init): New prototype.
40689 (grub_test_fini): Likewise.
40690
40691 * normal/command.c: Include <grub/script.h>.
40692 (grub_command_execute): Rewritten.
40693
40694 * util/grub-emu.c (main): Call `grub_test_init' and
40695 `grub_test_fini'.
40696
40697 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40698
40699 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
40700 to 0.
40701 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
40702 there are no pending characters.
40703
40704 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40705
40706 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
40707 `grub_strndup' to drop device arguments. Replace unnecessary
40708 `grub_strndup' with `grub_strdup'.
40709
40710 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40711
40712 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
40713 `debug' environment variable has been set.
40714
40715 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
40716
40717 * Makefile.in (install-local): Use $(DATA).
40718 (uninstall): Likewise.
40719 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
40720 (sbin_UTILITIES): ... to here.
40721 (sbin_SCRIPTS): New variable.
40722 (grub_install_SOURCES): New variable.
40723 * util/powerpc/ieee1275/grub-install.in: New file.
40724 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
40725 variable.
40726 (add_segments): Call `grub_util_get_path'.
40727
40728 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40729
40730 From Timothy Baldwin:
40731 * commands/ls.c (grub_ls_list_files): Close FILE with
40732 grub_file_close.
40733 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
40734
40735 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
40736
40737 * include/grub/parser.h: New file.
40738
40739 * kern/parser.c: Likewise.
40740
40741 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
40742 (grub_setup_SOURCES): Likewise.
40743 (grub_probefs_SOURCES): Likewise.
40744 (grub_emu_SOURCES): Likewise.
40745 (kernel_img_HEADERS): Add `parser.h'.
40746
40747 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40748 (grub_emu_SOURCES): Add `kern/parser.c'.
40749 (grubof_SOURCES): Likewise.
40750
40751 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40752 (grubof_SOURCES): Add `kern/parser.c'.
40753
40754 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40755
40756 * kern/misc.c (grub_split_cmdline): Removed function.
40757
40758 * kern/rescue.c: Include <grub/parser.h>.
40759 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40760 of `grub_split_cmdline'.
40761
40762 * normal/command.c: Include <grub/parser.h>.
40763 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40764 of `grub_split_cmdline'.
40765
40766 * normal/completion.c: Include <grub/parser.h>.
40767 (cmdline_state): New variable.
40768 (iterate_dir): End the filename with a quote depending on the
40769 command line state.
40770 (get_state): new function.
40771 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40772 split the arguments and determine the current argument. When the
40773 argument string is not quoted, escape all spaces.
40774
40775 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40776
40777 * normal/sparc64/setjmp.S: New file.
40778
40779 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40780
40781 * include/grub/sparc64/libgcc.h: New file.
40782 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
40783 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
40784 normal/sparc64/setjmp.c.
40785
40786 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40787
40788 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
40789 * kern/sparc64/cache.S: New file.
40790 * kern/sparc64/cache.c: Removed.
40791 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
40792 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
40793 -mtune=ultrasparc.
40794 (COMMON_LDFLAGS): Add -melf64_sparc.
40795 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
40796 (grubof_SOURCES): Use cache.S instead of cache.c.
40797 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
40798 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
40799 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
40800 commented though.
40801 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
40802 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
40803 (linux_mod_CFLAGS): Commented out.
40804 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
40805 out because module isn't built.
40806 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
40807 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
40808 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
40809 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
40810 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
40811 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40812 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40813 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
40814 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
40815 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
40816 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40817 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40818 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
40819 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
40820
40821 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
40822
40823 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
40824 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
40825 longer, because HFS should not be used on PC.
40826
40827 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40828
40829 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
40830 consistently within the loop.
40831
40832 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
40833
40834 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
40835 directory can not be read.
40836
40837 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40838
40839 * configure.ac (AC_INIT): Increase the version number to 1.91.
40840
40841 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
40842 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
40843 term/i386/pc/serial.c.
40844
40845 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40846
40847 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
40848 file size must be permitted.
40849
40850 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
40851 between %ah and %al.
40852
40853 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40854
40855 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
40856 grub_uint64_t.
40857 Call the hook with a NUL-terminated filename.
40858 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
40859 grub_cpu_to_be32.
40860
40861 * kern/term.c (cursor_state): New variable.
40862 (grub_term_set_current): Reset the cursor state on a new
40863 terminal.
40864 (grub_setcursor): Rewritten to use CURSOR_STATE.
40865 (grub_getcursor): New function.
40866
40867 * include/grub/term.h (grub_getcursor): New prototype.
40868
40869 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
40870 integers on ARM. Reported by Timothy Baldwin
40871 <T.E.Baldwin99@members.leeds.ac.uk>.
40872
40873 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
40874
40875 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
40876 allocated.
40877 (grub_sfs_dir): Likewise.
40878
40879 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
40880
40881 Add support for the SFS filesystem.
40882
40883 * fs/sfs.c: New file.
40884
40885 * DISTLIST: Added `fs/sfs.c'.
40886
40887 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
40888 (grub_probefs_SOURCES): Likewise.
40889 (grub_emu_SOURCES): Likewise.
40890 (pkgdata_MODULES): Add `sfs.mod'.
40891 (sfs_mod_SOURCES): New variable.
40892 (sfs_mod_CFLAGS): Likewise.
40893 (sfs_mod_LDFLAGS): Likewise.
40894
40895 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
40896 (pkgdata_MODULES): Add `sfs.mod'.
40897 (sfs_mod_SOURCES): New variable.
40898 (sfs_mod_CFLAGS): Likewise.
40899
40900 * util/grub-emu.c (main): Call `grub_sfs_init' and
40901 `grub_sfs_fini'.
40902
40903 * include/grub/fs.h (grub_sfs_init): New prototype.
40904 (grub_sfs_fini): Likewise.
40905
40906 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
40907
40908 Add support for the AFFS filesystem.
40909
40910 * fs/affs.c: New file.
40911
40912 * DISTLIST: Added `fs/affs.c'.
40913
40914 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
40915 (grub_probefs_SOURCES): Likewise.
40916 (grub_emu_SOURCES): Likewise.
40917 (pkgdata_MODULES): Add `affs.mod'.
40918 (affs_mod_SOURCES): New variable.
40919 (affs_mod_CFLAGS): Likewise.
40920 (affs_mod_LDFLAGS): Likewise.
40921
40922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
40923 (pkgdata_MODULES): Add `affs.mod'.
40924 (affs_mod_SOURCES): New variable.
40925 (affs_mod_CFLAGS): Likewise.
40926
40927 * util/grub-emu.c (main): Call `grub_affs_init' and
40928 `grub_affs_fini'.
40929
40930 * include/grub/fs.h (grub_affs_init): New prototype.
40931 (grub_affs_fini): Likewise.
40932
40933 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
40934
40935 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
40936
40937 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
40938
40939 * configure.ac: Accept `x86_64' as host_cpu. In that case add
40940 `-m32' to CFLAGS.
40941
40942 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
40943 linking.
40944
40945 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
40946 (COMMON_LDFLAGS): New variable.
40947 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
40948 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
40949 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
40950 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
40951 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
40952 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
40953 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
40954 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
40955 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
40956 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
40957 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40958 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40959 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
40960 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
40961 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
40962 variables.
40963 (normal_mod_ASFLAGS): Add `-m32'.
40964
40965 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
40966 (grub_host_size_t, grub_host_ssize_t): New types.
40967 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
40968 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
40969 `GRUB_HOST_SIZEOF_VOID_P'.
40970
40971 * include/grub/kernel.h (struct grub_module_header): Type of
40972 member offset changed to `grub_host_off_t'. Type of member size
40973 changed to `grub_host_size_t'.
40974 (struct grub_module_info): Type of member offset changed to
40975 `grub_host_off_t'. Type of member size changed to
40976 `grub_host_size_t'.
40977
40978 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
40979
40980 Make GRUB's kernel compliant to Multiboot Specification.
40981
40982 * kern/i386/pc/startup.S (multiboot_header): New label.
40983 (multiboot_entry): Likewise.
40984 (multiboot_trampoline): Likewise.
40985
40986 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40987 Increased to 0x4A0.
40988
40989 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
40990 put parentheses after a question mark.
40991 [!GRUB_UTIL] (my_mod): New variable.
40992
40993 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
40994
40995 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
40996
40997 Adds support for the XFS filesystem. Btrees are not supported
40998 yet.
40999
41000 * fs/xfs.c: New file.
41001
41002 * DISTLIST: Added `fs/xfs.c'.
41003
41004 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
41005 (grub_probefs_SOURCES): Likewise.
41006 (grub_emu_SOURCES): Likewise.
41007 (pkgdata_MODULES): Add `xfs.mod'.
41008 (xfs_mod_SOURCES): New variable.
41009 (xfs_mod_CFLAGS): Likewise.
41010
41011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
41012 (pkgdata_MODULES): Add `xfs.mod'.
41013 (xfs_mod_SOURCES): New variable.
41014 (xfs_mod_CFLAGS): Likewise.
41015
41016 * util/grub-emu.c (main): Call `grub_xfs_init' and
41017 `grub_xfs_fini'.
41018
41019 * include/grub/fs.h (grub_xfs_init): New prototype.
41020 (grub_xfs_fini): Likewise.
41021
41022
41023 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
41024
41025 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
41026 color modes, allow greater than 16 colors to be configured as
41027 a default palette.
41028
41029 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41030
41031 * normal/completion.c (complete_arguments): Add the qualifier
41032 const into OPTIONS.
41033
41034 From Omniflux <omniflux+lists@omniflux.com>:
41035 * include/grub/terminfo.h: New file.
41036 * include/grub/tparm.h: Likewise.
41037 * include/grub/i386/pc/serial.h: Likewise.
41038 * term/terminfo.c: Likewise.
41039 * term/tparm.c: Likewise.
41040 * term/i386/pc/serial.c: Likewise.
41041 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
41042 serial.mod.
41043 (terminfo_mod_SOURCES): New variable.
41044 (terminfo_mod_CFLAGS): Likewise.
41045 (serial_mod_SOURCES): Likewise.
41046 (serial_mod_CFLAGS): Likewise.
41047
41048 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
41049
41050 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
41051 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
41052 and kern/powerpc/ieee1275/cmain.c, respectively.
41053
41054 * boot/powerpc/ieee1275/crt0.S: Moved to ...
41055 * kern/powerpc/ieee1275/crt0.S: ... here.
41056
41057 * boot/powerpc/ieee1275/cmain.c: Moved to ...
41058 * kern/powerpc/ieee1275/cmain.c: ... here.
41059
41060 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
41061 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
41062 instead of boot/powerpc/ieee1275/crt0.S and
41063 boot/powerpc/ieee1275/cmain.c, respectively.
41064
41065 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
41066 sectors. It was not used anyway.
41067
41068 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41069
41070 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
41071 `unused parameter' warning.
41072
41073 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41074
41075 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
41076 function.
41077 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
41078 getcharwidth.
41079
41080 2005-08-28 Marco Gerards <metgerards@student.han.nl>
41081
41082 * include/grub/normal.h (enum grub_completion_type): Added
41083 `GRUB_COMPLETION_TYPE_ARGUMENT'.
41084
41085 * normal/cmdline.c (print_completion): Handle
41086 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
41087 * normal/menu_entry.c (store_completion): Likewise.
41088
41089 * normal/completion.c (complete_arguments): New function.
41090 (grub_normal_do_completion): Call `complete_arguments' when the
41091 current words start with a dash.
41092
41093 2005-08-27 Marco Gerards <metgerards@student.han.nl>
41094
41095 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
41096 `gzio.mod' instead of `io.mod').
41097
41098 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
41099
41100 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
41101 (DISTDIRS): Added io and video.
41102 Rewrite the search routine to make an output consistently.
41103
41104 * DISTLIST: Added conf/sparc64-ieee1275.mk,
41105 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
41106 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
41107 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
41108 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
41109 util/powerpc/ieee1275/misc.c.
41110
41111 * include/grub/gzio.h: New file.
41112 * io/gzio.c: Likewise.
41113
41114 * kern/file.c (grub_file_close): Call grub_device_close only if
41115 FILE->DEVICE is not NULL.
41116
41117 * include/grub/mm.h [!NULL] (NULL): New macro.
41118
41119 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
41120
41121 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
41122 (pkgdata_MODULES): Added gzio.mod.
41123 (gzio_mod_SOURCES): New variable.
41124 (gzio_mod_CFLAGS): Likewise.
41125
41126 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
41127 (pkgdata_MODULES): Added gzio.mod.
41128 (gzio_mod_SOURCES): New variable.
41129 (gzio_mod_CFLAGS): Likewise.
41130
41131 * commands/cat.c: Include grub/gzio.h.
41132 (grub_cmd_cat): Use grub_gzfile_open instead of
41133 grub_file_open.
41134
41135 * commands/cmp.c: Include grub/gzio.h.
41136 (grub_cmd_cmp): Use grub_gzfile_open instead of
41137 grub_file_open.
41138
41139 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
41140 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
41141 grub_file_open.
41142 (grub_rescue_cmd_module): Likewise.
41143
41144 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41145
41146 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
41147 kern/sparc64/ieee1275/init.c because it contains _start.
41148 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
41149
41150 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41151
41152 * configure.ac: Add support for sparc64 host with ieee1275
41153 firmware.
41154 * configure: Generated from configure.ac.
41155 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
41156 instead of int.
41157 (grub_ofdisk_read): Likewise.
41158 (grub_ofdisk_open): Use %p to print pointer values, and cast the
41159 pointers as (void *) to remove a warning.
41160 (grub_ofdisk_close): Likewise.
41161 (grub_ofdisk_read): Likewise.
41162 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
41163 returns, so make it return void to remove a warning.
41164 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
41165 Corresponding prototype change.
41166 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
41167 values, and cast the pointers as (void *) to remove a warning.
41168 (grub_mm_dump): Likewise.
41169 * conf/sparc64-ieee1275.mk: New file.
41170 * conf/sparc64-ieee1275.rmk: Likewise.
41171 * include/grub/sparc64/setjmp.h: Likewise.
41172 * include/grub/sparc64/types.h: Likewise.
41173 * include/grub/sparc64/ieee1275/console.h: Likewise.
41174 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41175 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41176 * include/grub/sparc64/ieee1275/time.h: Likewise.
41177 * kern/sparc64/cache.c: Likewise.
41178 * kern/sparc64/dl.c: Likewise.
41179 * kern/sparc64/ieee1275/init.c: Likewise.
41180 * kern/sparc64/ieee1275/openfw.c: Likewise.
41181
41182 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41183
41184 * util/console.c (grub_ncurses_putchar): If C is greater than
41185 0x7f, set C to a question mark.
41186 (grub_ncurses_getcharwidth): New function.
41187 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
41188 getcharwidth.
41189
41190 * normal/menu.c (print_entry): Made aware of Unicode. First,
41191 convert TITLE to UCS-4, and predict the cursor position by
41192 grub_getcharwidth.
41193
41194 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
41195 const to SRC.
41196 * kern/misc.c (grub_utf16_to_utf8): Likewise.
41197
41198 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41199
41200 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
41201 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41202 grub_strcat.
41203
41204 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
41205 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41206 grub_strcpy and grub_strlen. Take it into account that a space
41207 character is inserted as a delimiter.
41208
41209 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41210
41211 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
41212 invalid magic in the error.
41213
41214 * commands/search.c: New file.
41215
41216 * util/grub-emu.c (main): Call grub_search_init and
41217 grub_search_fini.
41218
41219 * kern/rescue.c (grub_rescue_print_disks): Removed.
41220 (grub_rescue_print_devices): New function.
41221 (grub_rescue_cmd_ls): Use grub_device_iterate with
41222 grub_rescue_print_devices instead of grub_disk_dev_iterate with
41223 grub_rescue_print_disks.
41224
41225 * kern/partition.c (grub_partition_iterate): Return the result of
41226 PARTMAP->ITERATE instead of GRUB_ERRNO.
41227
41228 * kern/device.c: Include grub/partition.h.
41229 (grub_device_iterate): New function.
41230
41231 * include/grub/partition.h (grub_partition_iterate): Return int
41232 instead of grub_err_t.
41233
41234 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
41235 prototype.
41236 [GRUB_UTIL] (grub_search_fini): Likewise.
41237
41238 * include/grub/device.h (grub_device_iterate): New prototype.
41239
41240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41241 commands/search.c.
41242 (pkgdata_MODULES): Added search.mod.
41243 (search_mod_SOURCES): New variable.
41244 (search_mod_CFLAGS): Likewise.
41245
41246 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
41247 (pkgdata_MODULES): Added search.mod.
41248 (search_mod_SOURCES): New variable.
41249 (search_mod_CFLAGS): Likewise.
41250
41251 * commands/ls.c (grub_ls_list_disks): Renamed to ...
41252 (grub_ls_list_devices): ... this, and use grub_device_iterate.
41253 All callers changed.
41254
41255 * DISTLIST: Added commands/search.c.
41256
41257 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41258
41259 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
41260 conversion.
41261 (grub_getcharwidth): New function.
41262
41263 * kern/misc.c (grub_utf8_to_ucs4): New function.
41264
41265 * include/grub/term.h (struct grub_term): Added a new member
41266 "getcharwidth".
41267 (grub_getcharwidth): New prototype.
41268
41269 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
41270
41271 * term/i386/pc/console.c (map_char): New function. Segregated from
41272 grub_console_putchar.
41273 (grub_console_putchar): Use map_char.
41274 (grub_console_getcharwidth): New function.
41275 (grub_console_term): Specified grub_console_getcharwidth as
41276 getcharwidth.
41277
41278 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
41279 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
41280
41281 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
41282 GRUB_ERRNO.
41283 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
41284 on grub_strtoul completely.
41285 (write_char): Declare local variables in the beginning of the
41286 function.
41287 (grub_vesafb_getcharwidth): New function.
41288 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
41289 getcharwidth.
41290
41291 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
41292
41293 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
41294 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
41295 commands/i386/pc/vbetest.c.
41296
41297 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
41298 call grub_vbe_get_controller_info again, because the returned
41299 information is volatile.
41300 (grub_vbe_set_video_mode): Mostly rewritten.
41301 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
41302 grub_vbe_status_t correctly.
41303 (grub_vbe_get_video_mode_info): Likewise.
41304 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
41305 several if statements.
41306
41307 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
41308 * commands/i386/pc/vbeinfo.c: ... this.
41309
41310 * commands/i386/pc/vbe_test.c: Renamed to ...
41311 * commands/i386/pc/vbetest.c: ... this.
41312
41313 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
41314 ...
41315 (grub_cmd_vbeinfo): ... this. Save video modes before
41316 iterating. Skip a video mode, if it is not available, not enough
41317 information is given or it is monochrome. Show the memory
41318 model. Leave the interpretation of MODEVAR to grub_strtoul
41319 completely.
41320 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
41321 (GRUB_MOD_FINI): Likewise.
41322
41323 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
41324 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
41325 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
41326 duplicated grub_env_get. Leave the interpretation of MODEVAR to
41327 grub_strtoul completely.
41328 (real2pm): Removed.
41329 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
41330 (GRUB_MOD_FINI): Likewise.
41331
41332 * normal/misc.c: Include grub/mm.h.
41333
41334 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
41335 vbe_list_modes with vbetest.mod and vbeinfo.mod.
41336 (vbe_list_modes_mod_SOURCES): Removed.
41337 (vbe_list_modes_mod_CFLAGS): Likewise.
41338 (vbe_test_mod_SOURCES): Likewise.
41339 (vbe_test_mod_CFLAGS): Likewise.
41340 (vbeinfo_mod_SOURCES): New variable.
41341 (vbeinfo_mod_CFLAGS): Likewise.
41342 (vbetest_mod_SOURCES): Likewise.
41343 (vbetest_mod_CFLAGS): Likewise.
41344
41345 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
41346
41347 * normal/misc.c: New file.
41348
41349 * DISTLIST: Added normal/misc.c.
41350
41351 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
41352 DISK to HOOK. Call HOOK with DISK.
41353 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41354 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41355 * partmap/sun.c (sun_partition_map_iterate): Likewise.
41356
41357 * normal/menu_entry.c (struct screen): Added a new member
41358 "completion_shown".
41359 (completion_buffer): New global variable.
41360 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
41361 (store_completion): New function.
41362 (complete): Likewise.
41363 (clear_completions): Likewise.
41364 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
41365 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
41366 a tab, call complete.
41367
41368 * normal/completion.c (disk_dev): Removed.
41369 (print_simple_completion): Likewise.
41370 (print_partition_completion): Likewise.
41371 (print_func): New global variable.
41372 (add_completion): Do not take the arguments WHAT or PRINT any
41373 longer. Added a new argument TYPE. Instead of printing directly,
41374 call PRINT_FUNC if not NULL.
41375 All callers changed.
41376 (complete_device): Use a local variable DEV instead of
41377 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
41378 (grub_normal_do_completion): Take a new argument HOOK. Do not
41379 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
41380 empty string, return NULL instead.
41381 All callers changed.
41382
41383 * normal/cmdline.c (print_completion): New function.
41384
41385 * kern/partition.c (grub_partition_iterate): Add an argument DISK
41386 to HOOK.
41387 All callers changed.
41388
41389 * kern/disk.c (grub_print_partinfo): Removed.
41390
41391 * include/grub/partition.h (struct grub_partition_map): Add a new
41392 argument DISK into HOOK of ITERATE.
41393 (grub_partition_iterate): Add a new argument DISK to HOOK.
41394
41395 * include/grub/normal.h (enum grub_completion_type): New enum.
41396 (grub_completion_type_t): New type.
41397 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
41398 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
41399 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
41400 (GRUB_COMPLETION_TYPE_FILE): Likewise.
41401 (grub_normal_do_completion): Added a new argument HOOK.
41402 (grub_normal_print_device_info): New prototype.
41403
41404 * include/grub/disk.h (grub_print_partinfo): Removed.
41405
41406 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
41407 (normal_mod_SOURCES): Likewise.
41408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41409 (normal_mod_SOURCES): Likewise.
41410
41411 * commands/ls.c (grub_ls_list_disks): Use
41412 grub_normal_print_device_info instead of grub_print_partinfo. Free
41413 PNAME.
41414 (grub_ls_list_files): Use grub_normal_print_device_info instead of
41415 duplicating the code.
41416
41417 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41418
41419 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
41420 follow GCS more precisely.
41421 * commands/i386/pc/vbe_test.c: Likewise.
41422 * include/grub/i386/pc/vbe.h: Likewise.
41423 * term/i386/pc/vesafb.c: Likewise.
41424 * video/i386/pc/vbe.c: Likewise.
41425
41426 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41427
41428 * DISTLIST: Added term/i386/pc/vesafb.c
41429 DISTLIST: Added video/i386/pc/vbe.c
41430 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
41431 DISTLIST: Added commands/i386/pc/vbe_test.c.
41432 * commands/i386/pc/vbe_list_modes.c: New file.
41433 * commands/i386/pc/vbe_test.c: Likewise.
41434 * term/i386/pc/vesafb.c: Likewise.
41435 * video/i386/pc/vbe.c: Likewise.
41436 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
41437 (grub_vbe_probe) Added prototype.
41438 (grub_vbe_set_video_mode) Likewise.
41439 (grub_vbe_get_video_mode) Likewise.
41440 (grub_vbe_get_video_mode_info) Likewise.
41441 (grub_vbe_set_pixel_rgb) Likewise.
41442 (grub_vbe_set_pixel_index) Likewise.
41443 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
41444 (pkgdata_MODULES): Added vesafb.mod.
41445 (pkgdata_MODULES): Added vbe_list_modes.mod.
41446 (pkgdata_MODULES): Added vbe_test.mod.
41447 (vbe_mod_SOURCES): Added.
41448 (vbe_mod_CFLAGS): Likewise.
41449 (vesafb_mod_SOURCES): Likewise.
41450 (vesafb_mod_CFLAGS): Likewise.
41451 (vbe_list_modes_mod_SOURCES): Likewise.
41452 (vbe_list_modes_mod_CFLAGS): Likewise.
41453 (vbe_test_mod_SOURCES): Likewise.
41454 (vbe_test_mod_CFLAGS): Likewise.
41455
41456 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
41457
41458 * normal/command.c (grub_command_execute): If INTERACTIVE is
41459 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
41460 CMDLINE. Disable the pager if INTERACTIVE is true.
41461 All callers are changed.
41462
41463 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
41464 before reading a config file.
41465 * normal/main.c (read_config_file): Even if a command is not
41466 found, register it if it is within an entry.
41467
41468 * util/grub-emu.c: Include sys/types.h and unistd.h.
41469 (options): Added --hold.
41470 (struct arguments): Added a new member "hold".
41471 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
41472 missing.
41473 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
41474 cleared by a debugger, if it is not zero.
41475
41476 * include/grub/normal.h (grub_command_execute): Add an argument
41477 INTERACTIVE.
41478
41479 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
41480
41481 * DISTLIST: Added include/grub/i386/pc/vbe.h.
41482
41483 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
41484
41485 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
41486 program with another one, because the old one didn't detect a bug
41487 in gcc-3.4. Always use regparm 2, because the new test is still
41488 not enough for gcc-4.0. Someone must investigate a simple test
41489 case which detects a bug in gcc-4.0.
41490
41491 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
41492
41493 * DISTLIST: Added normal/completion.c.
41494
41495 * normal/completion.c: New file.
41496
41497 * term/i386/pc/console.c (grub_console_getwh): New function.
41498 (grub_console_term): Assign grub_console_getwh to getwh.
41499
41500 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41501 function is defined in normal/completion.c as
41502 grub_normal_do_completion.
41503 (grub_cmdline_get): Use grub_normal_do_completion instead of
41504 grub_tab_complete.
41505
41506 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41507 returns non-zero, otherwise return 0.
41508 (grub_partition_iterate): First, probe the partition map. Then,
41509 call ITERATE only for this partition map.
41510
41511 * kern/misc.c (grub_strncmp): Rewritten.
41512
41513 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41514 returns non-zero. Otherwise return 0.
41515
41516 * include/grub/partition.h (grub_partition_map_iterate): Return
41517 int instead of void.
41518
41519 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41520
41521 * include/grub/misc.h (grub_strncmp): Change the type of N to
41522 grub_size_t.
41523
41524 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41525 of void.
41526
41527 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
41528 unsigned explicitly before comparing it with I.
41529
41530 * kern/main.c (grub_env_write_root): Add the attribute unused into
41531 VAR.
41532
41533 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41534 normal/completion.c.
41535 (normal_mod_SOURCES): Likewise.
41536 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41537 (normal_mod_SOURCES): Likewise.
41538
41539 * normal/command.c (grub_iterate_commands): If ITERATE returns
41540 non-zero, return one immediately.
41541
41542 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41543
41544 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41545 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41546 descriptions.
41547 (grub_vbe_get_controller_info): New function.
41548 (grub_vbe_get_mode_info): Likewise.
41549 (grub_vbe_set_mode): Likewise.
41550 (grub_vbe_get_mode): Likewise.
41551 (grub_vbe_set_memory_window): Likewise.
41552 (grub_vbe_get_memory_window): Likewise.
41553 (grub_vbe_set_scanline_length): Likewise.
41554 (grub_vbe_get_scanline_length): Likewise.
41555 (grub_vbe_set_display_start): Likewise.
41556 (grub_vbe_get_display_start): Likewise.
41557 (grub_vbe_set_palette_data): Likewise.
41558 * include/grub/i386/pc/vbe.h: New file.
41559
41560 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41561
41562 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41563 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41564 * DISTLIST: Likewise.
41565 * kern/ieee1275/of.c: Moved to ...
41566 * kern/ieee1275/ieee1275.c: ... here.
41567
41568 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41569
41570 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41571 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41572 Pass 0 as `end' parameter to grub_strtoul().
41573
41574 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41575
41576 * include/grub/powerpc/ieee1275/console.h: Do not include
41577 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41578 ifdef.
41579 (grub_console_cur_color): Remove i386-specific prototype.
41580 (grub_console_real_putchar): Likewise.
41581 (grub_console_checkkey): Likewise.
41582 (grub_console_getkey): Likewise.
41583 (grub_console_getxy): Likewise.
41584 (grub_console_gotoxy): Likewise.
41585 (grub_console_cls): Likewise.
41586 (grub_console_setcursor): Likewise.
41587 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41588 Include <grub/machine/console.h>.
41589 * term/ieee1275/ofconsole.c: Likewise.
41590
41591 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41592
41593 * Makefile.in (LIBLZO): New variable.
41594
41595 * configure.ac: Check for LZO version 2.
41596
41597 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41598 lzo/lzo1x.h instead of lzo1x.h.
41599
41600 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41601 of -llzo.
41602
41603 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41604 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41605
41606 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41607 copying the data from PARTITION to P.
41608
41609 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41610
41611 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41612 negative, unload the module.
41613
41614 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41615 map is "pc_partition_map" but not "pc".
41616 (usage): Fix the description. The options are --boot-image and
41617 --core-image but not --boot-file or --core-file.
41618 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41619 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41620 DEFAULT_DIRECTORY.
41621
41622 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41623 --core-file. Specify INSTALL_DEVICE as an argument.
41624
41625 * util/console.c: Include config.h.
41626 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41627 [HAVE_NCURSES_H]: Include ncurses.h.
41628 [HAVE_CURSES_H]: Include curses.h.
41629 [!A_NORMAL] (A_NORMAL): Defined as zero.
41630 [!A_STANDOUT] (A_STANDOUT): Likewise.
41631
41632 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41633 -lncurses.
41634 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41635
41636 * configure.ac: Check for curses libraries and headers.
41637
41638 * Makefile.in (LIBCURSES): New variable.
41639
41640 * genmk.rb (Script::rule): Set the executable bits.
41641
41642 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41643 name of the PC partition map is "pc_partition_map" but not "pc".
41644
41645 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41646
41647 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41648 (modules): Likewise.
41649 (usage): Added descriptions for --modules and --grub-probefs.
41650 Handle --modules and --grub-probefs. Save the arguments in MODULES
41651 and GRUB_PROBEFS, respectively.
41652 Auto-detect a filesystem module against GRUBDIR. If the result is
41653 empty and modules are not specified explicitly, abort the
41654 installation. Add the result to MODULES.
41655
41656 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41657 disk/powerpc/ieee1275/ofdisk.c,
41658 include/grub/powerpc/ieee1275/init.h and
41659 term/powerpc/ieee1275/ofconsole.c.
41660 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41661 term/ieee1275/ofconsole.c.
41662
41663 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41664
41665 * COPYING: Upgraded to the latest version. Only the address of the
41666 FSF office has changed.
41667
41668 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41669
41670 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41671 kern/ieee1275.c with kern/ieee1275/of.c.
41672
41673 * kern/ieee1275.c: Moved to ...
41674 * kern/ieee1275/of.c: ... here.
41675
41676 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
41677
41678 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
41679 readability.
41680
41681 * config.guess: Updated to the latest version from gnulib.
41682 * config.sub: Likewise.
41683 * install.sh: Likewise.
41684 * mkinstalldirs: Likewise.
41685
41686 * include/grub/console.h: Removed. This file is arch-specific. Do
41687 not put this in include/grub.
41688
41689 * include/grub/i386/pc/console.h: Resurrected.
41690
41691 * util/console.c: Include grub/machine/console.h instead of
41692 grub/console.h.
41693 * util/grub-emu.c: Likewise.
41694
41695 2005-08-04 Marco Gerards <metgerards@student.han.nl>
41696
41697 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
41698 hardcoded value.
41699
41700 From Vincent Pelletier <subdino2004@yahoo.fr>
41701 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
41702 Redefined to use grub_getwh.
41703 (grub_term): New member named getwh.
41704 (grub_getwh): New prototype.
41705 * kern/term.c (grub_getwh): New function.
41706 * term/i386/pc/console.c (grub_console_getwh): New function.
41707 (grub_console_term): New member `getwh'.
41708 * term/i386/pc/vga.c (grub_vga_getwh): New function.
41709 (grub_vga_term): New member `getwh'.
41710 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
41711 grub_ssize_t.
41712 (grub_ofconsole_getw): New function.
41713 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
41714 (grub_ofconsole_term): New field named getwh and new initial
41715 value.
41716
41717 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
41718
41719 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
41720 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
41721 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
41722 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
41723 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
41724 of <grub/machine/ieee1275.h>.
41725 * commands/ieee1275/reboot.c: Likewise.
41726 * boot/powerpc/ieee1275/ieee1275.c: Move ...
41727 * kern/ieee1275.c: ... to here. All users updated. Change all
41728 parameter structs to use new type `grub_ieee1275_cell_t'.
41729 * term/powerpc/ieee1275/ofconsole.c: Move ...
41730 * term/ieee1275/ofconsole.c: ... to here. All users updated.
41731 * disk/powerpc/ieee1275/ofdisk.c: Move ...
41732 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
41733 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
41734 to return int.
41735 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
41736 Remove unused prototypes. All users updated.
41737 * include/grub/powerpc/ieee1275/console.h: Removed.
41738 * include/grub/powerpc/ieee1275/ieee1275.h: Define
41739 `grub_ieee1275_cell_t'.
41740 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
41741 Cast comparisons with -1 to the correct type.
41742 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
41743 type to match `grub_ieee1275_entry_fn'.
41744
41745 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
41746
41747 * DISTLIST: Added util/i386/pc/grub-probefs.c.
41748
41749 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41750 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41751 partmap/sun.c.
41752 (grub_probefs_SOURCES): New variable.
41753
41754 * util/i386/pc/grub-probefs.c: New file.
41755
41756 * util/i386/pc/grub-setup.c (main): Call
41757 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41758 grub_hfs_init and grub_jfs_init to initialize the system. Call
41759 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41760 grub_pc_partition_map_fini to finish the system.
41761
41762 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41763
41764 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41765 function.
41766 (grub_multiboot_load_elf32): Likewise.
41767 (grub_multiboot_is_elf64): Likewise.
41768 (grub_multiboot_load_elf64): Likewise.
41769 (grub_multiboot_load_elf): Likewise.
41770 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41771 an ELF32 or ELF64 file.
41772 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41773
41774 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41775 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
41776 NULL before calling FS->LABEL.
41777 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
41778 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
41779 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
41780 before calling FS->LABEL.
41781
41782 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
41783
41784 * util/i386/pc/grub-install.in (datadir): New variable.
41785 (libdir): Removed.
41786 (pkgdatadir): New variable.
41787 (pkglibdir): Removed.
41788
41789 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
41790
41791 * DISTLIST: Added util/i386/pc/grub-install.in.
41792
41793 * util/i386/pc/grub-install.in: New file.
41794
41795 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
41796 (grub_install_SOURCES): Likewise.
41797
41798 * genmk.rb: Added support for scripts.
41799 (Script): New class.
41800 (scripts): New variable.
41801
41802 * Makefile.in (install-local): Install sbin_SCRIPTS by
41803 INSTALL_SCRIPT.
41804 (uninstall): Remove sbin_SCRIPTS.
41805
41806 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
41807 device, try to get a GRUB device by
41808 grub_util_biosdisk_get_grub_dev.
41809 Free DEST_DEV.
41810
41811 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
41812 description for --device-map.
41813
41814 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41815
41816 Change the semantics of variable hooks. They now return strings
41817 instead of error values.
41818
41819 * util/i386/pc/grub-setup.c: Include grub/env.h.
41820 (setup): Use grub_device_set_root instead of grub_env_set.
41821
41822 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
41823 grub_env_get instead of grub_device_set_root and
41824 grub_device_get_root, respectively.
41825
41826 * kern/main.c (grub_env_write_root): New function.
41827 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
41828 grub_env_set instead of grub_device_set_root.
41829
41830 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
41831 many variables.
41832 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
41833 rather than calling ENV->WRITE_HOOK afterwards.
41834 (grub_env_get): Return the result of ENV->READ_HOOK rather than
41835 passing a pointer of a pointer.
41836 (grub_register_variable_hook): Change the types of "read_hook" and
41837 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
41838 respectively.
41839 Allocate the default empty string on the heap, because this string
41840 may be freed later.
41841
41842 * kern/device.c: Include grub/env.h.
41843 (grub_device_set_root): Removed.
41844 (grub_device_get_root): Likewise.
41845 (grub_device_open): Use grub_env_get instead of
41846 grub_device_get_root.
41847
41848 * include/grub/env.h (grub_env_read_hook_t): New type.
41849 (grub_env_write_hook_t): Likewise.
41850 (grub_env_var): Change the types of "read_hook" and "write_hook"
41851 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
41852 (grub_register_variable_hook): Likewise.
41853
41854 * include/grub/device.h (grub_device_set_root): Removed.
41855 (grub_device_set_root): Likewise.
41856
41857 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
41858 make sure that DIRNAME terminates with '/', so that
41859 grub_fat_find_dir will fail if PATH is not a directory.
41860
41861 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
41862 from DIRNAME.
41863 Use the qualifier auto for print_files and print_files_long.
41864 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
41865 as a regular file.
41866 Put a newline only if there is no error.
41867 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
41868 used.
41869
41870 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41871
41872 * kern/partition.c (grub_partition_probe): Initialize PART to
41873 NULL. Otherwise, when no partition map is registered, this returns
41874 a garbage.
41875
41876 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
41877
41878 * partmap/apple.c (apple_partition_map_iterate): Check if POS
41879 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
41880 valid.
41881
41882 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
41883
41884 * commands/ls.c (grub_ls_list_disks): Print the filesystem
41885 information on each device, if it does not have partitions. Print
41886 "Device" instead of "Disk", because this function is not specific
41887 to disk devices.
41888
41889 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
41890 static to ensure that it is put on the memory rather than a
41891 register.
41892
41893 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
41894
41895 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
41896 (grub_cat_init): Likewise.
41897 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
41898 (options): Likewise.
41899 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
41900 (grub_configfile_init): Likewise.
41901 * font/manager.c (GRUB_MOD_INIT): Likewise.
41902 * commands/help.c (GRUB_MOD_INIT): Likewise.
41903 (grub_help_init): Likewise.
41904 * normal/command.c (grub_command_init): Likewise.
41905 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
41906 * disk/loopback.c (grub_loop_init): Likewise.
41907 (GRUB_MOD_INIT): Likewise.
41908 * commands/ls.c (grub_ls_init): Likewise.
41909 (GRUB_MOD_INIT): Likewise.
41910 (options): Likewise.
41911 * commands/boot.c (grub_boot_init): Likewise.
41912 (GRUB_MOD_INIT): Likewise.
41913 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
41914 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
41915 (GRUB_MOD_INIT): Likewise.
41916 * commands/cmp.c (grub_cmp_init): Likewise.
41917 (GRUB_MOD_INIT): Likewise.
41918
41919 * normal/arg.c: Use <> instead of "" to include header files.
41920 (SHORT_ARG_HELP): New macro.
41921 (SHORT_ARG_USAGE): Likewise.
41922 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
41923 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
41924 descriptions.
41925 (find_short): Check if C is 'h' or 'u' explicitly.
41926 (grub_arg_show_help): Use space characters instead of tabs. Treat
41927 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
41928 are shown with --help and --usage only if they are not used for
41929 the command itself.
41930 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
41931 'h' and 'u'.
41932
41933 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
41934 const into "longarg". Change the type of "shortarg" to int.
41935
41936 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
41937
41938 * boot/i386/pc/boot.S (boot_drive_check): New label.
41939
41940 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
41941 macro.
41942
41943 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
41944 which do not pass a boot drive correctly. Copied from GRUB Legacy.
41945
41946 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
41947
41948 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
41949 When turning off Gate A20, skip the check and return immediately,
41950 because this is not fatal usually.
41951
41952 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
41953
41954 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
41955 be 0x7C00 instead of 0x8000.
41956
41957 * boot/i386/pc/pxeboot.S: Rewritten.
41958
41959 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
41960 EXT_C.
41961 (gate_a20_check_state): Read a byte from 0x108000. Invert the
41962 result.
41963
41964 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
41965
41966 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
41967 robustness. This routine now supports a BIOS call and System
41968 Control Port A to modify the gate A20.
41969
41970 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41971 Increased to 0x440.
41972
41973 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
41974
41975 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
41976 device path and resulting ihandle.
41977 (grub_ofdisk_close): dprintf the ihandle being closed.
41978 (grub_ofdisk_read): dprintf function parameters.
41979 * kern/mm.c (grub_mm_init_region): Likewise.
41980 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
41981 (grub_linux_boot): dprintf the Linux entry point, initrd address and
41982 size, and boot arguments.
41983 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
41984 before loading into memory.
41985 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
41986 before loading into memory.
41987
41988 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
41989
41990 * kern/mm.c: Added much documentation.
41991 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
41992 8, set to 5 instead of 8.
41993
41994 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
41995
41996 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
41997
41998 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
41999 (grub_mkdevicemap_SOURCES): New variable.
42000
42001 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
42002 lib/device.c of GRUB Legacy.
42003
42004 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
42005
42006 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
42007 instead of PATH is NULL.
42008
42009 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
42010
42011 * commands/cmp.c (BUFFER_SIZE): New macro.
42012 (grub_cmd_cmp): Close the right file at the right time. Compare
42013 only data just read. Don't report files of different size as
42014 identical. Dynamically allocate buffers. Move variable
42015 declarations at the beginning of function.
42016
42017 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
42018
42019 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
42020 reverse.
42021
42022 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
42023
42024 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
42025 when backspace is pressed at beginning of line.
42026
42027 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
42028
42029 * DISTLIST: Added genfslist.sh.
42030
42031 * normal/main.c (fs_module_list): New variable.
42032 (autoload_fs_module): New function.
42033 (read_fs_list): Likewise.
42034 (grub_normal_execute): Call read_fs_list.
42035
42036 * kern/fs.c (grub_fs_autoload_hook): New variable.
42037 (grub_fs_probe): Added support for auto-loading.
42038
42039 * include/grub/normal.h (struct grub_fs_module_list): New struct.
42040 (grub_fs_module_list_t): New type.
42041
42042 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
42043 (grub_fs_autoload_hook): New prototype.
42044
42045 * genfslist.sh: New file.
42046
42047 * genmk.rb: Added a rule to generate a filesystem list.
42048
42049 2005-06-30 Marco Gerards <metgerards@student.han.nl>
42050
42051 * configure.ac: Fix the test for cross-compiling.
42052
42053 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
42054 define GRUB_UTIL anymore.
42055
42056 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
42057 so this function works on other systems than just big endian.
42058 (load_modules): Likewise.
42059 (add_segments): Likewise.
42060
42061 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
42062
42063 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
42064 contains `l' modifier, get a long from va_arg().
42065
42066 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
42067
42068 * kern/mm.c (grub_free): If the next free block which is being
42069 merged is the first free block, set the first block to the block
42070 being freed.
42071 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
42072
42073 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42074
42075 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
42076 `grub_ieee1275_chosen'.
42077
42078 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42079
42080 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
42081 (grub_ieee1275_chosen): New variable.
42082 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
42083 `chosen'.
42084 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
42085 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42086 Rename first argument to `phandle' for consistency.
42087 (grub_ieee1275_get_property_length): Likewise.
42088 (grub_ieee1275_next_property): Likewise. Change type of first argument
42089 to grub_ieee1275_phandle_t.
42090 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
42091 Move export next to declaration.
42092 (grub_ieee1275_chosen): New variable.
42093 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
42094 Correct cosmetic typo.
42095 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
42096 `grub_ieee1275_chosen'.
42097 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
42098 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
42099 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
42100 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
42101 `grub_ieee1275_chosen'.
42102
42103 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
42104
42105 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
42106 /chosen/bootargs.
42107 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
42108 /chosen/bootargs as "variable=value" pairs.
42109
42110 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
42111
42112 * include/grub/misc.h (grub_dprintf): New macro.
42113 (grub_real_dprintf): New prototype.
42114 (grub_strword): Likewise.
42115 (grub_iswordseparator): Likewise.
42116 * kern/misc.c (grub_real_dprintf): New function.
42117 (grub_strword): Likewise.
42118 (grub_iswordseparator): Likewise.
42119
42120 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
42121
42122 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
42123 (roundup): Remove macro.
42124 (grub_ieee1275_flags): Make static.
42125 (grub_ieee1275_realmode): Remove.
42126 (grub_ieee1275_test_flag): New function.
42127 (grub_ieee1275_set_flag): Likewise.
42128 (find_options): Rename to `grub_ieee1275_find_options'; update
42129 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
42130 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
42131 (cmain): New prototype.
42132 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
42133 `grub_ieee1275_flags' directly.
42134 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
42135 machine/biosdisk.h.
42136 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
42137 Don't include grub/machine/init.h.
42138 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
42139 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42140 Remove prototype.
42141 (grub_ieee1275_realmode): Likewise.
42142 (grub_ieee1275_flag): New enum.
42143 (grub_ieee1275_test_flag): New prototype.
42144 (grub_ieee1275_set_flag): New prototype.
42145 * include/grub/powerpc/ieee1275/init.h: Remove file.
42146 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
42147 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
42148 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
42149 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
42150 comment.
42151 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
42152 `grub_ieee1275_test_flag'.
42153 (grub_ieee1275_encode_devname): Likewise.
42154
42155 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
42156
42157 * include/grub/powerpc/ieee1275/ieee1275.h
42158 (grub_ieee1275_encode_devname): New prototype.
42159 (grub_ieee1275_get_filename): Likewise.
42160 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
42161 function.
42162 (grub_set_prefix): Likewise.
42163 (grub_machine_init): Call grub_set_prefix.
42164 * kern/powerpc/ieee1275/openfw.c: Fix typos.
42165 (grub_parse_type): New enum.
42166 (grub_ieee1275_get_devargs): New function.
42167 (grub_ieee1275_get_devname): Likewise.
42168 (grub_ieee1275_parse_args): Likewise.
42169 (grub_ieee1275_get_filename): Likewise.
42170 (grub_ieee1275_encode_devname): Likewise.
42171
42172 2005-03-30 Marco Gerards <metgerards@student.han.nl>
42173
42174 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
42175 `grub_loader_unset'.
42176
42177 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
42178
42179 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
42180 instead of grub_ieee1275_interpret.
42181 (grub_halt_init): New function.
42182 (grub_halt_fini): Likewise.
42183 (GRUB_MOD_INIT): Correct message grammar.
42184 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
42185 instead of grub_ieee1275_interpret.
42186 (grub_reboot_init): New function.
42187 (grub_reboot_fini): Likewise.
42188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
42189 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
42190 util/i386/pc/misc.c with commands/ieee1275/halt.c,
42191 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
42192 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
42193 function.
42194 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
42195 Add prototype.
42196 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
42197 prototype.
42198 (grub_halt): Likewise.
42199 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
42200 (cmain): Remove __attribute__((unused)).
42201 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
42202 (grub_heap_len): Likewise.
42203 (grub_machine_fini): New function.
42204 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
42205 (grub_halt): Likewise.
42206 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
42207 function.
42208 * util/powerpc/ieee1275/misc.c: New file.
42209
42210 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42211
42212 * DISTLIST: New file.
42213 * gendistlist.sh: Likewise.
42214
42215 * Makefile.in (COMMON_DISTFILES): Removed.
42216 (BOOT_DISTFILES): Likewise.
42217 (CONF_DISTFILES): Likewise.
42218 (DISK_DISTFILES): Likewise.
42219 (FS_DISTFILES): Likewise.
42220 (INCLUDE_DISTFILES): Likewise.
42221 (KERN_DISTFILES): Likewise.
42222 (LOADER_DISTFILES): Likewise.
42223 (TERM_DISTFILES): Likewise.
42224 (UTIL_DISTFILES): Likewise.
42225 (DISTFILES): Likewise.
42226 (uninstall): Uninstall files in $(pkgdata_DATA).
42227 (DISTLIST): New target.
42228 (distdir): Use the contents of the file DISTLIST to get a list of
42229 distributed files.
42230
42231 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42232
42233 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
42234 descriptor. This is ported from GRUB Legacy.
42235
42236 * gencmdlist.sh: Added an extra semicolon to make it work with
42237 old sed versions. Reported by Robert Bihlmeyer
42238 <robbe@orcus.priv.at>.
42239
42240 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
42241
42242 Automatic loading of commands is supported.
42243
42244 * normal/main.c (read_command_list): New function.
42245 (grub_normal_execute): Call read_command_list.
42246
42247 * normal/command.c (grub_register_command): Return zero or CMD.
42248 Allocate CMD->NAME from the heap.
42249 Initialize CMD->MODULE_NAME to zero.
42250 Find the same name as well. If the same command is found and it is
42251 a dummy command, overwrite members. If it is not a dummy command,
42252 return zero.
42253 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
42254 (grub_command_find): If a dummy command is found, load a module
42255 and retry to find a command only once.
42256
42257 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
42258 make sure that each command is loaded.
42259
42260 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
42261 macro.
42262 (struct grub_command): Remove const from the member `name'.
42263 Add a new member `module_name'.
42264 (grub_register_command): Return grub_command_t.
42265
42266 * commands/help.c (grub_cmd_help): Call grub_command_find to make
42267 sure that each command is loaded.
42268
42269 * genmk.rb (PModule::rule): Specify a module name without the
42270 suffix ".mod" to gencmdlist.sh.
42271
42272 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42273
42274 * gencmdlist.sh: New file.
42275
42276 * genmk.rb (PModule::rule): Generate a rule for a command list.
42277 Clean command.lst.
42278 Generate command.lst from $(COMMANDFILES).
42279
42280 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
42281 (DATA): Added $(pkgdata_DATA).
42282 (install-local): Install files in $(pkgdata_DATA).
42283
42284 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42285
42286 * term/i386/pc/vga.c (debug_command): Removed.
42287 (GRUB_MOD_INIT): Do not register the command "debug".
42288
42289 From Hollis Blanchard:
42290 * commands/configfile.c: New file.
42291 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42292 commands/configfile.c.
42293 (pkgdata_MODULES): Added configfile.mod.
42294 (configfile_mod_SOURCES): New variable.
42295 (configfile_mod_CFLAGS): Likewise.
42296 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42297 commands/configfile.c.
42298 (pkgdata_MODULES): Added configfile.mod.
42299 (configfile_mod_SOURCES): New variable.
42300 (configfile_mod_CFLAGS): Likewise.
42301 * util/grub-emu.c (main): Call grub_configfile_init and
42302 grub_configfile_fini.
42303 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
42304 prototype.
42305 [GRUB_UTIL] (grub_configfile_fini): Likewise.
42306
42307 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42308
42309 * normal/arg.c (grub_arg_show_help): Do not show the bug report
42310 address.
42311
42312 * commands/help.c (grub_cmd_help): Do not print newlines after
42313 the last command in print_command_help.
42314
42315 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42316
42317 * commands/default.h: New file.
42318 * commands/timeout.h: Likewise.
42319 * normal/context.c: Likewise.
42320
42321 * util/misc.c: Do not include sys/times.h.
42322 Include sys/time.h and grub/machine/time.h.
42323 (grub_get_rtc): Rewritten with gettimeofday.
42324
42325 * util/grub-emu.c (main): Call grub_default_init and
42326 grub_timeout_init before grub_normal_init, and call
42327 grub_timeout_fini and grub_default_fini after grub_main.
42328
42329 * util/console.c (grub_ncurses_checkkey): Return the read
42330 character or -1.
42331
42332 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
42333 timeouts.
42334
42335 * normal/main.c (read_config_file): Push MENU. If this fails,
42336 print an error and wait for a user input.
42337 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
42338 If a menu is empty or an error occurs, pop MENU.
42339 (grub_normal_execute): Pop and free MENU after grub_menu_run
42340 returns.
42341
42342 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
42343
42344 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
42345 include time.h.
42346 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42347 without GRUB_UTIL.
42348 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
42349 time.h.
42350 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42351 without GRUB_UTIL.
42352
42353 * include/grub/normal.h (struct grub_menu_list): New struct.
42354 (grub_menu_list_t): New type.
42355 (struct grub_context): New struct.
42356 (grub_context_t): New type.
42357 (grub_register_command): Got rid of EXPORT_FUNC.
42358 (grub_unregister_command): Likewise.
42359 (grub_context_get): New prototype.
42360 (grub_context_get_current_menu): Likewise.
42361 (grub_context_push_menu): Likewise.
42362 (grub_context_pop_menu): Likewise.
42363 [GRUB_UTIL] (grub_default_init): Likewise.
42364 [GRUB_UTIL] (grub_default_fini): Likewise.
42365 [GRUB_UTIL] (grub_timeout_init): Likewise.
42366 [GRUB_UTIL] (grub_timeout_fini): Likewise.
42367
42368 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
42369 commands/timeout.c and normal/context.c.
42370 (pkgdata_MODULES): Added default.mod and timeout.mod.
42371 (normal_mod_SOURCES): Added normal/context.c.
42372 (default_mod_SOURCES): New variable.
42373 (default_mod_CFLAGS): Likewise.
42374 (timeout_mod_SOURCES): Likewise.
42375 (timeout_mod_CFLAGS): Likewise.
42376 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
42377 conf/i386-pc.rmk.
42378 (pkgdata_MODULES): Added default.mod and timeout.mod.
42379 (normal_mod_SOURCES): Added normal/context.c.
42380 (default_mod_SOURCES): New variable.
42381 (default_mod_CFLAGS): Likewise.
42382 (timeout_mod_SOURCES): Likewise.
42383 (timeout_mod_CFLAGS): Likewise.
42384
42385 * Makefile.in (all-local): Added $(MKFILES).
42386
42387 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
42388
42389 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
42390 (grub_emu_SOURCES): Likewise.
42391 (pkgdata_MODULES): Add `sun.mod'.
42392 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42393 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42394 `partmap/sun.c'.
42395 (pkgdata_MODULES): Add `sun.mod'.
42396 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42397 * include/grub/partition.h (grub_sun_partition_map_init): New
42398 prototype.
42399 (grub_sun_partition_map_fini): Likewise.
42400 * partmap/sun.c: New file.
42401 * util/grub-emu.c (main): Initialize and de-initialize the sun
42402 partitionmap support.
42403
42404 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
42405
42406 This implements an Emacs-like menu entry editor.
42407
42408 * normal/menu_entry.c: New file.
42409
42410 * util/console.c (grub_ncurses_putchar): Translate some Unicode
42411 characters to ASCII.
42412 (saved_char): New variable.
42413 (grub_ncurses_checkkey): Rewritten completely.
42414 (grub_ncurses_getkey): Likewise.
42415 (grub_ncurses_init): Call raw instead of cbreak.
42416
42417 * normal/menu.c (print_entry): Do not put a space.
42418 (init_page): Renamed to ...
42419 (grub_menu_init_page): ... this. All callers changed.
42420 (edit_menu_entry): Removed.
42421 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
42422
42423 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
42424
42425 * kern/misc.c (grub_vprintf): Call grub_refresh.
42426
42427 * normal/menu.c (DISP_LEFT): Renamed to ...
42428 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
42429 * normal/menu.c (DISP_UP): Renamed to ...
42430 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
42431 * normal/menu.c (DISP_RIGHT): Renamed to ...
42432 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
42433 * normal/menu.c (DISP_DOWN): Renamed to ...
42434 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
42435 * normal/menu.c (DISP_HLINE): Renamed to ...
42436 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
42437 * normal/menu.c (DISP_VLINE): Renamed to ...
42438 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
42439 * normal/menu.c (DISP_UL): Renamed to ...
42440 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
42441 * normal/menu.c (DISP_UR): Renamed to ...
42442 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
42443 * normal/menu.c (DISP_LL): Renamed to ...
42444 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
42445 * normal/menu.c (DISP_LR): Renamed to ...
42446 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
42447 * normal/menu.c (TERM_WIDTH): Renamed to ...
42448 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
42449 * normal/menu.c (TERM_HEIGHT): Renamed to ...
42450 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
42451 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
42452 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
42453 * normal/menu.c (TERM_MARGIN): Renamed to ...
42454 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
42455 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
42456 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
42457 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
42458 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
42459 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
42460 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
42461 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
42462 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
42463 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
42464 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
42465 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
42466 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
42467 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
42468 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
42469 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
42470 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
42471 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
42472 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
42473 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
42474 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
42475 All callers changed.
42476
42477 * include/grub/normal.h: New prototype.
42478
42479 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42480 normal/menu_entry.c.
42481 (normal_mod_SOURCES): Likewise.
42482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42483 (normal_mod_SOURCES): Likewise.
42484
42485 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
42486
42487 * include/grub/normal.h (grub_halt_init): New prototype.
42488 (grub_halt_fini): Likewise.
42489 (grub_reboot_init): Likewise.
42490 (grub_reboot_fini): Likewise.
42491
42492 * util/grub-emu.c: Include signal.h.
42493 (main_env): New global variable.
42494 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
42495 catch C-c.
42496 (grub_machine_fini): New function.
42497 (main): Call grub_halt_init and grub_reboot_init before
42498 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42499 Call setjmp with MAIN_ENV to go back afterwards.
42500 Call grub_machine_fini right before return.
42501
42502 * include/grub/util/misc.h: Include setjmp.h.
42503 (main_env): New prototype.
42504
42505 * include/grub/kernel.h (grub_machine_fini): New prototype.
42506 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42507 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42508
42509 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42510 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42511 * term/i386/pc/console.c (grub_console_fini): Likewise.
42512
42513 * util/i386/pc/misc.c: New file.
42514
42515 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42516 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42517 commands/i386/pc/reboot.c.
42518
42519 2005-02-14 Guillem Jover <guillem@hadrons.org>
42520
42521 * include/grub/dl.h (grub_dl_check_header): New prototype.
42522 (grub_arch_dl_check_header): Change return type to grub_err_t,
42523 remove size parameter and export function. Update all callers.
42524 * kern/dl.c (grub_dl_check_header): New function.
42525 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42526 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42527 are inside the core.
42528 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42529 independent ELF header checks.
42530 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42531 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42532 `grub_dl_check_header' instead of explicit checks. Check for the
42533 ELF type.
42534 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42535 `grub_dl_check_header' instead of explicit checks. Remove arch
42536 specific ELF header checks.
42537
42538 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42539 argument SIZE.
42540
42541 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42542
42543 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42544 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42545
42546 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42547
42548 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
42549 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
42550 (part_map_iterate): Clear `grub_errno' and return 0 if
42551 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
42552 * partmap/amiga.c (amiga_partition_map_iterate): Return
42553 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42554 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42555
42556 2005-02-01 Guillem Jover <guillem@hadrons.org>
42557
42558 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42559 help info.
42560
42561 2005-01-31 Marco Gerards <metgerards@student.han.nl>
42562
42563 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42564 Removed prototype.
42565 (grub_rescue_cmd_linux): New prototype.
42566 (grub_rescue_cmd_initrd): Likewise.
42567 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42568 `bi_rec'.
42569 (grub_linux_release_mem): Release the memory for the initrd.
42570 (grub_load_linux): Renamed from this...
42571 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42572 Changed `entry' not to be static. Loop over memory regions to
42573 find another one when the default fails.
42574 (grub_rescue_cmd_initrd): New function.
42575 (grub_linux_init): Remove function.
42576 (grub_linux_fini): Likewise.
42577 (GRUB_MOD_INIT): Register `initrd'.
42578 (GRUB_MOD_FINI): Unregister `initrd'.
42579 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42580 Function removed.
42581 (grub_linux_normal_fini): Likewise.
42582 (GRUB_MOD_INIT): Register `initrd'.
42583 (GRUB_MOD_FINI): Unregister `initrd'.
42584
42585 2005-01-31 Marco Gerards <metgerards@student.han.nl>
42586
42587 * commands/help.c: New file.
42588 * normal/arg.c (show_help): Renamed to...
42589 (grub_arg_show_help): ... this.
42590 * commands/i386/pc/halt.c: New file.
42591 * commands/i386/pc/reboot.c: Likewise.
42592 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42593 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42594 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42595 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42596 variables.
42597 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42598 `commands/help.c'.
42599 (pkgdata_MODULES): Add `help.mod'.
42600 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42601 * grub/i386/pc/init.h (grub_reboot): New prototype.
42602 (grub_halt): Likewise.
42603 * include/grub/normal.h (grub_arg_show_help): New prototype.
42604 (grub_help_init): Likewise.
42605 (grub_help_fini): Likewise.
42606 * util/grub-emu.c (main): Initialize and deinitialize the help
42607 command.
42608
42609 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42610
42611 * normal/command.c (grub_command_init): Fixed the description of
42612 the `set' and `unset' commands.
42613
42614 2005-01-31 Marco Gerards <metgerards@student.han.nl>
42615
42616 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42617 function.
42618 * commands/ieee1275/halt.c: New file.
42619 * commands/ieee1275/reboot.c: Likewise.
42620 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42621 `__attribute__ ((unused))'. Some GCS related fixed.
42622 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42623 (grub_suspend_fini): Likewise.
42624 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42625 and `halt.mod'.
42626 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42627 (halt_mod_CFLAGS): New variables.
42628 * include/grub/powerpc/ieee1275/ieee1275.h
42629 (grub_ieee1275_interpret): New prototype.
42630
42631 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42632
42633 * include/grub/misc.h (memmove): New prototype.
42634 (memcpy): Likewise.
42635
42636 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42637
42638 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42639 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42640
42641 2005-01-22 Marco Gerards <metgerards@student.han.nl>
42642
42643 * kern/misc.c (grub_strndup): Function rewritten.
42644
42645 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42646
42647 * normal/menu.c (TERM_WIDTH): Macro redefined.
42648 (TERM_TOP_BORDER_Y): Likewise.
42649 (draw_border): Replaced while-loop by a for-loop. Make the number
42650 of lines consistent with the number of lines displayed in
42651 print_entries. Added a margin below the rectangle.
42652 (print_entry): Make the entry fit in the rectangle.
42653 (print_entries): Display the scroll arrows next to the right
42654 border.
42655
42656 2005-01-21 Marco Gerards <metgerards@student.han.nl>
42657
42658 * fs/minix.c (grub_minix_find_file): Reserve more space for
42659 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42660 `grub_strncpy' to copy `path' into it.
42661
42662 2005-01-21 Marco Gerards <metgerards@student.han.nl>
42663
42664 Add the loopback device, a device via which files can be accessed
42665 as devices.
42666
42667 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
42668 (pkgdata_MODULES): Add loopback.mod.
42669 (loopback_mod_SOURCES): New variable.
42670 (loopback_mod_CFLAGS): Likewise.
42671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42672 `disk/loopback.c'.
42673 (pkgdata_MODULES): Add loopback.mod.
42674 (loopback_mod_SOURCES): New variable.
42675 (loopback_mod_CFLAGS): Likewise.
42676 * disk/loopback.c: new file.
42677 * include/grub/normal.h (grub_loop_init): New prototype.
42678 (grub_loop_fini): New prototype.
42679 * util/grub-emu.c (main): Initialize and de-initialize loopback
42680 support.
42681 * include/grub/disk.h (grub_disk_dev_id): Add
42682 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
42683
42684 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
42685
42686 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
42687 function.
42688 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
42689 (suspend_mod_SOURCES): New variable.
42690 (suspend_mod_CFLAGS): Likewise.
42691 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
42692 New prototype.
42693 * commands/ieee1275/suspend.c: New file.
42694
42695 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42696
42697 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
42698 ((unused))' to `__attribute__ ((used))'.
42699 (GRUB_MOD_FINI): Likewise.
42700 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
42701 * genmk.rb (PModule): Assign space to common symbols when linking
42702 modules.
42703
42704 2005-01-20 Marco Gerards <metgerards@student.han.nl>
42705
42706 * include/grub/mm.h (grub_mm_init_region): Change the type of the
42707 `unsigned' arguments to `grub_size_t'.
42708 (grub_malloc): Likewise.
42709 (grub_realloc): Likewise.
42710 (grub_memalign): Likewise.
42711 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
42712 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42713 * util/misc.c (grub_malloc): Likewise.
42714 (grub_realloc): Likewise.
42715 * kern/mm.c (get_header_from_pointer): Change the casts to
42716 `unsigned' into a cast to `grub_size_t'.
42717
42718 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
42719 point to `currnode' when `currnode' is changed.
42720
42721 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
42722 Schottelius <nico-linux@schottelius.org>.
42723
42724 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
42725
42726 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
42727 (note_path): Remove variable.
42728 (GRUB_IEEE1275_NOTE_NAME): New macro.
42729 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
42730 (grub_ieee1275_note_hdr): New structure.
42731 (grub_ieee1275_note_desc): Likewise.
42732 (grub_ieee1275_note): Likewise.
42733 (load_note): Remove `dir' argument. All callers updated. Remove
42734 `note_img' and `path'. Do not load a file from `note_path'.
42735 Initialize a struct grub_ieee1275_note and write that to `out'.
42736 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
42737
42738 2005-01-05 Marco Gerards <metgerards@student.han.nl>
42739
42740 * util/misc.c (grub_util_read_image): Revert last change. It
42741 called `grub_util_read_at', which seeks from the beginning of the
42742 file.
42743
42744 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
42745
42746 * TODO: Add note about endianness in grub-mkimage.
42747 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
42748 section.
42749 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42750 (grub_mkimage_SOURCES): New target.
42751 * include/grub/kernel.h (grub_start_addr): Remove variable.
42752 (grub_end_addr): Likewise.
42753 (grub_total_module_size): Likewise.
42754 (grub_kernel_image_size): Likewise.
42755 (GRUB_MODULE_MAGIC): New constant.
42756 (grub_module_info): New structure.
42757 (grub_arch_modules_addr): New prototype.
42758 (grub_get_end_addr): Remove prototype.
42759 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42760 * include/grub/powerpc/ieee1275/kernel.h: New file.
42761 * include/grub/util/misc.h (grub_util_get_fp_size): New
42762 prototype.
42763 (grub_util_read_at): Likewise.
42764 (grub_util_write_image_at): Likewise.
42765 * kern/main.c (grub_get_end_addr): Remove function.
42766 (grub_load_modules): Call grub_arch_modules_addr instead of using
42767 grub_end_addr. Look for a grub_module_info struct in memory. Use
42768 the grub_module_info fields instead of calling grub_get_end_addr
42769 as loop conditions. Move grub_add_unused_region code here.
42770 (grub_add_unused_region): Remove function.
42771 * kern/i386/pc/init.c: Include grub/cache.h.
42772 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42773 one call to add_mem_region.
42774 (grub_arch_modules_addr): New function.
42775 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
42776 (grub_total_module_size): Likewise.
42777 Include grub/machine/kernel.h.
42778 (grub_arch_modules_addr): New function.
42779 * util/grub-emu.c (grub_end_addr): Remove variable.
42780 (grub_total_module_size): Likewise.
42781 (grub_arch_modules_addr): New function.
42782 * util/misc.c: Include unistd.h.
42783 (grub_util_get_fp_size): New function.
42784 (grub_util_read_at): Likewise.
42785 (grub_util_write_image_at): Likewise.
42786 (grub_util_read_image): Call grub_util_read_at.
42787 (grub_util_write_image): Call grub_util_write_image_at.
42788 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
42789 additional memory in kernel_img for a struct grub_module_info.
42790 Fill in that grub_module_info.
42791 * util/powerpc/ieee1275/grub-mkimage.c: New file.
42792
42793 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42794
42795 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
42796 New function.
42797 * include/grub/powerpc/ieee1275/ieee1275.h
42798 (grub_ieee1275_milliseconds): New prototype.
42799 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
42800 Change to 1000.
42801 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
42802 grub_ieee1275_milliseconds.
42803
42804 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42805
42806 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
42807 variable.
42808 (find_options): New function.
42809 (cmain): Call find_options.
42810 * include/grub/powerpc/ieee1275/ieee1275.h
42811 (grub_ieee1275_realmode): New extern variable.
42812 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
42813 grub_map if grub_ieee1275_realmode is false.
42814
42815 2004-12-29 Marco Gerards <metgerards@student.han.nl>
42816
42817 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
42818 lines are inserted and make it work like readline. Reported by
42819 Vincent Pelletier <subdino2004@yahoo.fr>.
42820
42821 2004-12-28 Marco Gerards <metgerards@student.han.nl>
42822
42823 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
42824
42825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
42826 `kern/powerpc/cache.S'.
42827
42828 2004-12-27 Marco Gerards <metgerards@student.han.nl>
42829
42830 * genmk.rb: Handle the `Program' class in the main loop. Written
42831 by Johan Rydberg <jrydberg@gnu.org>.
42832 (Program): New class.
42833 (programs): New variable.
42834 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
42835 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
42836 instead of "grub/kernel.h". Include <grub/machine/init.h>.
42837 (help_arch): Function removed.
42838 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
42839 `powerpc/libgcc.h' and `loader.h'.
42840 (pkgdata_PROGRAMS): New variable.
42841 (sbin_UTILITIES): Variable removed.
42842 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
42843 (grubof_SOURCES): Variable re-defined so it only includes the
42844 core functionality.
42845 (grubof_CFLAGS): Remove `-DGRUBOF'.
42846 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
42847 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
42848 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
42849 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
42850 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
42851 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
42852 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
42853 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
42854 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
42855 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
42856 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42857 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
42858 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
42859 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
42860 (pc_mod_CFLAGS): New variables.
42861 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
42862 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
42863 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
42864 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
42865 Moved from here...
42866 * include/grub/i386/pc/init.h (grub_os_area_addr)
42867 (rub_os_area_size): ... to here.
42868 * include/grub/powerpc/ieee1275/ieee1275.h
42869 (grub_ieee1275_entry_fn): Export symbol.
42870 * include/grub/powerpc/ieee1275/init.h: New file.
42871 * include/grub/powerpc/libgcc.h: Likewise.
42872 * include/grub/cache.h: Likewise.
42873 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
42874 <hollis@penguinppc.org>.
42875 * kern/dl.c: Include <grub/cache.h>.
42876 (grub_dl_flush_cache): New function.
42877 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
42878 for this module.
42879 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
42880 (grub_console_init): Removed prototypes.
42881 (grub_machine_init): Don't initialize the modules anymore.
42882 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
42883 static.
42884 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
42885 Macro undef removed.
42886 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
42887 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
42888 relocation `R_PPC_REL32'. Return an error when the relocation is
42889 unknown.
42890 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
42891 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
42892 * util/misc.c (grub_arch_sync_caches): Likewise.
42893
42894 2004-12-19 Marco Gerards <metgerards@student.han.nl>
42895
42896 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
42897 `symlist.c', add `grubof_symlist.c'.
42898 (symlist.c): Variable removed.
42899 (grubof_HEADERS): Variable added.
42900 (grubof_symlist.c): New target.
42901 (kernel_syms.lst): Use `grubof_HEADERS' instead of
42902 `kernel_img_HEADERS'.
42903 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
42904 * kern/powerpc/dl.c: New file.
42905 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
42906 Function removed.
42907 (grub_arch_dl_relocate_symbols): Likewise.
42908 (grub_register_exported_symbols): Likewise.
42909
42910 2004-12-13 Marco Gerards <metgerards@student.han.nl>
42911
42912 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
42913 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
42914 to fail instead. Reported by Vincent Pelletier
42915 <subdino2004@yahoo.fr>.
42916
42917 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
42918 it is not allocated. Reported by Vincent Pelletier
42919 <subdino2004@yahoo.fr>.
42920
42921 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
42922 output so the output looks better.
42923
42924 2004-12-04 Marco Gerards <metgerards@student.han.nl>
42925
42926 Modulize the partition map support and add support for the amiga
42927 partition map.
42928
42929 * commands/ls.c: Include <grub/partition.h> instead of
42930 <grub/machine/partition.h>.
42931 * kern/disk.c: Likewise.
42932 * kern/rescue.c: Likewise.
42933 * loader/i386/pc/chainloader.c: Likewise.
42934 * normal/cmdline.c: Likewise.
42935 * kern/powerpc/ieee1275/init.c: Likewise.
42936 (grub_machine_init): Call `grub_pc_partition_map_init',
42937 `grub_amiga_partition_map_init' and
42938 `grub_apple_partition_map_init'.
42939 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
42940 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
42941 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
42942 `partition.h' and `pc_partition.h'.
42943 (grub_setup_SOURCES): Remove
42944 `disk/i386/pc/partition.c'. Add `kern/partition.c',
42945 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42946 (grub_emu_SOURCES): Likewise.
42947 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
42948 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
42949 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
42950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42951 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
42952 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42953 (grubof_SOURCES): Likewise.
42954 * disk/i386/pc/partition.c: File removed.
42955 * disk/powerpc/ieee1275/partition.c: Likewise.
42956 * include/grub/powerpc/ieee1275/partition.h: Likewise.
42957 * include/grub/i386/pc/partition.h: Likewise.
42958 * kern/partition.c: New file.
42959 * partmap/amiga.c: Likewise.
42960 * partmap/apple.c: Likewise.
42961 * partmap/pc.c: Likewise.
42962 * include/grub/partition.h: Likewise..
42963 * include/grub/pc_partition.h: Likewise.
42964 * util/grub-emu.c: Include <grub/partition.h> instead of
42965 <grub/machine/partition.h>.
42966 (main): Call `grub_pc_partition_map_init',
42967 `grub_amiga_partition_map_init' and
42968 `grub_apple_partition_map_init' and deinitialize afterwards.
42969 * util/i386/pc/biosdisk.c: Include `#include
42970 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42971 `<grub/machine/partition.h>'.
42972 * util/i386/pc/grub-setup.c: Likewise.
42973 * util/i386/pc/biosdisk.c: Likewise.
42974 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
42975 partition information in case of a PC partition.
42976 * util/i386/pc/grub-setup.c: Include `#include
42977 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42978 `<grub/machine/partition.h>'.
42979 (setup): Only access the PC specific partition information in case
42980 of a PC partition.
42981
42982 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
42983
42984 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
42985 (grub_longjmp): Likewise.
42986 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
42987 20.
42988 * normal/powerpc/setjmp.S: New file.
42989 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42990 `normal/powerpc/setjmp.S'.
42991 (grubof_CFLAGS): Add `-DGRUBOF'.
42992 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
42993 [GRUB_UTIL && !GRUBOF].
42994
42995 2004-11-16 Marco Gerards <metgerards@student.han.nl>
42996
42997 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
42998 property named `name'. Correctly handle the error returned by
42999 `grub_ieee1275_finddevice' if a device can not be opened.
43000
43001 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
43002
43003 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
43004 `actual' for negativity.
43005 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43006 kern/fshelp.c.
43007
43008 2004-11-01 Marco Gerards <metgerards@student.han.nl>
43009
43010 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
43011 (PAGE_OFFSET): New macro.
43012 (CRTC_ADDR_PORT): Likewise.
43013 (CRTC_DATA_PORT): Likewise.
43014 (START_ADDR_HIGH_REGISTER): Likewise.
43015 (START_ADDR_LOW_REGISTER): Likewise.
43016 (GRAPHICS_ADDR_PORT): Likewise.
43017 (GRAPHICS_DATA_PORT): Likewise.
43018 (READ_MAP_REGISTER): Likewise.
43019 (INPUT_STATUS1_REGISTER): Likewise.
43020 (INPUT_STATUS1_VERTR_BIT): Likewise.
43021 (page): New variable.
43022 (wait_vretrace): New function.
43023 (set_read_map): Likewise.
43024 (set_start_address): Likewise.
43025 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
43026 the right page.
43027 (check_vga_mem): Take the page into account.
43028 (write_char): Likewise.
43029 (write_cursor): Likewise.
43030 (scroll_up): Likewise. Copy the page to the page that is not
43031 shown and switch between both pages.
43032 (grub_vga_putchar): Fix off by one error.
43033 (grub_vga_cls): Wait for the vertical retrace. Take the page into
43034 account.
43035
43036 2004-11-01 Marco Gerards <metgerards@student.han.nl>
43037
43038 Add support for iso9660 (including rockridge).
43039
43040 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43041 (iso9660_mod_SOURCES): New variable.
43042 (iso9660_mod_CFLAGS): Likewise.
43043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43044 * include/grub/fs.h (grub_iso9660_init): New prototype.
43045 * util/grub-emu.c (main): Call `grub_iso9660_init'.
43046 * fs/iso9660.c: New file.
43047
43048 * include/grub/misc.h (grub_strncat): New prototype.
43049 * kern/misc.c (grub_strncat): New function.
43050
43051 * fs/hfs.c (grub_hfs_mount): Translate the error
43052 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
43053 * fs/jfs.c (grub_jfs_mount): Likewise.
43054 * fs/ufs.c (grub_ufs_mount): Likewise.
43055
43056 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
43057
43058 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
43059 which initialized BAT registers.
43060 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
43061 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43062 Move from here...
43063 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
43064 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43065 ... to here.
43066 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
43067 (grub_mapclaim): Likewise.
43068 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
43069 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
43070 hand.
43071
43072 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
43073
43074 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
43075 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
43076 -ffreestanding and -msoft-float.
43077
43078 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
43079
43080 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
43081 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
43082 set in grub_ieee1275_flags.
43083
43084 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
43085
43086 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
43087 prototype.
43088 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
43089 grub_console_init first.
43090 Change the memory range used for grub_ieee1275_claim and
43091 grub_mm_init_region.
43092 Print an error message if the claim fails.
43093 Include <grub/misc.h>.
43094
43095 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
43096
43097 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
43098 Call grub_children_iterate for device nodes of type `scsi',
43099 `ide', or `ata'.
43100 (grub_ofdisk_open): Remove manual device alias resolution.
43101 Fix memory leak when device cannot be opened.
43102 * include/grub/powerpc/ieee1275/ieee1275.h
43103 (grub_children_iterate): New prototype.
43104 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
43105 New function.
43106 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43107 Return -1 if args.size was -1.
43108
43109 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43110
43111 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
43112 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
43113 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
43114 Open Firmware's memory for it; claim memory from _start to _end.
43115 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
43116 (_end): New extern.
43117 (_start): Zero BSS from __bss_start to _end.
43118 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43119 New extern.
43120 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
43121
43122 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43123
43124 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
43125 -1 if args.base was -1.
43126
43127 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
43128
43129 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
43130 escape sequence instead of a literal ^L. Also call
43131 grub_ofconsole_gotoxy.
43132
43133 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
43134
43135 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
43136 void * arguments to grub_addr_t. All callers updated. Also make
43137 the `result' argument optional.
43138 (grub_ieee1275_release): change void * arguments to grub_addr_t.
43139 All callers updated.
43140
43141 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
43142
43143 * commands/ls.c (grub_ls_list_files): Use the string following the
43144 initial ')', if present, as the filesystem path.
43145 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
43146
43147 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
43148
43149 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
43150
43151 Make the source code of the menu interface more readable.
43152
43153 * normal/menu.c: Include grub/mm.h.
43154 (TERM_WIDTH): New macro.
43155 (TERM_HEIGHT): Likewise.
43156 (TERM_INFO_HEIGHT): Likewise.
43157 (TERM_MARGIN): Likewise.
43158 (TERM_SCROLL_WIDTH): Likewise.
43159 (TERM_TOP_BORDER_Y): Likewise.
43160 (TERM_LEFT_BORDER_X): Likewise.
43161 (TERM_BORDER_WIDTH): Likewise.
43162 (TERM_MESSAGE_HEIGHT): Likewise.
43163 (TERM_BORDER_HEIGHT): Likewise.
43164 (TERM_NUM_ENTRIES): Likewise.
43165 (TERM_FIRST_ENTRY_Y): Likewise.
43166 (TERM_ENTRY_WIDTH): Likewise.
43167 (TERM_CURSOR_X): Likewise.
43168 (draw_border): Use macros instead of magic numbers.
43169 (print_entry): Likewise.
43170 (print_entries): Likewise.
43171 (run_menu): Likewise. Also, handle the key 'e'.
43172 (run_menu_entry): Ignore empty command lines.
43173 (print_message): Added a new argument EDIT. If EDIT is true,
43174 print a different message.
43175 (init_page): Likewise.
43176 (edit_menu_entry): New function. Not implemented yet.
43177
43178 2004-09-17 Marco Gerards <metgerards@student.han.nl>
43179
43180 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
43181 can be loaded from normal mode.
43182
43183 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
43184 `multiboot.mod'.
43185 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
43186 (multiboot_mod_CFLAGS): New variables.
43187 * loader/i386/pc/linux_normal.c: New file.
43188 * loader/i386/pc/multiboot_normal.c: Likewise.
43189
43190 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
43191 attribute `unused'.
43192
43193 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
43194 `fdiro' to read the mode information from instead of `diro'.
43195
43196 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
43197 looking up a symlink.
43198
43199 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
43200 macro.
43201 * normal/command.c (grub_command_execute): Don't parse the
43202 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
43203 flags of the command.
43204
43205 * normal/menu.c (grub_menu_run): Fix typo.
43206
43207 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
43208
43209 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
43210
43211 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
43212 `y + 1' instead of `y - 1'.
43213
43214 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
43215
43216 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
43217
43218 From Hollis Blanchard <hollis@penguinppc.org>:
43219 * kern/misc.c (memmove): New alias for grub_memmove.
43220 (memcmp): New alias for grub_memcmp.
43221 (memset): New alias for grub_memset.
43222 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43223 Change "int handle" to "grub_ieee1275_phandle_t handle".
43224 * include/grub/powerpc/ieee1275/ieee1275.h
43225 (grub_ieee1275_get_property): Likewise.
43226
43227 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
43228
43229 Added normal mode command `chainloader' as module chain.mod, which
43230 depends on normal.mod and _chain.mod.
43231
43232 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
43233 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
43234 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
43235 Deleted prototype.
43236 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
43237 but arguments parsing moved to ...
43238 (grub_chainloader_cmd): ... here. New function.
43239 * include/grub/i386/pc/chainloader.h: New file.
43240 * loader/i386/pc/chainloader_normal.c: Likewise.
43241
43242 2004-09-11 Marco Gerards <metgerards@student.han.nl>
43243
43244 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
43245 (grub_mkimage_LDFLAGS): Likewise.
43246 (grub_emu_SOURCES): Likewise.
43247 (kernel_img_HEADERS): Added fshelp.h.
43248 * fs/ext2.c: Include <grub/fshelp.h>.
43249 (FILETYPE_REG): New macro.
43250 (FILETYPE_INO_REG): Likewise.
43251 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
43252 Changed all users.
43253 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
43254 all users.
43255 (grub_fshelp_node): New struct.
43256 (grub_ext2_data): Added member `diropen'. Changed member `inode'
43257 to a pointer.
43258 (grub_ext2_get_file_block): Removed function.
43259 (grub_ext2_read_block): New function.
43260 (grub_ext2_read_file): Replaced parameter `data' by `node'.
43261 This function was written.
43262 (grub_ext2_mount): Read the root inode. Create a diropen struct.
43263 (grub_ext2_find_file): Removed function.
43264 (grub_ext2_read_symlink): New function.
43265 (grub_ext2_iterate_dir): Likewise.
43266 (grub_ext2_open): Rewritten.
43267 (grub_ext2_dir): Rewritten.
43268 * include/grub/fshelp.h: New file.
43269 * fs/fshelp.c: Likewise.
43270
43271 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
43272
43273 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
43274 (print_message): Add a missing newline.
43275 (run_menu): Added timeout support.
43276 (run_menu_entry): New local function.
43277 (grub_menu_run): Added support for booting.
43278
43279 * kern/loader.c (grub_loader_is_loaded): New function.
43280
43281 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
43282 (grub_get_rtc): Exported.
43283
43284 * include/grub/i386/pc/time.h: Include grub/symbol.h.
43285 (grub_get_rtc): Exported.
43286
43287 * include/grub/normal.h (struct grub_command_list): Remove
43288 constant from the member `command'.
43289
43290 * include/grub/loader.h (grub_loader_is_loaded): Declared.
43291
43292 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
43293
43294 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
43295
43296 2004-08-28 Marco Gerards <metgerards@student.han.nl>
43297
43298 Add support for the JFS filesystem.
43299
43300 * fs/jfs.c: New file.
43301 * include/grub/fs.h (grub_jfs_init): New prototype.
43302 (grub_jfs_fini): New prototype.
43303 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
43304 (grub_emu_SOURCES): Likewise.
43305 (pkgdata_MODULES): Add jfs.mod.
43306 (jfs_mod_SOURCES): New variable.
43307 (jfs_mod_CFLAGS): Likewise.
43308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
43309 (grubof_SOURCES): Likewise.
43310 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
43311
43312 * fs/fat.c (grub_fat_find_dir): Convert the filename little
43313 endian to the host endian.
43314 (grub_fat_utf16_to_utf8): Move function from there...
43315 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
43316 the endianness of the source string anymore.
43317 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
43318
43319 2004-08-24 Marco Gerards <metgerards@student.han.nl>
43320
43321 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
43322 (grub_boot_fini) [GRUB_UTIL]: Likewise.
43323 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
43324 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
43325
43326 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
43327 (grub_hfs_iterate_dir): Make the function static. Add prototypes
43328 for `node_found' and `it_dir'.
43329 (grub_hfs_dir): Add prototype for `dir_hook'.
43330
43331 * fs/minix.c (grub_minix_get_file_block): Add prototype for
43332 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
43333 and `indir32' to silence a gcc warning.
43334
43335 * include/grub/fs.h (grub_hfs_init): New prototype.
43336 (grub_hfs_fini): Likewise.
43337
43338
43339 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43340
43341 Each disk device has its own id now. This is useful to make use
43342 of multiple disk devices.
43343
43344 * include/grub/disk.h (grub_disk_dev_id): New enum.
43345 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
43346 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
43347
43348 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
43349 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43350
43351 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
43352 GRUB_DISK_DEVICE_OFDISK_ID as an id.
43353
43354 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
43355 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43356
43357 * include/grub/disk.h (struct grub_disk_dev): Added a new member
43358 "id" which is used by the cache manager.
43359
43360 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
43361 of just "GRUB".
43362
43363 2004-08-18 Marco Gerards <metgerards@student.han.nl>
43364
43365 * fs/hfs.c: New file.
43366 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
43367 (grub_emu_SOURCES): Likewise.
43368 (pkgdata_MODULES): Add hfs.mod.
43369 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
43370 (grubof_SOURCES): Likewise.
43371 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
43372
43373 * include/grub/misc.h (grub_strncasecmp): Add prototype.
43374 * kern/misc.c (grub_strncasecmp): Add function.
43375
43376 2004-08-14 Marco Gerards <metgerards@student.han.nl>
43377
43378 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
43379 with parentheses.
43380
43381 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
43382 (grub_ext2_dir): In case the directory entry type is unknown, read
43383 it from the inode.
43384
43385 2004-08-02 Peter Bruin <pjbruin@dds.nl>
43386
43387 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
43388 grub_load_linux instead of grub_rescue_cmd_linux as second
43389 argument of grub_rescue_register_command.
43390
43391 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
43392
43393 2004-07-27 Marco Gerards <metgerards@student.han.nl>
43394
43395 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
43396 function.
43397 * commands/boot.c: Remove the check for `GRUB_UTIL'.
43398 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43399 `loader/powerpc/ieee1275/linux.c',
43400 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
43401 * include/grub/powerpc/ieee1275/ieee1275.h
43402 (grub_ieee1275_release): New prototype.
43403 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
43404 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
43405 normal, boot, linux and linux_normal.
43406 * loader/powerpc/ieee1275/linux.c: New file.
43407 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43408
43409 2004-07-12 Marco Gerards <metgerards@student.han.nl>
43410
43411 * normal/arg.c (grub_arg_parse): Correct error handling after
43412 reallocating the argumentlist (check if `argl' is not null instead
43413 of checking if `args' is not null).
43414 * kern/mm.c (grub_realloc): Return the same pointer when using the
43415 same region, instead of returning the header address.
43416
43417 2004-07-11 Marco Gerards <metgerards@student.han.nl>
43418
43419 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
43420 one block instead of two when looking for the initial partition.
43421 (grub_partition_probe): Initialize the local variable `p' with 0.
43422 Use base 10 for the grub_strtoul call.
43423 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
43424 need for one local variable.
43425 (grub_strtoul): Don't add the new value to `num', instead of that
43426 just assign it.
43427
43428 2004-07-11 Marco Gerards <metgerards@student.han.nl>
43429
43430 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
43431 (pxeboot_img_SOURCES): New variable.
43432 (pxeboot_img_ASFLAGS): Likewise.
43433 (pxeboot_img_LDFLAGS): Likewise.
43434 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
43435 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
43436 <lode_leroy@hotmail.com>.
43437
43438 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43439
43440 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
43441 there was no input.
43442
43443 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43444
43445 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
43446 the history buffer logic.
43447
43448 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43449
43450 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
43451 (FILETYPE_INO_SYMLINK): New macros.
43452 (grub_ext2_find_file): Check if the node is a directory using the
43453 inode stat information instead of using the filetype in the
43454 dirent. Exclude the first character of an absolute symlink.
43455 (grub_ext2_dir): Mask out the filetype part of the mode member of
43456 the inode.
43457
43458 2004-05-24 Marco Gerards <metgerards@student.han.nl>
43459
43460 Add support for UFS version 1 and 2. Add support for the minix
43461 filesystem version 1 and 2, both the variants with 14 and 30 long
43462 filenames.
43463
43464 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
43465 fs/minix.c.
43466 (grub_emu_SOURCES): Likewise.
43467 (pkgdata_MODULES): Add ufs.mod and minix.mod.
43468 (ufs_mod_SOURCES): New variable.
43469 (ufs_mod_CFLAGS): Likewise.
43470 (minix_mod_SOURCES): Likewise.
43471 (minix_mod_CFLAGS): Likewise.
43472 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
43473 fs/minix.c.
43474 (grubof_SOURCES): Likewise.
43475 * fs/ufs.c: New file.
43476 * fs/minix.c: New file.
43477 * include/grub/fs.h (grub_ufs_init): New prototype.
43478 (grub_ufs_fini): Likewise.
43479 (grub_minix_init): Likewise.
43480 (grub_minix_fini): Likewise.
43481 * util/grub-emu.c (main): Initialize and deinitialize UFS and
43482 minix fs.
43483
43484 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
43485
43486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
43487 commands/ls.c, commands/terminal.c, commands/boot.c,
43488 commands/cmp.c and commands/cat.c.
43489 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
43490
43491 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
43492 "env.h"
43493
43494 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43495
43496 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43497 and grub_, respectively. Because the conversion is trivial and
43498 mechanical, I omit the details here. Please refer to the CVS
43499 if you need more information.
43500
43501 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43502
43503 * include/pupa: Renamed to ...
43504 * include/grub: ... this.
43505 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43506 * util/i386/pc/grub-mkimage.c: ... this.
43507 * util/i386/pc/pupa-setup.c: Renamed to ...
43508 * util/i386/pc/grub-setup.c: ... this.
43509 * util/pupa-emu.c: Renamed to ...
43510 * util/grub-emu.c: ... this.
43511
43512 2004-03-29 Marco Gerards <metgerards@student.han.nl>
43513
43514 Add support for the newworld apple macintosh (PPC). This has been
43515 tested on the powerbook 2000 only. It only adds support for
43516 generic ieee1275 functions, console and disk support. This should
43517 be easy to port to other architectures with support for Open
43518 Firmware.
43519
43520 * configure.ac: Accept the powerpc as host_cpu. In the case of
43521 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43522 specific tests are only executed while building for the i386.
43523 Inverse test for crosscompile.
43524 * genmk.rb (Utility): Allow assembler files.
43525 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43526 * conf/powerpc-ieee1275.rmk: New file.
43527 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43528 * disk/powerpc/ieee1275/partition.c: Likewise.
43529 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43530 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43531 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43532 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43533 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43534 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43535 * include/pupa/powerpc/ieee1275/loader.h
43536 * include/pupa/powerpc/setjmp.h: Likewise.
43537 * include/pupa/powerpc/types.h: Likewise.
43538 * kern/powerpc/ieee1275/init.c: Likewise.
43539 * kern/powerpc/ieee1275/openfw.c: Likewise.
43540 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43541
43542 These files were written by Johan Rydberg
43543 (jrydberg@night.trouble.net) and I only modified them slightly.
43544
43545 * boot/powerpc/ieee1275/cmain.c: New file.
43546 * boot/powerpc/ieee1275/crt0.S: Likewise.
43547 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43548 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43549
43550 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43551
43552 * Makefile.in: Update copyright.
43553 * genmodsrc.sh: Likewise.
43554 * gensymlist.sh: Likewise.
43555 * term/i386/pc/vga.c: Indent correctly.
43556
43557 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43558 bugreporting address.
43559 * util/i386/pc/pupa-setup.c (usage): Likewise,
43560 (main): Call pupa_ext2_init and pupa_ext2_fini.
43561
43562 * fs/fat.c (log2): Renamed to ...
43563 (fat_log2): ... this.
43564 All callers changed.
43565 * kern/misc.c (memcpy): Alias to pupa_memmove.
43566 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43567 lvalue cast.
43568 * util/console.c (pupa_ncurses_fini): Return 0.
43569
43570 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43571 Move fail label here.
43572 [__GNU__]: Don't warn when using stat.
43573 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43574 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43575 long int. Use strtol instead of strtoul.
43576
43577 2004-03-14 Marco Gerards <metgerards@student.han.nl>
43578
43579 * commands/boot.c: New file.
43580 * commands/cat.c: Likewise.
43581 * commands/cmp.c: Likewise.
43582 * commands/ls.c: Likewise.
43583 * commands/terminal.c: Likewise.
43584 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43585 (pupa_register_command): Changed interface to match the new
43586 argument parser.
43587 (pupa_command_execute): Changed (almost rewritten) so it uses
43588 pupa_split_command. Added support for setting variables using the
43589 syntax `foo=bar'.
43590 (rescue_command): Changed to work with the new argument parser.
43591 (terminal_command): Moved from here to commands/terminal.c.
43592 (set_command): New function.
43593 (unset_command): New function.
43594 (insmod_command): New function.
43595 (rmmod_command): New function.
43596 (lsmod_command): New function.
43597 (pupa_command_init): Don't initialize the command terminal
43598 anymore. Initialize the commands set, unset, insmod, rmmod and
43599 lsmod.
43600 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43601 (kernel_img_HEADERS): Add arg.h and env.h.
43602 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43603 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43604 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43605 normal/arg.c.
43606 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43607 terminal.mod.
43608 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43609 (boot_mod_SOURCES): New variable.
43610 (terminal_mod_SOURCES): Likewise.
43611 (ls_mod_SOURCES): Likewise.
43612 (cmp_mod_SOURCES): Likewise.
43613 (cat_mod_SOURCES): Likewise.
43614
43615 * normal/arg.c: New file.
43616 * kern/env.c: Likewise.
43617 * include/pupa/arg.h: Likewise.
43618 * include/pupa/env.h: Likewise.
43619 * font/manager.c (font_command): Changed to match argument parsing
43620 interface changes.
43621 (PUPA_MOD_INIT): Likewise.
43622 * hello/hello.c (pupa_cmd_hello): Likewise.
43623 (PUPA_MOD_INIT): Likewise.
43624 * include/pupa/disk.h: Include <pupa/device.h>.
43625 (pupa_print_partinfo): New prototype.
43626 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43627 (pupa_dl_get_prefix): Likewise.
43628 * include/pupa/misc.h: Include <pupa/err.h>.
43629 (pupa_isgraph): New prototype.
43630 (pupa_isdigit): Likewise.
43631 (pupa_split_cmdline): Likewise.
43632 * include/pupa/normal.h: Include <pupa/arg.h>.
43633 (pupa_command): Changed the prototype of the member `func' to
43634 match the argument parsing interface. Added member `options'.
43635 (pupa_register_command): Updated to match function.
43636 (pupa_arg_parse): New prototype.
43637 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43638 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43639 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43640 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43641 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43642 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43643 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43644 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43645 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43646 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43647 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43648 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43649 * kern/disk.c: Include <pupa/file.h>.
43650 (pupa_print_partinfo): New function.
43651 * kern/dl.c: Include <pupa/env.h>.
43652 (pupa_dl_dir): Variable removed.
43653 (pupa_dl_load): Use the environment variable `prefix' instead of
43654 the variable pupa_dl_dir.
43655 (pupa_dl_set_prefix): Function removed.
43656 (pupa_dl_get_prefix): Likewise.
43657 * kern/i386/pc/init.c: Include <pupa/env.h>.
43658 (pupa_machine_init): Use the environment variable `prefix' instead of
43659 using pupa_dl_set_prefix to set the prefix.
43660 * kern/main.c: Include <pupa/env.h>.
43661 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43662 using pupa_dl_get_prefix to get the prefix.
43663 * kern/misc.c: Include <pupa/env.h>.
43664 (pupa_isdigit): New function.
43665 (pupa_isgraph): Likewise.
43666 (pupa_ftoa): Likewise.
43667 (pupa_vsprintf): Added support for printing values of the type
43668 `double'. Make it possible to format variable output when using
43669 formatting like `%1.2%f'.
43670 (pupa_split_cmdline): New function.
43671 * kern/rescue.c: Include <pupa/env.h>.
43672 (next_word): Removed function.
43673 (pupa_rescue_cmd_prefix): Likewise.
43674 (pupa_rescue_cmd_set): New function.
43675 (pupa_rescue_cmd_unset): New function.
43676 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
43677 split the command line instead of splitting it here. Added
43678 support for setting variables using the syntax `foo=bar'. Don't
43679 initialize the prefix command anymore. Initialized the set and
43680 unset commands.
43681 * normal/cmdline.c: Include <pupa/env.h>.
43682 (pupa_tab_complete): Added prototypes for print_simple_completion,
43683 print_partition_completion, add_completion, iterate_commands,
43684 iterate_dev, iterate_part and iterate_dir. Moved code to print
43685 partition information from here to kern/disk.c.
43686 (pupa_cmdline_run): Don't check if the function exists anymore.
43687 * normal/main.c: Include <pupa/env.h>.
43688 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
43689 instead of using pupa_dl_get_prefix to get the prefix.
43690 * term/i386/pc/vga.c: Include <pupa/arg.h>.
43691 (check_vga_mem): Cast pointers to `void *' to silence a gcc
43692 warning.
43693 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
43694 (pupa_vga_setcolor): Declare unused variables with `__attribute__
43695 ((unused))' to silence a gcc warning.
43696 (pupa_vga_setcolor): Likewise.
43697 (debug_command): Changed to match argument parsing
43698 interface changes.
43699 * util/pupa-emu.c: Include <pupa/env.h>.
43700 (options): Added 0's for unused fields to silence a gcc warning.
43701 (argp): Likewise.
43702 (main): Use the environment variable `prefix' instead of using
43703 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
43704 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
43705 and terminal.
43706
43707 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
43708 * util/misc.c: Include <malloc.h>.
43709 (pupa_malloc): Rewritten so errors are correctly reported.
43710 (pupa_realloc): Likewise.
43711 (pupa_memalign): Likewise.
43712 (pupa_mm_init_region): Declare unused variables with
43713 `__attribute__ ((unused))' to silence a gcc warning.
43714 * normal/i386/setjmp.S: Remove tab at the end of the file to
43715 silence a gcc warning.
43716 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
43717 variables with `__attribute__ ((unused))' to silence a gcc
43718 warning.
43719 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
43720 local variable i unsigned to silence a gcc warning.
43721
43722 * kern/term.c: Include <pupa/misc.h>.
43723 (pupa_more_lines): New variable.
43724 (pupa_more): Likewise.
43725 (pupa_putcode): When the pager is active pause at the end of every
43726 screen.
43727 (pupa_set_more): New function.
43728 * include/pupa/term.h (pupa_set_more): New prototype.
43729
43730
43731 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
43732
43733 Now this project is GRUB 2 rather than PUPA. The location of
43734 the CVS repository was moved to GRUB's.
43735
43736 * configure.ac: Use bug-grub as the reporting address.
43737 Use GRUB instead of PUPA.
43738 Change the version number to 1.90.
43739
43740 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
43741
43742 * genkernsyms.sh: Updated copyright information.
43743 * genmk.rb: Likewise.
43744 * genmodsrc.sh: Likewise.
43745 * gensymlist.sh: Likewise.
43746 * boot/i386/pc/boot.S: Likewise.
43747 * boot/i386/pc/diskboot.S: Likewise.
43748 * disk/i386/pc/biosdisk.c: Likewise.
43749 * disk/i386/pc/partition.c: Likewise.
43750 * font/manager.c: Likewise.
43751 * fs/ext2.c: Likewise.
43752 * fs/fat.c: Likewise.
43753 * include/pupa/boot.h: Likewise.
43754 * include/pupa/device.h: Likewise.
43755 * include/pupa/disk.h: Likewise.
43756 * include/pupa/dl.h: Likewise.
43757 * include/pupa/elf.h: Likewise.
43758 * include/pupa/err.h: Likewise.
43759 * include/pupa/file.h: Likewise.
43760 * include/pupa/font.h: Likewise.
43761 * include/pupa/fs.h: Likewise.
43762 * include/pupa/kernel.h: Likewise.
43763 * include/pupa/loader.h: Likewise.
43764 * include/pupa/misc.h: Likewise.
43765 * include/pupa/mm.h: Likewise.
43766 * include/pupa/net.h: Likewise.
43767 * include/pupa/normal.h: Likewise.
43768 * include/pupa/rescue.h: Likewise.
43769 * include/pupa/setjmp.h: Likewise.
43770 * include/pupa/symbol.h: Likewise.
43771 * include/pupa/term.h: Likewise.
43772 * include/pupa/types.h: Likewise.
43773 * include/pupa/i386/setjmp.h: Likewise.
43774 * include/pupa/i386/types.h: Likewise.
43775 * include/pupa/i386/pc/biosdisk.h: Likewise.
43776 * include/pupa/i386/pc/boot.h: Likewise.
43777 * include/pupa/i386/pc/console.h: Likewise.
43778 * include/pupa/i386/pc/init.h: Likewise.
43779 * include/pupa/i386/pc/kernel.h: Likewise.
43780 * include/pupa/i386/pc/linux.h: Likewise.
43781 * include/pupa/i386/pc/loader.h: Likewise.
43782 * include/pupa/i386/pc/memory.h: Likewise.
43783 * include/pupa/i386/pc/multiboot.h: Likewise.
43784 * include/pupa/i386/pc/partition.h: Likewise.
43785 * include/pupa/i386/pc/time.h: Likewise.
43786 * include/pupa/i386/pc/vga.h: Likewise.
43787 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
43788 * include/pupa/util/getroot.h: Likewise.
43789 * include/pupa/util/misc.h: Likewise.
43790 * include/pupa/util/resolve.h: Likewise.
43791 * kern/device.c: Likewise.
43792 * kern/disk.c: Likewise.
43793 * kern/dl.c: Likewise.
43794 * kern/err.c: Likewise.
43795 * kern/file.c: Likewise.
43796 * kern/fs.c: Likewise.
43797 * kern/loader.c: Likewise.
43798 * kern/main.c: Likewise.
43799 * kern/misc.c: Likewise.
43800 * kern/mm.c: Likewise.
43801 * kern/rescue.c: Likewise.
43802 * kern/term.c: Likewise.
43803 * kern/i386/dl.c: Likewise.
43804 * kern/i386/pc/init.c: Likewise.
43805 * kern/i386/pc/lzo1x.S: Likewise.
43806 * kern/i386/pc/startup.S: Likewise.
43807 * loader/i386/pc/chainloader.c: Likewise.
43808 * loader/i386/pc/linux.c: Likewise.
43809 * loader/i386/pc/multiboot.c: Likewise.
43810 * normal/cmdline.c: Likewise.
43811 * normal/command.c: Likewise.
43812 * normal/main.c: Likewise.
43813 * normal/menu.c: Likewise.
43814 * normal/i386/setjmp.S: Likewise.
43815 * term/i386/pc/console.c: Likewise.
43816 * term/i386/pc/vga.c: Likewise.
43817 * util/console.c: Likewise.
43818 * util/genmoddep.c: Likewise.
43819 * util/misc.c: Likewise.
43820 * util/pupa-emu.c: Likewise.
43821 * util/resolve.c: Likewise.
43822 * util/unifont2pff.rb: Likewise.
43823 * util/i386/pc/biosdisk.c: Likewise.
43824 * util/i386/pc/getroot.c: Likewise.
43825 * util/i386/pc/pupa-mkimage.c: Likewise.
43826 * util/i386/pc/pupa-setup.c: Likewise.
43827
43828 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
43829
43830 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
43831 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
43832 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
43833 reading and reset it after reading.
43834 (pupa_ext2_close): Return PUPA_ERR_NONE.
43835
43836 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
43837 Correct value.
43838 (struct linux_kernel_header): Add kernel_version and
43839 initrd_addr_max.
43840 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
43841 pupa_file_read succeeds.
43842 (pupa_rescue_cmd_initrd): Implement.
43843
43844 2003-12-03 Marco Gerards <metgerards@student.han.nl>
43845
43846 * fs/ext2.c (pupa_ext2_label): New function.
43847 (pupa_ext2_fs): Added label.
43848 * fs/fat.c (pupa_fat_label): New function.
43849 (pupa_fat_fs): Added label.
43850 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
43851
43852 * kern/misc.c (pupa_strndup): New function.
43853 * include/pupa/misc.h (pupa_strndup): New prototype.
43854
43855 * include/pupa/normal.h: Include <pupa/err.h>.
43856 (pupa_set_history): New prototype.
43857 (pupa_iterate_commands): New prototype.
43858 * normal/cmdline.c: Include <pupa/machine/partition.h>,
43859 <pupa/disk.h>, <pupa/file.h>.
43860 (hist_size): New variable.
43861 (hist_lines): Likewise.
43862 (hist_end): Likewise.
43863 (hist_used): Likewise.
43864 (pupa_set_history): New function.
43865 (pupa_history_get): Likewise.
43866 (pupa_history_add): Likewise.
43867 (pupa_history_replace): Likewise.
43868 (pupa_tab_complete): Likewise.
43869 (pupa_cmdline_run): Added tab completion and history buffer. Tab
43870 completion shows partitionnames while completing partitions, this
43871 feature was suggested by Jeff Bailey.
43872 * normal/command.c (pupa_iterate_commands): New function.
43873 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
43874 (pupa_normal_init): Initialize history buffer.
43875 (PUPA_MOD_INIT): Likewise.
43876 (pupa_normal_fini): Free the history buffer.
43877 (PUPA_MOD_FINI): Likewise.
43878
43879 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
43880 key.
43881
43882 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
43883 * configure.ac [i386]: Check for regparam bug.
43884 (NESTED_FUNC_ATTR) [! i386]: Defined.
43885
43886 2003-11-17 Marco Gerards <metgerards@student.han.nl>
43887
43888 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
43889 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
43890 (pupa_emu_SOURCES): New variable.
43891 (pupa_emu_LDFLAGS): Likewise.
43892 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
43893 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
43894 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
43895 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43896 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
43897 (pupa_jmp_buf): New typedef.
43898 (pupa_setjmp) [PUPA_UTIL]: New macro.
43899 (pupa_longjmp) [PUPA_UTIL]: Likewise.
43900 * include/pupa/term.h (struct pupa_term): New member `refresh'.
43901 (pupa_refresh): New prototype.
43902 * include/pupa/util/getroot.h: New file.
43903 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
43904 it.
43905 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
43906 (pupa_rescue_cmd_cat): Likewise.
43907 (pupa_rescue_cmd_ls): Likewise.
43908 (pupa_rescue_cmd_testload): Likewise.
43909 (pupa_rescue_cmd_lsmod): Likewise.
43910 * normal/cmdline.c (pupa_cmdline_get): Likewise.
43911 * normal/menu.c (run_menu): Likewise.
43912 * kern/term.c (pupa_cls): Likewise.
43913 (pupa_refresh): New function.
43914 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
43915 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43916 * util/console.c: New file.
43917
43918 * util/i386/pc/getroot.c: New file.
43919 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
43920 (pupa_putchar): New function.
43921 (pupa_refresh): Likewise.
43922 (xgetcwd): Function moved to ...
43923 (strip_extra_slashes): Likewise.
43924 (get_prefix): Likewise.
43925 * util/i386/pc/getroot.c: ... here.
43926 (find_root_device): Function moved and renamed to...
43927 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
43928 Changed all callers.
43929 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
43930 and renamed to...
43931 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
43932 Changed all callers.
43933 * util/misc.c (pupa_memalign): New function.
43934 (pupa_mm_init_region): Likewise.
43935 (pupa_register_exported_symbols): Likewise.
43936 (pupa_putchar): Function removed.
43937 * util/pupa-emu.c: New file.
43938
43939 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
43940
43941 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
43942 (_multiboot_mod_SOURCES): New variable.
43943 (_multiboot_mod_CFLAGS): Likewise.
43944 * loader/i386/pc/multiboot.c: New file.
43945 * include/pupa/i386/pc/multiboot.h: Likewise.
43946 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
43947 (pupa_multiboot_real_boot): New function.
43948 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
43949 (pupa_multiboot_real_boot): New prototype.
43950 (pupa_rescue_cmd_multiboot): Likewise
43951 (pupa_rescue_cmd_module): Likewise.
43952
43953 * kern/loader.c (pupa_loader_set): Continue when
43954 pupa_loader_unload_func() fails.
43955 (pupa_loader_unset): New function.
43956 * include/pupa/loader.h (pupa_loader_unset): New prototype.
43957
43958 * kern/misc.c (pupa_stpcpy): New function.
43959 * include/pupa/misc.h (pupa_stpcpy): New prototype.
43960
43961 2003-11-12 Marco Gerards <metgerards@student.han.nl>
43962
43963 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
43964 for available extensions.
43965
43966 * include/pupa/i386/pc/time.h: New file.
43967 * kern/disk.c: Include <pupa/machine/time.h>.
43968 (PUPA_CACHE_TIMEOUT): New macro.
43969 (pupa_last_time): New variable.
43970 (pupa_disk_open): Flush the cache when there was a timeout.
43971 (pupa_disk_close): Reset the timer.
43972 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
43973 pupa_currticks.
43974 * util/misc.c: Include <sys/times.h>
43975 (pupa_get_rtc): New function.
43976
43977 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43978
43979 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
43980 as blocks.
43981 (pupa_ext2_get_file_block): Use blocks member.
43982
43983 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
43984 first block. Return -1 instead of pupa_errno on error.
43985
43986 2003-10-27 Marco Gerards <metgerards@student.han.nl>
43987
43988 * README: In the pupa-mkimage example use _chain instead of chain
43989 and ext2 instead of fat.
43990 * TODO: Replace ext2fs with jfs as an example. Add an item for
43991 adding journal playback for ext2fs.
43992 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
43993 (pkgdata_MODULES): Added ext2.mod.
43994 (ext2_mod_SOURCES): New variable.
43995 (ext2_mod_CFLAGS): Likewise.
43996 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
43997 * include/pupa/misc.h (pupa_strncpy): New prototype.
43998 (pupa_strcat): Likewise.
43999 (pupa_strncmp): Likewise.
44000 * kern/misc.c (pupa_strcat): Enable function.
44001 (pupa_strncpy): New function.
44002 (pupa_strncmp): Likewise.
44003 * fs/ext2.c: New file.
44004
44005 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
44006 when the read failed before retrying.
44007 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
44008 (_FILE_OFFSET_BITS): Likewise.
44009 * configure.ac: Added AC_SYS_LARGEFILE.
44010
44011 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44012
44013 * genmk.rb (PModule#rule): Make sure to get only symbol names
44014 from the output of nm.
44015 Reported by Robert Millan <rmh.grub@aybabtu.com>.
44016
44017 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44018
44019 I forgot to check in these changes for a long time. This adds
44020 incomplete support for VGA console, and this is still very
44021 buggy. Also, a lot of consideration is required for I18N,
44022 UNICODE, and VGA font issues. Therefore, assume that this is
44023 such that "better than nothing".
44024
44025 * font/manager.c: New file.
44026 * include/pupa/font.h: Likewise.
44027 * include/pupa/i386/pc/vga.h: Likewise.
44028 * term/i386/pc/vga.c: Likewise.
44029 * util/unifont2pff.rb: Likewise.
44030
44031 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
44032 (pkgdata_MODULES): Added vga.mod and font.mod.
44033 (vga_mod_SOURCES): New variables.
44034 (vga_mod_CFLAGS): Likewise.
44035 (font_mod_SOURCES): Likewise.
44036 (font_mod_CFLAGS): Likewise.
44037
44038 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
44039
44040 * include/pupa/term.h: Include pupa/err.h.
44041 (struct pupa_term): Added init and fini.
44042 Changed the argument of putchar to pupa_uint32_t.
44043
44044 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
44045 (pupa_console_real_putchar): New prototype.
44046 (pupa_console_putchar): Removed.
44047 (pupa_console_checkkey): Exported.
44048 (pupa_console_getkey): Likewise.
44049
44050 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
44051 characters.
44052
44053 * kern/term.c (pupa_term_set_current): Rewritten.
44054 (pupa_putchar): Likewise.
44055 (pupa_putcode): New function.
44056
44057 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
44058 (pupa_console_real_putchar): ... this.
44059 (pupa_vga_set_mode): New function.
44060 (pupa_vga_get_font): Likewise.
44061
44062 * normal/command.c: Include pupa/term.h.
44063 (terminal_command): New function.
44064 (pupa_command_init): Register the command "terminal".
44065
44066 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
44067 (DISP_UP): Likewise.
44068 (DISP_RIGHT): Likewise.
44069 (DISP_DOWN): Likewise.
44070 (DISP_HLINE): Likewise.
44071 (DISP_VLINE): Likewise.
44072 (DISP_UL): Likewise.
44073 (DISP_UR): Likewise.
44074 (DISP_LL): Likewise.
44075 (DISP_LR): Likewise.
44076
44077 * term/i386/pc/console.c (pupa_console_putchar): New function.
44078
44079 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
44080
44081 * util/resolve.c (pupa_util_resolve_dependencies): BUG
44082 FIX. Reverse the path_list.
44083
44084 * include/pupa/normal.h: Export pupa_register_command and
44085 pupa_unregister_command.
44086
44087 * hello/hello.c (pupa_cmd_hello): New module.
44088 * conf/i386-pc.rmk: Added hello.mod.
44089
44090 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
44091
44092 * kern/i386/pc/lzo1x.S: New file.
44093
44094 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
44095 (compress_kernel): New variable.
44096 (generate_image): Heavily modified to support compressing a
44097 large part of the core image.
44098
44099 * util/misc.c (pupa_util_read_image): Fix a file descriptor
44100 leak.
44101 (pupa_util_load_image): New function.
44102
44103 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
44104 (pupa_compressed_size): New variable.
44105 (codestart): Enable Gate A20 here.
44106 Decompress the compressed part of the core image.
44107 Rearrange the code to put functions and variables which are
44108 required for initialization in the non-compressed part.
44109 Include lzo1x.S.
44110
44111 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
44112 here.
44113
44114 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
44115
44116 * include/pupa/i386/pc/kernel.h
44117 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
44118 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
44119 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44120 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44121 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
44122
44123 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
44124
44125 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
44126 (Utility#rule): Likewise.
44127
44128 * configure.ac: Check if LZO is available.
44129
44130 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
44131
44132 * include/pupa/normal.h: New file.
44133 * include/pupa/setjmp.h: Likewise.
44134 * include/pupa/i386/setjmp.h: Likewise.
44135 * normal/cmdline.c: Likewise.
44136 * normal/command.c: Likewise.
44137 * normal/main.c: Likewise.
44138 * normal/menu.c: Likewise.
44139 * normal/i386/setjmp.S: Likewise.
44140
44141 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
44142 (pupa_rescue_cmd_initrd): Likewise.
44143
44144 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
44145 Likewise.
44146
44147 * kern/i386/pc/startup.S (translation_table): New variable.
44148 (translate_keycode): New function.
44149 (pupa_console_getkey): Call translate_keycode.
44150
44151 * kern/rescue.c (attempt_normal_mode): New function.
44152 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
44153 it failed, print a message.
44154
44155 * kern/mm.c (pupa_real_malloc): Print more information when a
44156 free magic is broken.
44157 (pupa_free): If the first free header is not free actually, set
44158 it to P.
44159
44160 * kern/main.c (pupa_load_normal_mode): Just load the module
44161 "normal".
44162 (pupa_main): Don't print the message
44163 "Entering into rescue mode..." here.
44164
44165 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
44166 Declared.
44167 (pupa_rescue_cmd_initrd): Likewise.
44168 (pupa_rescue_cmd_initrd): Likewise.
44169
44170 * include/pupa/symbol.h (FUNCTION): Specify the type.
44171 (VARIABLE): Likewise.
44172
44173 * include/pupa/err.h (pupa_err_t): Added
44174 PUPA_ERR_UNKNOWN_COMMAND.
44175
44176 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
44177 (pupa_dl_get_prefix): Likewise.
44178
44179 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
44180 Added _chain.mod and _linux.mod instead of chain.mod and
44181 linux.mod.
44182 (chain_mod_SOURCES): Renamed to ...
44183 (_chain_mod_SOURCES): ... this.
44184 (chain_mod_CFLAGS): Renamed to ...
44185 (_chain_mod_CFLAGS): ... this.
44186 (linux_mod_SOURCES): Renamed to ...
44187 (_linux_mod_SOURCES): ... this.
44188 (linux_mod_CFLAGS): Renamed to ...
44189 (_linux_mod_CFLAGS): ... this.
44190 (normal_mod_SOURCES): New variable.
44191 (normal_mod_CFLAGS): Likewise.
44192 (normal_mod_ASFLAGS): Likewise.
44193
44194 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
44195
44196 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
44197 possible.
44198
44199 * kern/dl.c (pupa_dl_ref): Refer depending modules
44200 recursively.
44201 (pupa_dl_unref): Unrefer depending modules recursively.
44202 Don't call pupa_dl_unload implicitly, because PUPA can crash if
44203 a module is unloaded before one depending on that module is
44204 unloaded.
44205 (pupa_dl_unload): Unload depending modules explicitly,
44206 if possible.
44207
44208 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
44209
44210 * include/pupa/i386/pc/linux.h: New file.
44211 * loader/i386/pc/linux.c: Likewise.
44212
44213 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
44214 Removed.
44215 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
44216 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
44217 of PUPA_CHAINLOADER_BOOT_SECTOR.
44218
44219 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
44220 (pupa_linux_prot_size): New variable.
44221 (pupa_linux_tmp_addr): Likewise.
44222 (pupa_linux_real_addr): Likewise.
44223 (pupa_linux_boot_zimage): New function.
44224 (pupa_linux_boot_bzimage): Likewise.
44225
44226 * kern/i386/pc/init.c (struct mem_region): New structure.
44227 (MAX_REGIONS): New macro.
44228 (mem_regions): New variable.
44229 (num_regions): Likewise.
44230 (pupa_os_area_addr): Likewise.
44231 (pupa_os_area_size): Likewise.
44232 (pupa_lower_mem): Likewise.
44233 (pupa_upper_mem): Likewise.
44234 (add_mem_region): New function.
44235 (compact_mem_regions): Likewise.
44236 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
44237 the size of the conventional memory and that of so-called upper
44238 memory (before the first memory hole).
44239 Instead of adding each found region to free memory, use
44240 add_mem_region and add them after removing overlaps.
44241 Also, add only 1/4 of the upper memory to free memory. The rest
44242 is used for loading OS images. Maybe this is ad hoc, but this
44243 makes it much easier to relocate OS images when booting.
44244
44245 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
44246 (pupa_enter_rescue_mode): Don't register initrd and module.
44247
44248 * kern/mm.c: Include pupa/dl.h.
44249
44250 * kern/main.c: Include pupa/file.h and pupa/device.h.
44251
44252 * kern/loader.c (pupa_loader_load_module_func): Removed.
44253 (pupa_loader_load_module): Likewise.
44254
44255 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
44256 ``.o''.
44257
44258 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
44259 (pupa_linux_tmp_addr): Likewise.
44260 (pupa_linux_real_addr): Likewise.
44261 (pupa_linux_boot_zimage): Likewise.
44262 (pupa_linux_boot_bzimage): Likewise.
44263
44264 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
44265 (pupa_upper_mem): Likewise.
44266 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
44267 module is too dangerous.
44268
44269 * include/pupa/loader.h (pupa_os_area_addr): Declared.
44270 (pupa_os_area_size): Likewise.
44271 (pupa_loader_set): Remove the first argument. Loader doesn't
44272 manage modules or initrd any longer.
44273 (pupa_loader_load_module): Removed.
44274
44275 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
44276 (linux_mod_SOURCES): New variable.
44277 (linux_mod_CFLAGS): Likewise.
44278
44279 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
44280
44281 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
44282 the length of a blocklist correctly.
44283
44284 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
44285 Use ioctl only if the OS file is a block device.
44286 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
44287 not very useful for normal files.
44288
44289 * kern/main.c (pupa_set_root_dev): New function.
44290 (pupa_load_normal_mode): Likewise.
44291 (pupa_main): Call those above.
44292
44293 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
44294 pupa_uint16_t.
44295
44296 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
44297
44298 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44299
44300 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
44301 (setup): Configure the installed partition information and the
44302 dl prefix.
44303
44304 * loader/i386/pc/chainloader.c (my_mod): New variable.
44305 (pupa_chainloader_unload): New function.
44306 (pupa_rescue_cmd_chainloader): Refer itself.
44307 (PUPA_MOD_INIT): Save its own module in MY_MOD.
44308
44309 * kern/i386/pc/startup.S (install_partition): Removed.
44310 (version_string): Likewise.
44311 (config_file): Likewise.
44312 (pupa_install_dos_part): New variable.
44313 (pupa_install_bsd_part): Likewise.
44314 (pupa_prefix): Likewise.
44315 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
44316
44317 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
44318 and pupa/misc.h.
44319 (make_install_device): New function.
44320 (pupa_machine_init): Set the dl prefix.
44321
44322 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
44323 (buf): Renamed to ...
44324 (linebuf): ... this.
44325 (pupa_rescue_cmd_prefix): New function.
44326 (pupa_rescue_cmd_insmod): Likewise.
44327 (pupa_rescue_cmd_rmmod): Likewise.
44328 (pupa_rescue_cmd_lsmod): Likewise.
44329 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
44330 rmmod and lsmod.
44331
44332 * kern/mm.c (pupa_memalign): If failed even after invalidating
44333 disk caches, unload unneeded modules and retry.
44334
44335 * kern/misc.c (pupa_memmove): New function.
44336 (pupa_memcpy): Removed.
44337 (pupa_strcpy): New function.
44338 (pupa_itoa): Made static.
44339
44340 * kern/dl.c (pupa_dl_iterate): New function.
44341 (pupa_dl_ref): Likewise.
44342 (pupa_dl_unref): Likewise.
44343 (pupa_dl_unload): Return if succeeded or not.
44344 (pupa_dl_unload_unneeded): New function.
44345 (pupa_dl_unload_all): Likewise.
44346 (pupa_dl_init): Renamed to ...
44347 (pupa_dl_set_prefix): ... this.
44348 (pupa_dl_get_prefix): New function.
44349
44350 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
44351 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
44352 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44353 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44354 (pupa_install_dos_part): Declared.
44355 (pupa_install_bsd_part): Likewise.
44356 (pupa_prefix): Likewise.
44357 (pupa_boot_drive): Likewise.
44358
44359 * include/pupa/types.h: Fix a typo.
44360
44361 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
44362 pupa_memmove.
44363 (pupa_memmove): Declared.
44364 (pupa_strcpy): Likewise.
44365
44366 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
44367 pupa_mod_init takes one argument, its own module.
44368 (pupa_dl_unload_unneeded): Declared.
44369 (pupa_dl_unload_all): Likewise.
44370 (pupa_dl_ref): Likewise.
44371 (pupa_dl_unref): Likewise.
44372 (pupa_dl_iterate): Likewise.
44373 (pupa_dl_init): Renamed to ...
44374 (pupa_dl_set_prefix): ... this.
44375 (pupa_dl_get_prefix): Declared.
44376
44377 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
44378 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
44379 unloaded.
44380 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
44381 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
44382
44383 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
44384 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
44385
44386 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44387
44388 * util/i386/pc/pupa-setup.c (setup): Define the internal
44389 function find_first_partition_start at the top level, because GCC
44390 3.0.x cannot compile internal functions in deeper scopes
44391 correctly.
44392 (find_root_device): Use lstat instead of stat.
44393 Don't follow symbolic links.
44394 Fix the path-constructing code.
44395
44396 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
44397 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
44398 by a BLKGETSIZE ioctl first, because block devices don't fill
44399 the member st_mode of the structure stat on Linux.
44400 [__linux__] (linux_find_partition): Use a temporary buffer
44401 REAL_DEV for the working space. Copy it to DEV before returning.
44402 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
44403 buffer cache consistent.
44404 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
44405 strncmp. The previous value was merely wrong.
44406 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
44407
44408 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
44409 FAT size is 12. The previous value was merely wrong.
44410
44411 * kern/main.c (pupa_main): Don't split the starting message from
44412 newlines.
44413
44414 * kern/term.c (pupa_putchar): Put CR after LF instead of before
44415 LF, because BIOS goes crazy about character attributes in this
44416 case.
44417
44418 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44419
44420 * include/i386/pc/util/biosdisk.h: New file.
44421 * util/i386/pc/biosdisk.c: Likewise.
44422 * util/i386/pc/pupa-setup.c: Likewise.
44423
44424 * Makefile.in (INCLUDE_DISTFILES): Added
44425 include/pupa/i386/pc/util/biosdisk.h.
44426 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
44427 directory util/i386/pc.
44428 (install-local): Added a rule for sbin_UTILITIES.
44429 (uninstall): Likewise.
44430
44431 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
44432
44433 * util/misc.c (xrealloc): New function.
44434 (pupa_malloc): Likewise.
44435 (pupa_free): Likewise.
44436 (pupa_realloc): Likewise.
44437 (pupa_stop): Likewise.
44438 (pupa_putchar): Likewise.
44439
44440 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
44441
44442 * include/pupa/util/misc.h (xrealloc): Declared.
44443
44444 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
44445 macro.
44446 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
44447 (PUPA_BOOT_MACHINE_BPB_END): ... this.
44448
44449 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
44450 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44451
44452 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
44453 way should be implemented.
44454 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44455
44456 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
44457 the size of NAME for safety.
44458 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
44459 0x88.
44460
44461 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
44462 (pupa_setup_SOURCES): Likewise.
44463
44464 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
44465
44466 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44467
44468 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
44469 bunch of pushl's from pusha, because this destroys the return
44470 value.
44471
44472 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44473
44474 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
44475 This means that any missing prototypes could be fatal. Also, you
44476 must take care when writing assembly code. See the comments at
44477 the beginning of startup.S, for more details.
44478
44479 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
44480 compilation mechanism.
44481 (pupa_chainloader_real_boot): Likewise.
44482 (pupa_biosdisk_rw_int13_extensions): Likewise.
44483 (pupa_biosdisk_rw_standard): Likewise.
44484 (pupa_biosdisk_check_int13_extensions): Likewise.
44485 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
44486 (pupa_biosdisk_get_diskinfo_standard): Likewise.
44487 (pupa_get_memsize): Likewise.
44488 (pupa_get_mmap_entry): Likewise.
44489 (pupa_console_putchar): Likewise.
44490 (pupa_console_setcursor): Likewise.
44491 (pupa_getrtsecs): Use pushl instead of push.
44492
44493 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
44494 memory instead of the stack for a mmap entry, because some
44495 BIOSes may ignore the maximum size and overflow.
44496
44497 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44498
44499 * genmk.rb (PModule#rule): Compile automatically generated
44500 sources with module-specific CFLAGS as well as other sources.
44501
44502 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44503
44504 * configure.ac: Check ld.
44505 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44506 respectively, before checking endianness and sizes.
44507
44508 * Makefile.in (LD): New variable.
44509
44510 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44511
44512 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44513
44514 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44515
44516 * Changelog: New file.
44517