]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
[grub2.git] / ChangeLog
CommitLineData
b282dfe5
VS
12012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
4 Allocate at lest 8192 for temporary buffer as required for lzo.
5
daa59f47
VS
62012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
9 to cluster_bits, since it's already added in.
10 (grub_fat_read_data): Likewise.
11
986748ce
VS
122012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
15 as long as cluster size is multiple of 512 bytes.
16
a20f6ad0
VS
172012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * util/grub-mkrescue.in: Fix locale directory.
20
385f9abb
VS
212012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * grub-core/kern/emu/hostdisk.c (map): Make static.
24
1c557d30
B
252012-04-23 Bean <bean123ch@gmail.com>
26
27 * util/grub-fstest.c (fstest): Add missing break.
28
524b5d3a
ST
292012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
30
31 Fix hurd build.
32
33 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
34 not define nr variable.
fe4824e9 35 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
36 find_root_devices_from_poolname, find_root_devices_from_libzfs,
37 grub_find_device): Do not define.
524b5d3a 38
9a06490c
VS
392012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
40
41 Fix kfreebsd compile and behaviour.
42
43 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
44 format-security.
45 * util/getroot.c: Fix wait.h include.
46 (grub_guess_root_devices): Error if grub_find_device fails.
47 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
48 (grub_util_get_dev_abstraction): Likewise.
49 (grub_util_pull_device): Likewise.
50 (grub_util_get_grub_dev): Likewise.
51 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
52
48143d96
VS
532012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
54
55 Fix and unify wholedisk detection.
56
57 * util/getroot.c (convert_system_partition_to_system_disk): New argument
58 is_part. All users updated.
59 (device_is_wholedisk): Removed.
60 (grub_util_biosdisk_get_grub_dev): Use is_part.
61
ebbd24f3
VS
622012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
65 mode.
66
56f7aa1e
VS
672012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * configure.ac: Bump to beta4.
70
9c815e01
VS
712012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
74 --fs-uuid --set UUID syntax.
75
59e2651a
VS
762012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
79 disunification.
80
54e03cfc
VS
812012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
84
81092a75
MK
852012-04-18 Mads Kiilerich <mads@kiilerich.com>
86
87 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
88
f8315e14
MG
892012-04-18 Mike Gilbert <floppym@gentoo.org>
90
91 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
92
1501ac21
B
932012-04-18 Bean <bean123ch@gmail.com>
94
95 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
96 place.
97
cb7f944e
VS
982012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
101 users updated.
102 (grub_util_biosdisk_read): Handle Linux partitions not exactly
103 corresponding to GRUB partitions.
104 (grub_util_biosdisk_write): Likewise.
105
b72d44a1
VS
1062012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
107
108 Scan mdraid before LVM.
109
110 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
111 (grub_diskfilter_register_front): ... this.
112 (grub_diskfilter_register_back): New function.
113 All users of grub_diskfilter_register updated.
114
33d918b8
VS
1152012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
116
117 * util/grub-install.in: Fix an automatic target detection bug.
118
c6ca973d
VS
1192012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * util/grub-install.in: New option --efi-directory.
122
b41be562
VS
1232012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
126 boot services if we have no other choice.
127
1282012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * util/grub-mknetdir.in: Rename --override-directory to --directory and
131 document it.
132 * tests/util/grub-shell.in: Update to --directory.
133
e0595a73
VS
1342012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
137
4ed80652
VS
1382012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
141 (grub_minix_read_file): Likewise.
142 (grub_minix_read_inode): Likewise.
143 (grub_minix_find_file): Likewise.
144 (grub_minix_dir): Likewise.
145
56008077
VS
1462012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * util/grub-setup.c (setup): Fix partition handling and blocklist
149 check.
150
ee520775
VS
1512012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
154 redundant buggy overlap check.
155
16fc9293
VS
1562012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
159 and grub-mknetdir.
160
9bab65c4
VS
1612012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
164 kh.loadflags on pre-2.00 kernels.
165
3c491b47
VS
1662012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
167
168 Terminate UNDI and PXE before launching the payload to avoid problems
169 with DMA.
170
171 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
172 (grub_loader_flags): ... this. All users updated.
173 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
174 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
175 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
176 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
177 function.
178 (grub_pxe_restore): Likewise.
179 (fini_hnd): New var.
180 (GRUB_MOD_INIT): Register shutdown hook.
181 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
182 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
183 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
184 (grub_loader_set): Rename second argument to flags.
185
851ffada
VS
1862012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
189 written bytes.
190 (grub_get_num_of_utf8_bytes): New function.
191 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
192 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
193 executing it.
194 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
195 (grub_ucs4_to_utf8): Change return type.
196
491c57a8
VS
1972012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
200 warning.
851ffada
VS
201 * grub-core/fs/bfs.c (hop_level): Likewise.
202 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 203
756773df
VS
2042012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
205
206 * grub-core/lib/adler32.c: Recode due to license unclearness.
207
fd556a96
VS
2082012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
211 (test_header): Likewise.
212
9f9d3f69
VS
2132012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
214
215 Fix --help formatting.
216
217 * util/grub-mkconfig_lib.in (print_option_help): New function.
218 (grub_fmt): Likewise.
219 * util/grub-install.in: Use print_option_help and grub_fmt.
220 * util/grub-kbdcomp.in: Likewise.
221 * util/grub-mkconfig.in: Likewise.
222 * util/grub-mknetdir.in: Likewise.
223 * util/grub-mkrescue.in: Likewise.
224 * util/grub-mkstandalone.in: Likewise.
225 * util/grub-reboot.in: Likewise.
226 * util/grub-set-default.in: Likewise.
227 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
228
561ec77e
VS
2292012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * linguas.sh: Remove autogenerated *.po.
232
7ec2b021
VS
2332012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * po/README: Move language fetcing to ...
236 * linguas.sh: ... here.
237 * po/README: Point to linguas.sh.
238
a88f3270
VS
2392012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * po/README: Exclude ko.po due to disclaimer problems.
242
d61357ce
VS
2432012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
246 len = 0.
247 (grub_gettext_translate_real): Handle 0th string.
248 (grub_gettext_translate): Ensure that "" isn't translated.
249
505e41dc
VS
2502012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
253 TRANSLATORS comment.
254 (grub_diskfilter_print_partmap): Propagate changing of error into
255 warning.
256
e44092db
VS
2572012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
260 to uint64_t to prevent overflow.
261 (grub_diskfilter_lv): Increase start_extent and extent_count
262 to uint64_t to prevent overflow.
263
9b83956a
VS
2642012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * configure.ac: Increase version.
267
da0d5b3f
VS
2682012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
269
270 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
271
272 * po/Rules-translit: New file.
273 * po/arabic.sed: Likewise.
274 * po/cyrillic.sed: Likewise.
275 * po/greek.sed: Likewise.
276 * po/hebrew.sed: Likewise.
277 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
278 * po/Makefile.in.in: Add extra_dist4.
279
ac66b453
VS
2802012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
281
282 Handle big-endian minixfs (fixes minixfs tests on bigendian).
283
284 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
285 modify names. Introduce MODE_BIGENDIAN.
286 * grub-core/fs/minix_be.c: New file.
287 * grub-core/fs/minix2_be.c: Likewise
288 * grub-core/fs/minix3_be.c: Likewise.
289 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
290 minix3_be.
291 * grub-core/Makefile.core.def (minix_be): New module.
292 (minix2_be): Likewise.
293 (minix3_be): Likewise.
294
2952012-04-01 Felix <email@hamburg.de>
296
297 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
298 (devs): Add MBP 2011.
299
0a2d5a82
VS
3002012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
303
d1625889
VS
3042012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/normal/cmdline.c (print_completion): New field
307 prompt_len.
308 (grub_cmdline_get): Handle width properly.
309
6d36a236
VS
3102012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * grub-core/commands/lsacpi.c (options): Add missing terminator.
313
9576977e
VS
3142012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 317 after 29th of February.
9576977e 318
d73ff15d
VS
3192012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
320
321 Fix exfat endianness handling.
322
323 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
324 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
325 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
326 Byte-swap utf16 when necessary.
327 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
328
bbb39a45
AB
3292012-03-31 Anton Blanchard <anton@samba.org>
3302012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
331
332 Fix btrfs endianness handling.
333
334 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
335 (lower_bound): Make root uint64_t. Use root in le.
336 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
337 (find_path): Fix template key init.
338 (grub_btrfs_dir): Fix mtime byteswap.
339 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
340
354e0af7
VS
3412012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
344 recursion_depth. Break infinite resursions. All users updated.
345
4e75f21c
VS
3462012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
349 after free.
350 Reported by: Peter Jones.
351
25581802
AB
3522012-03-31 Anton Blanchard <anton@samba.org>
353
354 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
355 8 bit values.
356
08fbf92e
VS
3572012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * util/grub-install.in: Fix nvram call for PreP.
360
5d1182a6
VS
3612012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
364 the error when some elements are missing into a warning.
365
3f8cdd90
VS
3662012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
369
51006716
CW
3702012-03-28 Colin Watson <cjwatson@ubuntu.com>
371
372 * docs/grub.texi (Invoking grub-probe): New section.
373 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
374
e1bd676b
VS
3752012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
376
377 Fix tab and wide character handling in editor and menu.
378
379 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
380 agglomerate control characters with combining marks.
381 (bidi_line_wrap): Allow break on tab.
382 (grub_unicode_get_comb_start): New function.
383 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
384 and tab correctly.
385 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
386 with a space.
387 * grub-core/normal/term.c (print_ucs4_terminal): New argument
388 fixed_tab_size. All users updated.
389 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
390 (grub_term_getcharwidth): Handle \t.
391 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
392 and copy.
393
22e6a774
VS
3942012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
395
396 Handle big-endian mdraid.
397
398 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
399 * grub-core/Makefile.core.def (mdraid09_be): New module.
400 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
401 rather than grub_le_to_cpu* and grub_cpu_to_le*.
402 * grub-core/disk/mdraid_linux_be.c: New file.
403
3c0eae66
VS
4042012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
407
b6cf74c9
VS
4082012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
411 missing quotes which caused confusion among translators.
412
83c93b9c
VS
4132012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * util/grub-mkconfig_lib.in: Fix typo.
416
ac6fd218
VS
4172012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
420 spaces.
421 * tests/grub_script_leading_whitespace.in: New file.
422 * Makefile.util.def (grub_script_leading_whitespace): New test.
423
ba287dd8
VS
4242012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
427 to work.
428
d2d58d0a
VS
4292012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
432 starts with control character.
433
0382d9bb
VS
4342012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
437 overflow.
438 (grub_gdb_outbuf): Likewise.
439
d83ff9f9
VS
4402012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
443 zero terminator. Fixes a crash.
444
2282da4a
VS
4452012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
448 beyond 4 GiB.
449 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
450 images independently of preffered adderss field.
451
0ae4f0bd
VS
4522012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
455 * grub-core/commands/regexp.c: Likewise.
456 * grub-core/loader/i386/linux.c: Likewise.
457 * grub-core/partmap/msdos.c: Likewise.
458 * grub-core/script/execute.c: Likewise.
459 * grub-core/term/gfxterm.c: Likewise.
460
546fbe9b
VS
4612012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
462
463 Add variable parsing in $"..." and fix several mismatches with bash.
464
465 * Makefile.util.def (grub_script_gettext): New test.
466 * grub-core/script/execute.c (parse_string): New function.
467 (gettext_append): Likewise.
468 (grub_script_arglist_to_argv): Use gettext_append.
469 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
470 * tests/grub_script_gettext.in: New file.
471
9fdb2d7b
VS
4722012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
473
474 Fix handling of leading spaces in scripts.
475
476 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
477 spaces.
478 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
479 other than skipping \r. All users updated.
480 * tests/grub_script_echo1.in: Add space-related tests.
481 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
482
1a1ac4f6
VS
4832012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
486
b63d89b6
VS
4872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
488
489 * configure.ac: Bump up the version to beta2.
490
17f38c0f
VS
4912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
492
493 Fix gettext reload bugs (e.g. inability to disable gettext
494 once enabled).
495
496 * grub-core/gettext/gettext.c: Encapsulate all static variables in
497 main_context and secondary_context. All functions updated.
498 (grub_gettext_translate): Rename to ...
499 (grub_gettext_translate_real): ... this. Return NULL on failed
500 translate.
501 (grub_gettext_translate): Handle secondary context.
502 (grub_gettext_delete_list): Close file and zero-out the context.
503 (grub_mofile_open): Don't call grub_gettext_delete_list.
504 Don't close file.
505 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
506 if locale="" to avoid pointless error message.
507 (grub_gettext_env_write_lang): Update lang even if load fails.
508 Handle secondary context.
509 (grub_gettext_reread_prefix): New function.
510 (read_main): Likewise.
511 (read_secondary): Likewise.
512 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
513 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
514 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
515 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
516
8e56f870
VS
5172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * configure.ac: Decrease warning level to avoid spurious warnings and
520 to be able to compile with GCC 4.2.
521 * Makefile.util.def: Remove -Wno-error=logical-op.
522
82f6d455
WB
5232012-03-10 William Bittner <william.bittner@gmail.com>
524
525 * util/import_unicode.py: Add missing brackets around string for
526 python 3 support.
527
1ecd61a4
VS
5282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
529
530 Fix efi chainloader on network root.
531
532 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
533 network devices.
534 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
535 New function.
536
14361ee8
VS
5372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
540 unused show_text member.
541 * docs/grub.texi: Document "text" property.
542
922aabf3
VS
5432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
546 in dprintf.
547
ec316771
VS
5482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
549
550 Fix IMSM handling on Fedora.
551
552 * util/getroot.c (grub_util_is_imsm): New function.
553 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
554
0f021838
VS
5552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * Makefile.am: Strip gold section.
558 * conf/Makefile.common: Likewise.
559 * gentpl.py: Likewise.
560 * grub-core/Makefile.core.def: Likewise.
561 * grub-core/genmod.sh.in: Likewise.
562
1039c8eb
VS
5632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
566 * util/grub.d/20_linux_xen.in: Likewise.
567 Based on Debian patch.
568
6dd412cd
VS
5692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
570
571 * util/grub.d/10_linux.in: Fix syntax error resulting in
572 Richard Laager's patch.
573 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
574
3fd8bae5
VS
5752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
578 dependencies.
579
7eea1671
RL
5802012-03-10 Richard Laager <rlaager@wiktel.com>
581
582 * util/grub.d/10_linux.in: Fix ZFS root passing.
583
e8e0566b
VS
5842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
587 * grub-core/commands/xnu_uuid.c: Likewise.
588 * grub-core/loader/efi/appleloader.c: Likewise.
589 * grub-core/script/execute.c: Likewise.
590 * grub-core/script/main.c: Likewise.
591 * util/grub-mkfont.c: Likewise.
592
1acc5b1f
VS
5932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * util/grub-mkfont.c (options): Use more appropriate "select" that
596 "set" for face index.
597
35d70620
VS
5982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * util/grub-editenv.c (options): Gettextize command summaries.
601
c9eb96b5
VS
6022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
605 "out of memory" error messagge.
606
1f493136
VS
6072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
610 of diskfilter for diskfilter on diskfilter support.
611
6d790129
VS
6122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
615
005f46c9
VS
6162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * util/grub-install.in: Check for themes/starfield/theme.txt and not
619 themes/starfield.
620
c8f778a0
VS
6212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
624
de1e64eb
VS
6252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
628
c6d54211
VS
6292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
632 of error message.
633
dd390777
VS
6342012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
637
5fd1c522
VS
6382012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
641 message.
c6d54211 642 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 643
fae01f6c
VS
6442012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
647 Gettextize.
648 * util/grub-mount.c (options): Likewise.
649
292fdaff
VS
6502012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
653 gettextize.
654 * grub-core/commands/search_wrap.c (options): Likewise.
655
ecdbae77
VS
6562012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
659
52bfedfa
VS
6602012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
663 size calculation.
664 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
665 none is known.
666
55b20e58
VS
6672012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
670 "temporary" since it's used in identifier and is limited in space.
671
fda9d101
VS
6722012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * po/POTFILES.in: Regenerate. Include *.h since they contain
675 translatable strings as well.
676
6a0295e2
VS
6772012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
680 byte-swap on big-endian.
681 Reported by: Lennart Sorensen
682
807fb77c
VS
6832012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
686 (allocate_pages): Improve dprintf.
687 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
688 code32_start. Fill code32_start and kernel_alignment in params.
689 (grub_cmd_initrd): Use prot_init_space.
690
61ac50ba
VS
6912012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
694
abdd26dd
VS
6952012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * util/grub-install.in: Add missing dot at the end of sentence.
698
6e69da9c
VS
6992012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
702 * grub-core/commands/videotest.c: Likewise.
703 * grub-core/loader/i386/linux.c: Likewise.
704
4a929343
VS
7052012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
708 sentence.
709 Reported by: Milo Casagrande.
710
bb51c6c6
VS
7112012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
714 * grub-core/commands/gptsync.c: Likewise.
715 * grub-core/commands/hashsum.c: Likewise.
716 * grub-core/commands/i386/pc/sendkey.c: Likewise.
717 * grub-core/commands/legacycfg.c: Likewise.
718 * grub-core/io/gzio.c: Likewise.
719 * grub-core/net/net.c: Likewise.
720 * grub-core/term/gfxterm.c: Likewise.
721 * grub-core/term/terminfo.c: Likewise.
722 * grub-core/tests/test_blockarg.c: Likewise.
723 * grub-core/video/video.c: Likewise.
724 * util/grub-install.in: Likewise.
725 * util/grub-mkfont.c: Likewise.
726
b2b149cb
VS
7272012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
730
c7c080ad
VS
7312012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 734 Reported by: David Prévot.
c7c080ad 735
f2e243c0
VS
7362012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
739 description.
740
09963c76
VS
7412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * util/grub-script-check.c (main): Fix a syntax error message which was
744 unclear.
745
a50514a8
VS
7462012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
749
4650daec
VS
7502012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
753 messages.
754
7552012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
756
757 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
758 without argument.
759 * util/grub-mount.c (options): Likewise.
760
bbc5a342
VS
7612012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
764
ef292a87
VS
7652012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/net/http.c: Add TRANSLATORS comments.
768 * grub-core/normal/cmdline.c: Likewise.
769 * grub-core/normal/misc.c: Likewise.
770 * grub-core/partmap/msdos.c: Likewise.
771 * grub-core/parttool/msdospart.c: Likewise.
772 * grub-core/script/execute.c: Likewise.
773 * grub-core/script/main.c: Likewise.
774 * grub-core/term/terminfo.c: Likewise.
775 * grub-core/video/bitmap.c: Likewise.
776 * util/grub-install.in: Likewise.
777 * util/grub-mkimage.c: Likewise.
778 * util/grub-mklayout.c: Likewise.
779 * util/grub-setup.c: Likewise.
780
0fc19bd0
VS
7812012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
784 with similar messages in grub-fstest.
785
d95862ef
VS
7862012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * util/grub-install.in: Unify "option requires an argument" message
789 with similar messages in other files.
790 * util/grub-mkconfig.in: Likewise.
791
b7308f90
VS
7922012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * util/grub-set-default.in: Replace printf with gettext_printf (the
795 string in in question is already translated from grub-reboot)
796
559dc587
VS
7972012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * configure.ac: Bump up the version to beta1.
800
1a11761f
VS
8012012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
804 case when min_align = 0.
805
24539abd
VS
8062012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
809 and fix a case when line_start overflows.
810
32bd735b
VS
8112012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * util/grub-reboot.in (usage): Mention id posibility.
814 * util/grub-set-default.in (usage): Likewise.
815
1a2fd1e6
VS
8162012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
819 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
820 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
821 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
822 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
823 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
824 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
825
90eeab76
VS
8262012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * grub-core/commands/menuentry.c (options): Remove
829 GRUB_ARG_OPTION_REPEATABLE.
830 Reported by: Andreas Vogel
831
5ad1be82
AV
8322012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
833
834 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
835
cb055286
HE
8362012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
837
838 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
839 error.
840
93b1cd79
VS
8412012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
842
843 Use sort -V by the idea of Georgi Georgiev.
844
845 * util/grub-mkconfig_lib.in (version_sort): New function.
846 (version_test_numeric): Use version_sort.
847
0cdc126c
VS
8482012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
849
850 Use submenus in grub-mkconfig.
851
852 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
853 * util/grub-mkconfig_lib.in (grub_quote): New function.
854 (gettext_printf): Use gettext and not gettext_quoted to fix several
855 messages.
856 * util/grub.d/10_hurd.in: Use submenus.
857 * util/grub.d/10_kfreebsd.in: Likewise.
858 * util/grub.d/10_linux.in: Likewise.
859 * util/grub.d/10_netbsd.in: Likewise.
860 * util/grub.d/20_linux_xen.in: Likewise.
861 * util/grub.d/30_os-prober.in: Likewise.
862 * util/grub.d/10_illumos.in: Add missing quoting.
863 * util/grub.d/10_windows.in: Likewise.
864
d9bef9bc
VS
8652012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
866
867 Fix menu title instability bug.
868
869 * grub-core/commands/menuentry.c (options): New option --id.
870 (grub_normal_add_menu_entry): New argument id. All users updated.
871 (grub_cmd_menuentry): Handle --id.
872 (grub_menu_init): Accept unknown arguments.
873 * grub-core/normal/main.c (features): Add feature_menuentry_id and
874 feature_menuentry_options.
875 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
876 saved_entry.
877 (get_entry_number): Match with id as well.
878 * include/grub/menu.h (grub_menu_entry): New member id.
879 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
880 * util/grub.d/00_header.in: Define menuentry_id_option.
881 * util/grub.d/10_hurd.in: Define id.
882 * util/grub.d/10_illumos.in: Likewise.
883 * util/grub.d/10_kfreebsd.in: Likewise.
884 * util/grub.d/10_linux.in: Likewise.
885 * util/grub.d/10_netbsd.in: Likewise.
886 * util/grub.d/10_windows.in: Likewise.
887 * util/grub.d/20_linux_xen.in: Likewise.
888 * util/grub.d/30_os-prober.in: Likewise.
889
8902012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
891
892 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
893 "scope" with "body".
894
7c8d0ce7
VS
8952012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
898 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
899 prot_size and prot_file_size.
900
49de079b
VS
9012012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
904 All users updated. If easily=1 require raid-5/-6 to be full.
905 (is_node_readable): Likewise.
906 (scan_devices): Scan incomplete but readable LVs at the end.
907 (grub_diskfilter_memberlist): Pull missing devices.
908 (insert_array): Skip scanning until device is complete or scan is
909 done otherwise.
910 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
911 check.
912 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
913 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
914
aff05d45
MG
9152012-03-03 Matthew Garrett <mjg@redhat.com>
9162012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
917
918 Avoid EFI boot services when loading Linux.
919
920 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
921 avoid_efi_bootservices. All users updated.
922 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
923 argument avoid_efi_bootservices. All users updated.
924 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
925 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
926 align, min_align, relocatable, prefered_address. All users updated.
927 Allocate avoiding boot services if kernel is relocatable.
928 (grub_cmd_linux): Check if kernel is relocatable.
929 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
930 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
931 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
932 avoid_efi_boot_services.
933 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
934 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
935 (linux_kernel_params): Likewise.
936
3935dde2
MG
9372012-03-03 Matthew Garrett <mjg@redhat.com>
9382012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
939
940 Use EDID on EFI.
941
942 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
943 datasize_out.
944 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
945 modes. Set gop_handle.
946 (grub_video_gop_get_edid): New function.
947 (grub_gop_get_preferred_mode): Likewise.
948 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
949 (grub_video_efi_gop_adapter): Set .get_edid.
950 * include/grub/efi/edid.h: New file.
951 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
952
32107ec0
VS
9532012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * util/grub-install.in: Load efivars unconditionally.
956
e70a2c50
VS
9572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * po/Rules-piglatin: Change suffix from .po-update-en to
960 .po-update-en-piglatin.
961
8f9cace1
VS
9622012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
963
964 Add a pig farm.
965
966 * po/piglatin.sed: New file.
967 * po/en@piglatin.header: Likewise.
968 * po/Rules-piglatin: Likewise.
969 * po/README: Add en@piglatin to autogenerated languages.
970
8f95d002
VS
9712012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
974 "Command for ...".
975 * grub-core/commands/hdparm.c (options): Use "Display" rather than
976 "Check" since we don't check anything.
977 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
978 is 64-bit one.
979 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
980 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
981 (grub_md_sha512_real): Likewise.
982
805a8dcc
VS
9832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/commands/gptsync.c: Fix typographic quoting.
986 * grub-core/commands/ieee1275/suspend.c: Likewise.
987 * grub-core/commands/parttool.c: Likewise.
988 * grub-core/commands/search_wrap.c: Likewise.
989 * grub-core/commands/videoinfo.c: Likewise.
990 * grub-core/gfxmenu/gui_label.c: Likewise.
991 * grub-core/hello/hello.c: Likewise.
992 * grub-core/kern/emu/main.c: Likewise.
993 * grub-core/net/net.c: Likewise.
994 * grub-core/normal/menu.c: Likewise.
995 * grub-core/normal/menu_text.c: Likewise.
996 * grub-core/normal/misc.c: Likewise.
997 * util/grub-editenv.c: Likewise.
998 * util/grub-install.in: Likewise.
999 * util/grub-kbdcomp.in: Likewise.
1000 * util/grub-mkconfig.in: Likewise.
1001 * util/grub-mknetdir.in: Likewise.
1002 * util/grub-mkrescue.in: Likewise.
1003 * util/grub-mkstandalone.in: Likewise.
1004 * util/grub-reboot.in: Likewise.
1005 * util/grub-set-default.in: Likewise.
1006 * util/grub-setup.c: Likewise.
1007 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1008
40211ab8
VS
10092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
1012 * grub-core/commands/keystatus.c: Likewise.
1013 * grub-core/commands/loadenv.c: Likewise.
1014 * grub-core/commands/probe.c: Likewise.
1015 * grub-core/commands/regexp.c: Likewise.
1016 * grub-core/commands/true.c: Likewise.
1017 * grub-core/commands/videoinfo.c: Likewise.
1018 * grub-core/disk/cryptodisk.c: Likewise.
1019 * grub-core/disk/ldm.c: Likewise.
1020 * grub-core/disk/loopback.c: Likewise.
1021 * grub-core/disk/luks.c: Likewise.
1022 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1023 * grub-core/kern/disk.c: Likewise.
1024 * grub-core/kern/emu/hostdisk.c: Likewise.
1025
0c7d99c7
VS
10262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
1029 * util/grub-install.in: Add missing quote in the comment.
1030
e7d2559b
VS
10312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
1034 * grub-core/commands/lsmmap.c: Likewise.
1035 * grub-core/commands/minicmd.c: Likewise.
1036 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1037 * grub-core/commands/regexp.c: Likewise.
1038 * grub-core/gdb/gdb.c: Likewise.
1039 * grub-core/term/gfxterm.c: Likewise.
1040 * util/grub-mkconfig.in: Likewise.
1041 * util/grub-mkfont.c: Likewise.
1042 * util/grub-mklayout.c: Likewise.
1043 * util/grub-mknetdir.in: Likewise.
1044 * util/grub-mkrescue.in: Likewise.
1045 * util/grub.d/30_os-prober.in: Likewise.
1046
49ce9e50
VS
10472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
1050 with "Direct color" and "Packed" with "Packed pixel".
1051 (grub_cmd_videoinfo): Simplify legend.
1052
e4b791fa
VS
10532012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1056 absolutely unclear error message.
1057
fd1265cb
VS
10582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * util/grub-mkstandalone.in: Remove confusing leftover print.
1061
8822a8a0
VS
10622012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
1065 comments.
1066 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
1067 (GRUB_MOD_INIT): Likewise.
1068 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
1069 VGA mode.
1070 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
1071 comments.
1072 * util/grub-install.in (usage): Likewise.
1073 Spell ID in whole letters.
1074 Add missing ending dot.
1075 Quote variables.
1076 * util/grub-reboot.in: Fix capitalisation.
1077 * util/grub-set-default.in: Likewise.
1078
937fd0cc
VS
10792012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
1082 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
1083 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
1084 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
1085 Disable -Werror for -Wdeprecated-declarations.
1086 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
1087 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
1088 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
1089 (grub_util_get_grub_dev): Make luks handling dependent on
1090 HAVE_DEVICE_MAPPER and not __linux__.
1091 (get_win32_path): Fix format security.
1092 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
1093 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
1094 Don't try grub_find_zpool_from_dir.
1095 (grub_make_system_path_relative_to_its_root) [!__linux__]:
1096 #ifdef-out paresdir.
1097
1bab1ae3
VS
10982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * util/grub-pe2elf.c (usage): Add missing noreturn.
1101 (write_section_data): Rename name to shname to avoid shadowing.
1102 (write_symbol_table): Rename name to symname to avoid shadowing.
1103 Fix write_reloc_section call.
1104
ef023e42
VS
11052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
1108 to ensure that it's after the last byte of .text.
1109
48afcb75
VS
11102012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * util/ieee1275/ofpath.c (my_isdigit): New function.
1113 (trailing_digits): Use my_isdigit.
1114 (strip_trailing_digits): Likewise.
1115
88d51eff
VS
11162012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
1119 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
1120
17edc2ba
VS
11212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/kern/i386/pc/startup.S: Define __start.
1124
ad5518d7
VS
11252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
1128 strip already transforms he format.
1129
9e95e1bf
VS
11302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
1133
9cc3ee5c
VS
11342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * util/grub-install.in: Add missing gettext init.
1137 * util/grub-kbdcomp.in: Likewise.
1138 * util/grub-mkconfig.in: Likewise.
1139 * util/grub-mknetdir.in: Likewise.
1140 * util/grub-mkrescue.in: Likewise.
1141 * util/grub-mkstandalone.in: Likewise.
1142 * util/grub-reboot.in: Likewise.
1143 * util/grub-set-default.in: Likewise.
1144 * util/grub.d/00_header.in: Likewise.
1145 * util/grub.d/10_hurd.in: Likewise.
1146 * util/grub.d/10_windows.in: Likewise.
1147 * util/grub.d/30_os-prober.in: Likewise.
1148 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1149
49e08a06
VS
11502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 * po/Rules-swiss: Fix header comment.
1153
3809cb41
AV
11542012-02-29 Andreas Vogel <anvoit>
1155
1156 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
1157 resulted in leak of arguments.
1158
fa6ec573
VS
11592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 * grub-core/boot/i386/pc/startup_raw.S: Use separate
1162 reed_solomon_size const definition instead of computing it since
1163 Apple assembler doesn't support the later.
1164
22899b9c
VS
11652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * gentpl.py (kernel): Rewrite Apple part.
1168
a132afc3
VS
11692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * include/grub/kernel.h (FOR_MODULES): Check module magic.
1172
9d742bd4
VS
11732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * util/grub-mkimagexx.c (locate_sections): Support non-standard
1176 ELF section gap.
1177 (load_image): Likewise.
1178
f04a9a21
VS
11792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * configure.ac: Fix a typo in previous commit.
1182
46cf439c
VS
11832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 Don't add -Wl,-N on Apple platform.
1186
1187 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
1188 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
1189
c4c48c54
VS
11902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * grub-core/Makefile.core.def (lzma_decompress): Use
1193 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
1194
31a12124
VS
11952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/genmod.sh.in: Rewrite the Apple part.
1198
4f3aa1af
VS
11992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
1202 comparison.
1203
7bd8b0c7
VS
12042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * acinclude.m4 (grub_CHECK_PIC): New test.
1207 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
1208
97304d7c
VS
12092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
1212 to avoid the warning.
1213
fb883812
VS
12142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
1217 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
1218 after. All users updated.
1219
a121c964
VS
12202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 Use the common size routine in hostfs so we can read disks as well.
1223
1224 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
1225 (grub_util_get_fd_size): ... this. Return size in bytes.
1226 All users updated.
1227 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
1228 grub_util_get_fd_size.
1229
c66d6410
VS
12302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
1233 Add blocksize retrieval.
1234
dfc8aeb0
VS
12352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * configure.ac: Restore CFLAGS after efiemu check.
1238
403e25a5
VS
12392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
1242 Apple bug.
1243
382775d1
VS
12442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
1247
6fd4e6e4
VS
12482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
1251 (grub_cmd_halt): Likewise.
1252
bea359d6
VS
12532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
1256 for local arithmetics.
1257 Break %sp init into 2 instructions.
1258 Add 0 byte at the end.
1259
32eb6ee1
VS
12602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * grub-core/disk/diskfilter.c (read_segment): Initialise err
1263 before loops.
1264
e8377389
VS
12652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
1268 for context.
1269
8cb17de7
VS
12702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/disk/ldm.c (make_vg): Init part.name.
1273 (grub_ldm_detect): Silence spurious warning.
1274 (grub_util_is_ldm): Likewise.
1275
595717e6
VS
12762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
1279 sane value to avoid a spurious warning.
1280
c4b7e588
VS
12812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
1284 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
1285
59824957
VS
12862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
1289 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
1290
70115b99
VS
12912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
1294 hardcoding the relevant info.
1295
56733740
VS
12962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
1299 missing const qualifiers.
1300 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
1301
43481481
VS
13022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * util/getroot.c [__APPLE__]: Add missing includes.
1305 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
1306
3cb38f01
VS
13072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * util/grub-mkimage.c (generate_image): Silence spurious warning.
1310
d9dbf11e
VS
13112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
1314 avoid conflicts.
1315
0c42a45d
VS
13162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
1319
46c34eb0
VS
13202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
1323 and grub_file_close call.
1324
99ce1597
VS
13252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 Add LZSS Mach-O support (needed for new xnu kernelcache).
1328
1329 * grub-core/Makefile.core.def (xnu): Add file lzss.c
1330 * grub-core/loader/lzss.c: New file.
1331 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
1332 on Mach-O open failure.
1333 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
1334 Don't free cmdsXX in uncompressedXX is set.
1335 (grub_macho_file): Init new fields.
1336 New argument is_64bit. All users updated.
1337 Handle compressed. Error out if no suitable architecture is found.
1338 Don't close file.
1339 (grub_macho_open): New argument is_64bit. All users updated.
1340 * grub-core/loader/macho32.c: Add defines for new fields.
1341 * grub-core/loader/macho64.c: Likewise.
1342 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
1343 (grub_macho_parse): Handle compressed.
1344 Defer actual processing if compressed.
1345 (grub_macho_cmds_iterate): Decompress if compressed. New argument
1346 "filename". All users updated.
1347 (grub_macho_size): New argument "filename". All users updated.
1348 (grub_macho_get_entry_point): Likewise.
1349 (grub_macho_load): Handle compressed.
1350 * include/grub/macho.h (grub_macho_lzss_header): New struct.
1351 (GRUB_MACHO_LZSS_OFFSET): New define.
1352 (grub_decompress_lzss): New proto.
1353 * include/grub/machoload.h (grub_macho_file): New fields to handle
1354 compressed.
1355 (grub_macho_contains_macho64): Remove proto.
1356 (grub_macho_contains_macho32): Likewise.
1357 * util/grub.d/30_os-prober.in: Use kernel cache if available.
1358
ebd17d6f
VS
13592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
1362
2702b4e4
VS
13632012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 Fix make dist.
1366
1367 * Makefile.am (starfield_theme_files): New var.
1368 (starfield_DATA): Use starfield_theme_files.
1369 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
1370 Add bootcheck-related files.
1371 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
1372 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
1373 and font_char_metrics.txt.
1374 * grub-core/Makefile.core.def (kernel): Update extra_dist.
1375 (setjmp): Add lib/ia64/longjmp.S.
1376 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
1377 * po/POTFILES.in: Regenerate.
1378 * po/Rules-swiss: use DISTFILES.common.extra2 and not
1379 DISTFILES.common.extra1.
1380 * util/devicemap.c: Removed.
1381 * grub-core/lib/i386/relocator_backward.S: Likewise.
1382 * util/import_gcry.py: Remove unused files. Add extra_dist for
1383 ChangeLog.
1384
cf1adfdf
VS
13852012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/gettext/gettext.c (grub_mofile_open): Call
1388 grub_gettext_delete_list before changing grub_gettext_max to avoid
1389 running out of array bounds.
1390
13912012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
1392
1393 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
1394 grub_vga_text_init/grub_vga_text_fini.
1395
cf1adfdf 13962012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
1397
1398 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
1399
541d92e9
VS
14002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * configure.ac: Bump to 2.00~beta0.
1403
7931dddf
VS
14042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
1407 missing initialisation.
1408
f1b16fa3
VS
14092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
1412
83ddae23
VS
14132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 Support v2 xnu boot arguments.
1416
1417 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
1418 New argument fsbfreq_out.
1419 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
1420 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
1421 be used.
1422 * grub-core/loader/machoXX.c (grub_macho_load): New argument
1423 darwin_version.
1424 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
1425 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
1426 (grub_xnu_boot_params): Rename to ...
1427 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
1428 (grub_xnu_boot_params_v2): New struct.
1429
dc693fe6
VS
14302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
1433 zeroing of CRC field before computing CRC.
1434
5a6e39c2
VS
14352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
1438 Change order of allocations to decrease fragmentation.
1439
6c21f5d7
VS
14402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
1443
cfe456dc
CW
14442012-02-27 Colin Watson <cjwatson@ubuntu.com>
1445
1446 Use write-combining MTRR to speed up video with buggy BIOSes.
1447
1448 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
1449 (cpuid): New define.
1450 (rdmsr): Likewise.
1451 (wrmsr): Likewise.
1452 (mtrr_base): Likewise.
1453 (mtrr_mask): Likewise.
1454 (grub_vbe_enable_mtrr_entry): New function.
1455 (grub_vbe_enable_mtrr): Likewise.
1456 (grub_vbe_disable_mtrr): Likewise.
1457 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
1458 control off to BIOS.
1459 (grub_video_vbe_init): Fill mtrr.
1460 (grub_video_vbe_fini): Disable mtrr.
1461 (grub_video_vbe_get_info_and_fini): Likewise.
1462 (grub_video_vbe_setup): Enable mtrr.
1463
e3c78337
CW
14642012-02-27 Colin Watson <cjwatson@ubuntu.com>
1465
1466 * include/grub/partition.h (grub_partition_map): Change prototype of
1467 embed to take a maximum value for nsectors.
1468 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
1469 * include/grub/fs.h (grub_fs): Likewise.
1470 * grub-core/partmap/msdos.c (embed_signatures): New array.
1471 (pc_partition_map_embed): Check for and avoid sectors matching any
1472 of the signatures in embed_signatures, up to max_nsectors.
1473 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
1474 returned sector map to max_nsectors.
1475 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
1476 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
1477 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
1478 * util/grub-setup.c (setup): Allow for the embedding area being
1479 split into multiple blocklists. Tell dest_partmap->embed the
1480 maximum number of sectors we care about.
1481
14822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
1485 Specify blocklist_install and reserver_first_sector for all fs.
1486 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1487 blocklists.
1488
984b973f
VS
14892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * util/grub-install.in: Clarify strings.
1492 Fix source dir check.
1493
f122e0d6
RL
14942012-02-27 Richard Laager <rlaager@wiktel.com>
1495
1496 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1497 "zfs" and "fuse.zfs" as synonyms.
1498
071114bb
VS
14992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * configure.ac: Put platform and target_cpu substitutions back since
1502 they are used for directories.
1503
817e6abc
RL
15042012-02-27 Richard Laager <rlaager@wiktel.com>
15052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1508 * util/grub.d/20_linux_xen.in: Likewise.
1509
897b7419
RL
15102012-02-27 Richard Laager <rlaager@wiktel.com>
1511
1512 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1513 with full paths.
1514
a414bd15
RL
15152012-02-27 Richard Laager <rlaager@wiktel.com>
1516
1517 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1518 unescape.
1519
30ac48c4
VS
15202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 Don't use insecure popen in getroot.
1523
1524 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1525 (exec_pipe): ... here.
1526 (find_root_devices_from_poolname): Use exec_pipe.
1527
53f13848
VS
15282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 Remove platform and target_cpu replacement.
1531
1532 * configure.ac: Remove platform and target_cpu substitutions.
1533 * tests/util/grub-shell.in: Use modinfo.
1534 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1535 explicitly.
1536
90cb2803
VS
15372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 Autodetect platform in grub-install but allow override.
1540
1541 * util/grub-install.in: Autodetect platform. Support --target and
1542 --directory. Read platform from modinfo.sh.
1543
b9136427
VS
15442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 Support btrfs multi-volume probe.
1547
1548 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1549 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1550 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1551 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1552 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1553 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1554 grub_find_root_devices_from_btrfs if on btrfs.
1555
c36e5cd1
VS
15562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 Remove any awareness of *.c util files about target.
1559
1560 * Makefile.util.def (grub-setup): Split to ...
1561 (grub-bios-setup): ... and this.
1562 (grub-sparc64-setup): ... and this.
1563 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1564 * docs/man/grub-setup.h2m: Split into ...
1565 * docs/man/grub-sparc64-setup.h2m: ... this.
1566 * docs/man/grub-bios-setup.h2m: ... and this.
1567 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1568 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1569 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1570 (grub_target_addr_t): Remove.
1571 (grub_target_size_t): Remove.
1572 (grub_target_ssize_t): Remove.
1573 * util/grub-install.in: Use new grub-*-setup.
1574 * util/grub-mkimagexx.c (Elf_Word): New define.
1575 (Elf_Half): Likewise.
1576 (Elf_Section): Likewise.
1577 (ELF_ST_TYPE): Likewise.
1578 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1579 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1580
584b2f8a
VS
15812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 Replace grub_target_addr with more appropriate types.
1584
1585 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1586 grub_target_addr with grub_addr.
1587 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1588 grub_target_addr with grub_port.
1589 (grub_cmd_write): Likewise.
1590 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1591 grub_target_addr with grub_addr.
1592 (grub_cmd_write): Likewise.
1593 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1594
5a0dc6fb
VS
15952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1598 const qualifier for vendor_guid.
1599
786aff6e
VS
16002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1603 const qualifier.
1604 (efiemu_memequal): Likewise.
1605 (find_variable): Likewise.
1606
49017b17
VS
16072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 Fix missing console prototype on qemu-mips.
1610
1611 * include/grub/mips/qemu_mips/console.h: New file.
1612
c5988629
MG
16132012-02-27 Matthew Garrett <mjg@redhat.com>
16142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1617 * include/grub/efi/efi.h: Likewise.
1618 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1619 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1620 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1621 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1622 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1623 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1624
e33f8d69
MG
16252012-02-27 Matthew Garrett <mjg@redhat.com>
1626
1627 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1628
fb312cd9
VS
16292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1632 error.
1633
7134247c
VS
16342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * configure.ac: Remove inappropriate use of program_transform_name
1637 on grubdir and bootdir but allow explicit specification of those
1638 variables.
1639
6a313124
VS
16402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * util/grub-mknetdir.in (grub_prefix): Removed.
1643 (subdir): Use @bootdirname@ and @grubdirname@.
1644
2311c5ca
VS
16452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1648
7d5d60f7
VS
16492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * po/POTFILES.in: Regenerated.
1652
8151bc82
VS
16532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 Remove improper use of program_transform_name on pkglibrootdir.
1656
1657 * configure.ac (pkglibrootdir): Removed.
1658 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
1659 * util/grub-mkimage.c: Likewise.
1660
b4a6a533
VS
16612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
1664 warning.
1665
668f304f
VS
16662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * util/grub-install.in: Use file identifier if no UUID is available
1669 or user explicitly prompted for it.
1670
665f2341
NP
16712012-02-27 Navdeep Parhar <nparhar@gmail.com>
1672
1673 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
1674 (freebsd_get_zfs): New function.
1675 (grub_freebsd_boot): Pass zfs UUID.
1676 (grub_cmd_freebsd): Set zfs UUID.
1677
8151bc82 16782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
1679
1680 * conf/Makefile.common (platformdir): Base on pkglibdir and not
1681 pkglibrootdir.
1682
e4c498a1
MG
16832012-02-27 Mike Gilbert <floppym@gentoo.org>
1684
1685 Add configure flag to control libzfs integration.
1686
1687 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
1688
1e9a9a3f
VS
16892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
1692 device.
1693 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
1694 small devices.
1695
036985b8
VS
16962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 Remove grub_{modname}_init and grub_{modname}_fini. They should never
1699 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
1700 be used on non-modules.
1701
1702 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
1703 Rename to grub_boot_init.
1704 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
1705 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
1706 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
1707 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
1708 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
1709 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
1710 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
1711 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
1712 includes.
1713 (grub_machine_init): Remove empty inits.
1714 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
1715 includes.
1716 (grub_machine_init): Remove empty inits.
1717 * grub-core/term/arc/console.c: Remove explicit proto.
1718 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
1719 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
1720 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1721 grub_at_keyboard_fini.
1722 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
1723 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
1724 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1725 grub_gfxterm_fini.
1726 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
1727 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
1728 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1729 grub_vgatext_fini.
1730 * grub-core/term/ieee1275/console.c: Remove explicit proto.
1731 * grub-core/term/serial.c (GRUB_MOD_INIT)
1732 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
1733 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1734 grub_serial_fini.
1735 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
1736 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
1737 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1738 grub_terminfo_fini.
1739 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1740 (GRUB_MOD_FINI): Likewise.
1741 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1742 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1743 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1744 grub_video_radeon_fuloong2e_fini.
1745 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1746 [LOONGSON]: Rename to grub_video_sis315pro_init.
1747 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1748 grub_video_sis315pro_fini.
1749 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1750 [LOONGSON]: Rename to grub_video_sm712_init.
1751 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1752 grub_video_sm712_fini.
1753 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1754 (grub_at_keyboard_fini): Likewise.
1755 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1756 Don't declare grub_{modname}_init.
1757 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1758 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1759 New proto.
1760 (grub_keylayouts_fini) [!EMU]: Likewise.
1761 * include/grub/serial.h (grub_serial_init) [!EMU]:
1762 New proto.
1763 (grub_serial_fini) [!EMU]: Likewise.
1764 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1765 New proto.
1766 (grub_terminfo_fini) [!EMU]: Likewise.
1767 * include/grub/video.h (grub_font_init) [!EMU]:
1768 New proto.
1769 (grub_font_fini) [!EMU]: Likewise.
1770 (grub_gfxterm_init) [!EMU]: Likewise.
1771 (grub_gfxterm_fini) [!EMU]: Likewise.
1772 (grub_video_sm712_init) [!EMU]: Likewise.
1773 (grub_video_sm712_fini) [!EMU]: Likewise.
1774 (grub_video_sis315pro_init) [!EMU]: Likewise.
1775 (grub_video_sis315pro_fini) [!EMU]: Likewise.
1776 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
1777 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
1778
d5534665
VS
17792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 Make nand a prefix for nand devices.
1782
1783 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
1784
10133b5f
VS
17852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
1788 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
1789
8e307a62
VS
17902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * include/grub/env.h (grub_env_find): Remove prototype.
1793 * grub-core/kern/env.c (grub_env_find): Make static.
1794 (grub_env_set): Remove useless set.
1795
a4c65f34
VS
17962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * grub-core/kern/i386/realmode.S: Remove useless align.
1799
d87893d5
VS
18002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * include/grub/dl.h (grub_dl_load_file): Don't export.
1803
50159add
VS
18042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1805
1806 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
1807 grub_dprintf.
1808
b2582b84
VS
18092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
1812 grub_errors.
1813 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
1814 not reloading whole superblock but only the part which is really needed.
1815 Remove useless grub_errors.
1816 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
1817 grub_errors.
1818
e2a83395
VS
18192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 Don't export grub_get_rtc.
1822
1823 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
1824 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
1825
e7d2a906
VS
18262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
1829
6cf1363b
VS
18302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 1833 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 1834
eece3349
VS
18352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 Remove prio_list.
1838
1839 * include/grub/list.h (grub_prio_list): Removed.
1840 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
1841 GRUB_COMMAND_PRIO_MASK.
1842 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
1843 GRUB_COMMAND_FLAG_ACTIVE.
1844 (grub_prio_list_insert): Removed.
1845 (grub_prio_list_remove): Likewise.
1846 (GRUB_AS_PRIO_LIST): Likewise.
1847 (GRUB_AS_PRIO_LIST_P): Likewise.
1848 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
1849 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
1850 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
1851 * grub-core/kern/command.c (grub_register_command_prio): Inline
1852 the prio_list code.
1853 (grub_unregister_command): Likewise.
1854
94f064b4
VS
18552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 Fix interrupt mixup from previous commit.
1858
1859 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
1860 (grub_realidt): New var.
1861 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
1862 Load idt.
1863 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
1864 New declaration.
1865 (grub_relocator16_boot): Set grub_relocator16_idt.
1866 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
1867 (LOCAL(realidt)): ... this.
1868 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
1869 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
1870 (grub_realidt): New variable.
1871
27317084
VS
18722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
1875 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
1876 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
1877 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
1878 Gettextize.
1879 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
1880 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
1881 * po/POTFILES.in: Regenerate.
1882
47b40053
VS
18832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
1886 errors.
1887
2b343101
VS
18882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
1891 \0.
1892 (add_length): Likewise.
1893
ff27c3dd
LK
18942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
18952012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
1896
1897 GDB serial and backtrace support.
1898
1899 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
1900 (prot_to_real): Likewise.
1901 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
1902 * grub-core/Makefile.core.def (backtrace): New module.
1903 (gdb): Likewise.
1904 * grub-core/gdb/cstub.c: New file.
1905 * grub-core/gdb/gdb.c: Likewise.
1906 * grub-core/gdb/i386/idt.c: Likewise.
1907 * grub-core/gdb/i386/machdep.S: Likewise.
1908 * grub-core/gdb/i386/signal.c: Likewise.
1909 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 1910 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
1911 * include/grub/backtrace.h: Likewise.
1912 * include/grub/gdb.h: Likewise.
1913 * include/grub/i386/gdb.h: Likewise.
1914
19152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
1916
1917 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
1918 New function.
1919 (add_length): Likewise.
1920 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
1921 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
1922 proto.
1923 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
1924 __argp_get_display_len.
1925
ff27c3dd 19262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
1927
1928 $"..." support in scripts.
1929
1930 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
1931 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
1932 * grub-core/script/yylex.l: Likewise.
1933 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
1934 value.
1935
ff27c3dd 19362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
1937
1938 * gentpl.py: Remove obsolete pkglib_DATA handling.
1939
ff27c3dd 19402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
1941
1942 Don't transform PACKAGE_TARNAME following a discussion on autoconf
1943 mailing list.
1944
1945 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
1946 * util/grub-kbdcomp.in: Likewise.
1947 * util/grub-mkconfig.in: Likewise.
1948 * util/grub-mkconfig_lib.in: Likewise.
1949 * util/grub-mknetdir.in: Likewise.
1950 * util/grub-mkrescue.in: Likewise.
1951 * util/grub-mkstandalone.in: Likewise.
1952 * util/grub-reboot.in: Likewise.
1953 * util/grub-set-default.in: Likewise.
1954 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1955
ff27c3dd 19562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
1957
1958 Remove GRUB_PREFIX.
1959
1960 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
1961 * util/grub.d/00_header.in: Compute prefix in the only place it's still
1962 used for backward compatibility.
1963
ff27c3dd 19642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
1965
1966 Add new all_video module.
1967
1968 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
1969 * grub-core/Makefile.core.def (all_video): New module.
1970 * grub-core/genmoddep.awk: Generate dependency of all_video from
1971 video.lst.
1972 * grub-core/lib/fake_module.c: New file.
1973 * grub-core/normal/main.c (features): Add feature_all_video_module.
1974 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
1975 don't do explicit search again.
47454da5 1976 insmod all_video in load_video if available.
22c7ce85 1977
ff27c3dd 19782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
1979
1980 Another round of string clarification and adding TRANSLATORS comments.
1981
ff27c3dd 19822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
1983
1984 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
1985
ff27c3dd 19862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
1987
1988 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
1989 to grub_ssize_t.
1990 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
1991 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
1992
ff27c3dd 19932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
1994
1995 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
1996 trailing newline implicitly. All users updated.
1997
ff27c3dd 19982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
1999
2000 Implement serial on IEEE1275 and EFI.
2001
2002 * docs/grub.texi (Platform-specific limitations): Fix the columen video
2003 on emu. Mention arc and emu as the only platforms without serial
2004 support.
2005 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
2006 ieee1275 platforms.
2007 * grub-core/term/efi/serial.c: New file.
2008 * grub-core/term/ieee1275/serial.c: Likewise.
2009 * grub-core/term/serial.c (grub_serial_find): Disable direct port
2010 specification if no ns8250 driver is available.
2011 (grub_cmd_serial): Likewise.
2012 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
2013 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
2014 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
2015 (grub_efi_parity_type_t): New type.
2016 (grub_efi_stop_bits_t): Likewise.
2017 (grub_efi_serial_io_interface): New struct.
2018 * include/grub/serial.h (grub_serial_port): Make 'broken' field
2019 available for all interfaces.
2020 Add EFI and IEEE1275 fields.
2021 (grub_ofserial_init): New proto.
2022 (grub_efiserial_init): Likeiwse.
2023 * util/grub.d/00_header.in: Don't check for the presence of serial
2024 module.
2025
ff27c3dd 20262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
2027
2028 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
2029 name as if it was an alias.
2030
114076ef
VS
20312012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/commands/lsacpi.c (options): Fix typo.
2034
6a656b0e
VS
20352012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 Convert grub-emu to argp.
2038
2039 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
2040 emu.
2041 * util/argp_common.c: Rename to ...
2042 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
2043 Add missing includes.
2044 * grub-core/kern/emu/main.c: Convert to argp.
2045 * po/POTFILES.in: Regenerate.
2046 * util/grub-install.in (usage): Make first letter lowcase in messages
2047 for uniformity.
2048 * util/grub-setup.c (options): Likewise.
2049
1e3f8ae8
VS
20502012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
2053 Put back accidently commented-out code.
2054
ed167a80
VS
20552012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
2058 loop check using Brent algorithm.
2059 (grub_hfsplus_btree_search): Likewise.
2060
6753c0ec
VS
20612012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * util/grub-install.in: Fix usage of wrong device for PreP install.
2064
4e27343f
VS
20652012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * conf/Makefile.common (CFLAGS_GNULIB): Add
2068 -Wno-unsafe-loop-optimizations.
2069 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
2070 on tools.
2071 * grub-core/commands/legacycfg.c: Add pragma to skip
2072 -Wunsafe-loop-optimizations.
2073 (check_password_md5_real): Fix loop counter type.
2074 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
2075 reading.
2076 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
2077 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
2078 loop condition.
2079 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
2080 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
2081 * grub-core/net/net.c (grub_net_route_address): Add safety loop
2082 condition.
2083 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
2084 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
2085 avoid possible infinite loops.
2086 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
2087 and -Wunsafe-loop-optimizations.
2088 * grub-core/script/yylex.l: Likewise.
2089 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
2090 (print_glyphs): Avoid infinite loops.
2091 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
2092
697f18b0
GS
20932012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
2094
2095 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
2096 to avoid infinite loop.
2097 (disp_acpi_rsdt_table): Likewise.
2098
274416e8
VS
20992012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * grub-core/font/font.c (grub_font_load): Add support for default
2102 path for fonts ($prefix/fonts).
2103 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
2104 for checking if string is a path.
2105 * grub-core/normal/main.c (features): Add feature_default_font_path.
2106 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
2107 * util/grub.d/00_header.in: Use default directory if possible.
2108 * util/grub-install.in: Install unicode.pf2.
2109
b3e08622
VS
21102012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
2113 * po/Rules-swiss: New file.
2114 * po/swiss.sed: Likewise.
2115
fe42ce09
VS
21162012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * grub-core/fs/btrfs.c (find_device): Fix typos.
2119 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
2120 * util/grub-mkrelpath.c (argp_parser): Likewise.
2121 Reported by: Yuri Chornoivan.
2122
72f1d065
DO
21232012-02-23 Dalet Omega <daletomega@gmail.com>
2124
2125 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
2126 for usual informative messages.
2127
c5884973
DO
21282012-02-23 Dalet Omega <daletomega@gmail.com>
2129
2130 Starfield theme.
2131
2132 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
2133 * conf/Makefile.common: Define starfielddir.
2134 * configure.ac: Configure starfield.
2135 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
2136 * themes/starfield/README: Likewise.
2137 * themes/starfield/blob_w.png: Likewise.
2138 * themes/starfield/boot_menu_c.png: Likewise.
2139 * themes/starfield/boot_menu_e.png: Likewise.
2140 * themes/starfield/boot_menu_n.png: Likewise.
2141 * themes/starfield/boot_menu_ne.png: Likewise.
2142 * themes/starfield/boot_menu_nw.png: Likewise.
2143 * themes/starfield/boot_menu_s.png: Likewise.
2144 * themes/starfield/boot_menu_se.png: Likewise.
2145 * themes/starfield/boot_menu_sw.png: Likewise.
2146 * themes/starfield/boot_menu_w.png: Likewise.
2147 * themes/starfield/slider_c.png: Likewise.
2148 * themes/starfield/slider_n.png: Likewise.
2149 * themes/starfield/slider_s.png: Likewise.
2150 * themes/starfield/src/blob_nw.xcf: Likewise.
2151 * themes/starfield/src/bootmenu/: Likewise.
2152 * themes/starfield/src/bootmenu/center.xcf: Likewise.
2153 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
2154 * themes/starfield/src/bootmenu/side.xcf: Likewise.
2155 * themes/starfield/src/slider_c.xcf: Likewise.
2156 * themes/starfield/src/slider_n.xcf: Likewise.
2157 * themes/starfield/src/slider_s.xcf: Likewise.
2158 * themes/starfield/src/terminalbox/: Likewise.
2159 * themes/starfield/src/terminalbox/center.xcf: Likewise.
2160 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
2161 * themes/starfield/src/terminalbox/side.xcf: Likewise.
2162 * themes/starfield/starfield.png: Likewise.
2163 * themes/starfield/terminal_box_c.png: Likewise.
2164 * themes/starfield/terminal_box_e.png: Likewise.
2165 * themes/starfield/terminal_box_n.png: Likewise.
2166 * themes/starfield/terminal_box_ne.png: Likewise.
2167 * themes/starfield/terminal_box_nw.png: Likewise.
2168 * themes/starfield/terminal_box_s.png: Likewise.
2169 * themes/starfield/terminal_box_se.png: Likewise.
2170 * themes/starfield/terminal_box_sw.png: Likewise.
2171 * themes/starfield/terminal_box_w.png: Likewise.
2172 * themes/starfield/theme.txt: Likewise.
2173
17d73325
VS
21742012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * util/grub.d/00_header.in: Add missing export theme.
2177
dbebaf92
VS
21782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
2181 already included.
2182 Reported by: Eren D.
2183
3d68bffb
VS
21842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * conf/Makefile.common (grubdatadir): Removed.
2187 (Makefile.am): Move eveything grubdata to pkgdata.
2188
4b59234d
VS
21892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/commands/acpihalt.c (get_sleep_type):
2192 Remove unused variable.
2193
463dcadc
VS
21942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
2197 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
2198 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
2199 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
2200 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
2201 i18n with gettext no-op.
2202 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
2203 GRUB_ACPI_OPCODE_STRING_CONST.
2204 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
2205 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
2206
e5b90c82
VS
22072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * po/POTFILES.in: Regenerate.
2210
2a704ca9
VS
22112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
2214 -Wno-error=missing-noreturn.
2215
84f9d341
VS
22162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
2219 condition to avoid possibly infinite loops.
2220 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
2221 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
2222
d46683f9
VS
22232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
2226 condition to avoid possibly infinite loops.
2227
c44866b2
VS
22282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
2231 on show_error.
2232
96790539
VS
22332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
2236
1ba7e295
VS
22372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
2240
21ffe8f1
VS
22412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * util/bin2h.c (usage): Add missing attribute noreturn.
2244
0ccb6b3c
VS
22452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
2248 if the size isn't divisible by 512.
2249
b00d7fb6
VS
22502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 Make list_push and list_remove functions rather than inline functions
2253 to decrease size and avoid aliasing violations.
2254
2255 * include/grub/list.h (grub_list_push): Move to ...
2256 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
2257 * include/grub/list.h (grub_list_remove): Move to ...
2258 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
2259
9d369087
VS
22602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
2263 and -Wunused-result.
2264
af0250d9
VS
22652012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
2268 Reported by: Seth Goldberg
2269
aad32b14
VS
22702012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
2273
ac96441c
ST
22742012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
2275
2276 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
2277 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
2278 command line.
2279 * docs/grub.texi (Simple configuration): Document
2280 GRUB_CMDLINE_GNUMACH.
2281
22822012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
2283
2284 * conf/Makefile.common (platform_SCRIPTS): New variable.
2285 (platform_PROGRAMS): Likewise.
2286 * gentpl.py: Mark *,module and *.image for install.
2287 * grub-core/gdb_grub.in: Add a notice of expected environment.
2288 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
2289 (gmodule.pl): Likewise.
2290
ac96441c 22912012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
2292
2293 Replace grub_checkkey with grub_getkey_noblock.
2294
2295 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
2296 (grub_getkey_noblock): ... this. All users updated.
2297
ac96441c 22982012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
2299
2300 * grub-core/kern/emu/console.c: Move to ...
2301 * grub-core/term/emu/console.c: ...here.
2302 (grub_ncurses_getkey): Fix return value if no key is detected.
2303
e51b5666
VS
23042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
2307 (grub_unit_test_fini): Likewise.
2308 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
2309
23102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * include/grub/test.h (GRUB_UNIT_TEST)
2313
d9a62292
VS
23142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * grub-core/script/execute.c (grub_script_break): Clarify logic.
2317 Better error handling.
2318 (grub_script_return): Likewise.
2319 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2320
77c9182f
VS
23212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
2324 rimplicit redifinition.
2325
edb13cf9
VS
23262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
2329 GRUB.
2330
a9e9dc7c
VS
23312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
2334 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
2335 prompt here.
2336
b4ba8e02
VS
23372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
2340 as GRUB_ERR_BUG. Don't malloc if no device is available.
2341
dded5540
VS
23422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
2345 Mark calling with invalid term as GRUB_ERR_BUG.
2346
0cf69874
VS
23472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
2350 packets rather than raising an error.
2351
59bfe502
VS
23522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
2355 in if.
2356
db5fc596
VS
23572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
2360 diagnostic to dprintf.
2361 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2362
e4b7f404
VS
23632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
2366 device name.
2367
e7b02f9e
VS
23682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
2371 (grub_ntfs_iterate_dir): Likewise.
2372
0331e102
VS
23732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 Efiemu stylistic fixes and gettext.
2376
2377 * grub-core/efiemu/i386/loadcore32.c
2378 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
2379 * grub-core/efiemu/i386/loadcore64.c
2380 (grub_arch_efiemu_relocate_symbols64): Likewise.
2381 * grub-core/efiemu/i386/pc/cfgtables.c
2382 (grub_machine_efiemu_init_tables): Likewise.
2383 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
2384 (grub_efiemu_loadcore_initXX): Add a filename argument.
2385 All users updated.
2386 Improved error message.
2387 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
2388 Add a filename argument.
2389 All users updated.
2390 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
2391 Reclassify double relocation as GRUB_ERR_BUG.
2392
306fc074
VS
23932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
2396 handling.
2397
794d8ef2
VS
23982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
2401 on partition.
2402
24032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
2404
2405 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
2406
794d8ef2 24072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
2408
2409 Improve string. Gettextize.
2410
78dde88e
VS
24112012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
2414 utils.
2415 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
2416
4786a90f
VS
24172012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
2420 [GRUB_UTIL]: New function.
2421 (insert_array) [GRUB_UTIL]: Store partmaps.
2422 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
2423 partmaps.
2424 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
2425 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
2426 (probe_abstraction): Print diskfilter and not raid.
2427 Reported by: Lennart Sorensen
2428
0b6225bd
VS
24292012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
2432 * util/grub-mkimagexx.c (MASK3): New define.
2433 (add_value_to_slot_20b): Use MASK3.
2434 (add_value_to_slot_21): Likewise.
2435 (relocate_addresses): Fix format specification.
2436 (load_image): Explicitly init symtab_section.
2437
b055f8f6
VS
24382012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
2441 (grub_util_biosdisk_get_grub_dev): Fix format specification.
2442
b77c2fb7
VS
24432012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
2446 on powerpc.
2447 Reported by: Lennart Sorensen
2448
e3ec28ab
VS
24492012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * gentpl.py: Add missing license header.
2452 * docs/grub.texi: Update copyright year.
2453
c8d9ead6
GS
24542012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2455
2456 Source grub-mkconfig_lib from the build directory at build time.
2457 Suggested by: Vladimir Serbinenko.
2458
2459 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
2460 * util/grub-install.in: Define pkgdatadir if not already set, and source
2461 grub-mkconfig_lib from there.
2462 * util/grub-kbdcomp.in: Likewise.
2463 * util/grub-mkconfig.in: Likewise.
2464 * util/grub-mknetdir.in: Likewise.
2465 * util/grub-mkrescue.in: Likewise.
2466 * util/grub-mkstandalone.in: Likewise.
2467 * util/grub-reboot.in: Likewise.
2468 * util/grub-set-default.in: Likewise.
2469 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2470
ebcecdf1
VS
24712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 Increase warning level.
2474
2475 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
2476 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
2477 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
2478 (TARGET_CFLAGS): Likewise.
2479 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
2480 * grub-core/Makefile.core.def (decompressor_xz): Add
2481 -Wno-unreachable-code.
2482 (normal): Add -Wno-redundant-decls.
2483 (xzio): Add -Wno-unreachable-code.
2484 (lzopio): Add -Wno-redundant-decls -Wno-error.
2485 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2486 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2487 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2488 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2489 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2490 * grub-core/kern/i386/coreboot/init.c: Add exception to
2491 -Wsuggest-attribute=noreturn.
2492 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2493 * grub-core/kern/ia64/dl_helper.c: Likewise.
2494 * grub-core/kern/mips/dl.c: Likewise.
2495 * grub-core/kern/sparc64/dl.c: Likewise.
2496 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2497 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2498 (memcmp): Likewise.
2499 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2500 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2501 * grub-core/loader/mips/linux.c: Likewise.
2502 * grub-core/loader/multiboot_elfxx.c: Likewise.
2503 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2504 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2505 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2506 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2507 fixme.
2508 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2509 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2510 Fix prototype.
2511
37bb97fe
VS
25122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2515 address.
2516
29a3550b
VS
25172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2520 Avoid improper use of strings.
2521 (grub_cmd_legacy_initrdnounzip): Likewise.
2522
dfdffd0d
VS
25232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2526 attribute.
2527 (grub_util_info): Likewise.
2528 (grub_util_error): Likewise.
2529
102fae4a
VS
25302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2533 * util/grub-fstest.c (fstest): Likewise.
2534
7e94d044
VS
25352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2538 (grub_md_sha512_real): Likewise.
2539 (grub_util_get_geli_uuid): Likewise.
2540 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2541 (grub_util_biosdisk_open): Fix format specification.
2542 Respect format security.
2543 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2544 (xrealloc): Likewise.
2545 (xasprintf): Likewise.
2546
5ebd9769
VS
25472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * util/import_gcry.py: Include grub/crypto.h in init.c.
2550
495fc8c1
VS
25512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2554 (generate_image): Make prefix a const char *.
2555 Fix format specifications. Respect format security.
2556 Avoid void * arithmetics.
2557 Avoid shadowing.
2558 (argp_parser): Remove unused variable. Respect format security.
2559 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2560 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2561 (count_funcs): Remove unused variable.
2562 (relocate_addresses): Fix format specification.
2563 Disable x86-64 with elf32. Remove unused variables.
2564 (add_fixup_entry): Avoid shadowing.
2565 (make_reloc_section): Fix format specification.
2566 Use assert.
2567 (locate_sections): Fix format specifications.
2568 (load_image): Avoid shadowing.
2569
043c2ea3
VS
25702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2573 Fix format specifications. Respect format security.
2574 Don't translate already translated grub_errmsg.
2575 (argp_parser): Remove unused variable
2576
3ec65a81
VS
25772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2578
2579 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2580
a4d9fe4a
VS
25812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2584 (main): Likewise. Use xmalloc. Respect format security.
2585
15b81d49
VS
25862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2589 a const char *.
2590 (argp_parser): Remove unused variable.
2591
31731fc0
VS
25922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2595 (add_pixel): Make static.
2596 (add_font): Likewise.
2597 (write_string_section): Make name and str a const char *.
2598 (write_be16_section): Make name a const char *.
2599 (print_glyphs): Make static.
2600 (write_font_ascii_bitmap): Likewise.
2601 (write_font_width_spec): Likewise.
2602 (write_font_pf2): Likewise.
2603 (argp_parser): Remove unused variable.
2604 Respect format security.
2605 (main): Avoid shadowing. Respect format security.
2606
0809527b
VS
26072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * util/grub-editenv.c (argp_parser): Make static.
2610 (create_envblk_file): Use xmalloc.
2611 (open_envblk_file): Likewise.
2612 Resepect format security.
2613 (set_variables): Respect format security.
2614
45b0c8b7
VS
26152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * util/getroot.c (grub_find_device): Respect format security.
2618 (get_mdadm_uuid): Remove unused variable.
2619 (grub_util_pull_device): Dont call gettext on already translated
2620 grub_errmsg.
2621 (find_system_device): Remove unused variable.
2622 (grub_util_get_grub_dev): Likewise.
2623 (grub_make_system_path_relative_to_its_root): Respect format security.
2624
1b024b4e
VS
26252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * util/grub-fstest.c (execute_command): Make first argument
2628 a const char *.
2629 (read_file): Avoid shadowing.
2630 Reuse underlying error message if device open fails.
2631 (cmd_cmp): Respect format security.
2632 (root): Make const char *.
2633 (fstest): Remove args argument and use global copy.
2634 Respect format security.
2635 (argp_parser): Make static.
2636 (main): Make default_root const char *.
2637
5d1d4e28
VS
26382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * util/grub-mount.c (root): Make const char *.
2641 (execute_command): Make first argument a const char *.
2642 (fuse_init): Respect format security.
2643 (argp_parser): Make static. Remove unused variable.
2644 (main): Make default_root a const char *.
2645 Respect format security.
2646
36eb7379
VS
26472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * util/grub-probe.c (probe): Don't call gettext on already translated
2650 grub_errmsg.
2651 Remove unused variables.
2652 (argp_parser): Remove unused variable.
2653
76fb2ea9
VS
26542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * util/grub-script-check.c (argp_parser): Remove unused variable.
2657 (main): Rename read to curread to avoid shadowing.
2658
56c98584
VS
26592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * util/misc.c (grub_util_write_image_at): Fix format specification.
2662 (grub_util_write_image): Likewise.
2663 (grub_script_execute_argument_to_string): Removed (unused).
2664 (grub_script_execute_menuentry): Likewise.
2665 (grub_putchar): Likewise.
2666
164ebb48
VS
26672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
2670 (FUNCTION) [GRUB_UTIL]: Likewise.
2671 (VARIABLE) [GRUB_UTIL]: Likewise.
2672
44318d61
VS
26732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
2676 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
2677
31a26002
VS
26782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
2681 buffer.
2682
26832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
2686 (LzmaEnc_SaveState): Removed (unused).
2687 (LzmaEnc_RestoreState): Likewise.
2688 (LzmaEnc_InitPriceTables): Made static.
2689 (LzmaEnc_Construct): Likewise.
2690 (LzmaEnc_FreeLits): Likewise.
2691 (LzmaEnc_Destruct): Likewise.
2692 (LzmaEnc_Init): Likewise.
2693 (LzmaEnc_InitPrices): Likewise.
2694 (LzmaEnc_Finish): Likewise.
2695 (LzmaEnc_PrepareForLzma2): Removed (unused).
2696 (LzmaEnc_MemPrepare): Likewise.
2697 (LzmaEnc_GetNumAvailableBytes): Likewise.
2698 (LzmaEnc_GetCurBuf): Likewise.
2699 (LzmaEnc_CodeOneMemBlock): Likewise.
2700
6fa67967
VS
27012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
2704 (grub_util_ldm_embed): Likewise.
2705
9a7428e6
VS
27062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * util/grub-editenv.c (print_var): Rename name to varname to
2709 avoid shadowing.
2710 (main): Rename index to curindex to avoid shadowing.
31a26002 2711 Make filename a const char *.
9a7428e6 2712
4f96abd1
VS
27132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2716 to arg_getline to avoid shadowing.
2717
44d10dad
VS
27182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
2721 disk_ to avoid shadowing.
2722
340ba63e
VS
27232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
2726 curindex to avoid shadowing.
2727 Make static.
2728 (MatchFinder_GetNumAvailableBytes): Make static.
2729
22965bce
VS
27302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
2733 avoid shadowing.
2734
7b5784d4
VS
27352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
2738 argument from encrypt to do_encrypt to avoid shadowing.
2739
6f48ca01
VS
27402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2743 incorrect nesting of #if's.
2744
a4ea2dff
VS
27452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2748 checks which are always false on some platforms.
2749 (grub_cmd_lsacpi): Likewise.
2750 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2751 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2752 Likewise.
2753
def9fc1b
VS
27542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2757 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2758
a67b2a04
VS
27592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2762 re_dfa_t to avoid breaking alignment invariants.
2763 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2764 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2765
44c6828d
VS
27662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
2769 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
2770
bebe0dd0
VS
27712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
2774 Fix declaration.
2775
a9cdb3cf
VS
27762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
2779 conserve alignment invariants.
2780 (grub_ehci_ehcc_read16): Likewise.
2781 (grub_ehci_oper_read32): Likewise.
2782 (grub_ehci_oper_write32): Likewise.
2783 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2784 Conserve alignment invariants.
2785
ccc3b1b8
VS
27862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
2789 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
2790 declarations.
2791
987fbd95
VS
27922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
2795 Remove unused variable.
2796
0df363f3
VS
27972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
2800 Remove set in if.
2801
b2c0c4a6
VS
28022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * include/grub/net.h: Remove double declarations.
2805
690c531f
VS
28062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 Remove "payload" command in ia64 Linux loader since I couldn't
2809 find any evidence of it being used for anything.
2810 Replace "relocate" command with an environment variable
2811
2812 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
2813 fields.
2814 (ia64_boot_payload): Removed.
2815 (last_payload): Likewise.
2816 (RELOCATE_OFF): Likewise.
2817 (RELOCATE_ON): Likewise.
2818 (RELOCATE_FORCE): Likewise.
2819 (relocate): Likewise.
2820 (free_pages): Don't free payloads.
2821 (grub_load_elf64): Use common error messages.
2822 Use "linux_relocate" variable.
2823 Increase the space after boot_params.
2824 (grub_cmd_payload): Removed.
2825 (grub_cmd_relocate): Likewise.
2826 (grub_cmd_fpswa): Improve messages.
2827 (cmd_payload): Removed.
2828 (cmd_relocate): Likewise.
2829 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
2830 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
2831
01783768
VS
28322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 Convert UHCI to DMA framework.
2835
2836 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
2837 (grub_uhci_pci_iter): Fill new members
2838 (grub_alloc_td): Use P2V and V2P functions.
2839 (grub_free_queue): Likewise.
2840 (grub_alloc_qh): Likewise.
2841 (grub_uhci_setup_transfer): Likewise.
2842 (grub_uhci_check_transfer): Likewise.
2843
43206939
VS
28442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
2847 Remove assignment in if while on it.
2848
571e140e
VS
28492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * util/grub-mkstandalone.in: Fix modules directory.
2852
a9d96eeb
VS
28532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
2856 on i386-pc target.
2857 (argp_parser): Accept "auto" as compression specification.
2858
e4e37e8d
VS
28592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 Fix `help' with unloaded modules.
2862
2863 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
2864 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
2865 (grub_dyncmd_dispatcher): Small stylistic fix.
2866 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
2867 explicit help is requested.
2868
e1ea3ade
VS
28692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
2872 Explicitly init restart while on it.
2873
27556881
VS
28742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
2877 uninited variable.
2878
d65f6b36
VS
28792012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * util/grub-mknetdir.in: Use . rather than source for POSIX
2882 compatibility.
2883
0a1e473c
VS
28842012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
2887
ce6647c8
VS
28882012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
2891 variable.
2892
66747894
VS
28932012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
2896 without quotes.
2897
71645f6e
VS
28982012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
2901
0e1c1f61
VS
29022012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
2905 iteration of partitions.
2906
9c4b5c13
VS
29072012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 Improve gettext support. Stylistic fixes and error handling fixes while
2910 on it.
2911
215c90cb
VS
29122012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
2915 part. Instead setup the correct stack in RM.
2916 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
2917 for stack.
2918 * include/grub/i386/relocator_private.h: New file.
2919
b5c1f9bf
VS
29202012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
2923 argument.
2924 * util/grub-fstest.c (options): Add missing DEVICE part.
2925
b525fd83
VS
29262012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 Clarify and unify messages.
2929
2930 * grub-core/commands/hashsum.c (options): Unify messages.
2931 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
2932 literal-only message as translatable.
2933 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
2934 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
2935 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
2936 commands.
2937 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
2938 key, not the key used to unlock. Clarify what it's used for.
2939 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
2940 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
2941 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
2942 * util/grub-editenv.c (options): Unify "verbose" message.
2943 * util/grub-fstest.c (read_file): Unify error message.
2944 (fstest): Add quotes around commands.
2945 (options): Unify "verbose" message.
2946 * util/grub-install.in: Add quotes around variable name.
2947 * util/grub-kbdcomp.in: Unify error message.
2948 * util/grub-mkfont.c (main): Likewise.
2949 * util/grub-mkrescue.in: Likewise.
2950 * util/grub-mklayout.c (options): Unify "verbose" message.
2951 * util/grub-mkstandalone.in: Unify help and verbose messages.
2952 * util/grub-mount.c (options): Unify "verbose" message.
2953 * util/grub-probe.c (options): Likewise.
2954 * util/grub-script-check.c (options): Likewise.
2955 * util/grub-setup.c (setup): Unify no-terminator message.
2956 (options): Use DEVICE and not DEV.
2957 Unify "verbose" message.
2958 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
2959
0ae70393
VS
29602012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 Improve and unify messages.
2963
2964 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
2965 name. All users updated.
2966 Print filename in error.
2967 (read_device_map): Print filename in error.
2968 * util/getroot.c (grub_guess_root_devices): Print filename in error.
2969 (grub_util_get_os_disk): Likewise.
2970 (grub_util_biosdisk_get_grub_dev): Likewise.
2971 (grub_util_check_block_device): Likewise.
2972 (grub_util_check_char_device): Likewise.
2973 (grub_make_system_path_relative_to_its_root): Likewise.
2974 * util/grub-editenv.c (create_envblk_file): Likewise.
2975 (open_envblk_file): Likewise.
2976 (write_envblk): Likewise.
2977 * util/grub-fstest.c (cmd_cp): Likewise.
2978 (cmd_cat): Likewise.
2979 (cmd_cmp): Likewise.
2980 * util/grub-menulst2cfg.c (main): Likewise.
2981 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
2982 (write_font_width_spec): Likewise.
2983 (write_font_pf2): Likewise.
2984 * util/grub-mkimage.c (generate_image): New argument outname.
2985 All users updated.
2986 Remove unreacheable message.
2987 (options): Unify messages.
2988 (help_filter): Likewise.
2989 * util/grub-mklayout.c (usage): Removed (unused).
2990 (main): Print filename in error.
2991 * util/grub-mkrescue.in: Fix wrong quoting.
2992 * util/grub-setup.c (setup): Print filename in error.
2993 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
2994 (check_sas): Likewise.
2995 * util/misc.c (grub_util_get_fp_size): Removed.
2996 (grub_util_get_image_size): Print filename in error.
2997 (grub_util_read_at): Removed.
2998 (grub_util_read_image): Print filename in error.
2999 (grub_util_load_image): Likewise.
3000 (grub_util_write_image_at): New argument filename. All users updated.
3001 Print filename in error.
3002 (grub_util_write_image): New argument filename. All users updated.
3003 Print filename in error.
3004 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
3005 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
3006
0a96117d
VS
30072012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * grub-core/Makefile.core.def (pxechain): New module.
3010 * grub-core/loader/i386/pc/pxechainloader.c: New file.
3011 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
3012 function.
3013 (grub_pc_net_config_real): Use grub_pxe_get_cached.
3014 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
3015
aca002f7
VS
30162012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
3019 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
3020 * include/grub/err.h (grub_error_saved): New struct.
3021 (grub_errmsg): Make array size explicit.
3022 * include/grub/misc.h (grub_error_save): New function.
3023 (grub_error_load): Likewise.
3024 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
3025 (grub_error_push): Update `errno' member name.
3026 (grub_error_pop): Likewise
3027 * grub-core/net/tftp.c (tftp_data): New member save_err.
3028 (tftp_receive): Save error.
3029 (tftp_open): Restore error.
3030
a51dab13
VS
30312012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
3034 to real mode down to execute A20-related code in protected mode as
3035 intended.
3036
eb6e6649
GS
30372012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3038
3039 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
3040 NULL when the argument `level' has an unexpected value.
3041
92cd0f6e
VS
30422012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 Move platform-dependent files from $prefix to $prefix/$platform.
3045
3046 * config.h.in (GRUB_TARGET_CPU): New definition.
3047 (GRUB_PLATFORM): Likewise.
3048 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
3049 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
3050 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3051 * grub-core/kern/dl.c (grub_dl_load): Likewise.
3052 * grub-core/normal/autofs.c (read_fs_list): Likewise.
3053 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
3054 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
3055 * grub-core/normal/term.c (read_terminal_list): Likewise.
3056 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
3057 $prefix/locale.
3058 (grub_gettext_init_ext): Likewise.
3059 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
3060 grub_platform.
3061 * util/grub-install.in: Update directories.
3062 * util/grub-mknetdir.in: Likewise.
3063 * util/grub-mkrescue.in: Likewise.
3064
db606889
VS
30652012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
3068 grub_error framework. All users updated.
3069
c39992a4
VS
30702012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
3073 lists (by always binsearching), improve caching (cache strings
3074 used for binsearch, not only results), improve
3075 maintainability (by using more structured binary search) and correct
3076 error handling.
3077
1e5ec32f
VS
30782012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * grub-core/script/execute.c (grub_script_return): Fix warning.
3081
ac576cde
VS
30822012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * grub-core/script/execute.c (grub_script_return): Fix potential
3085 NULL-dereference.
3086 Reported by: Jim Meyering.
3087
498453f6
VS
30882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * po/POTFILES.in: Regenerate.
3091 * util/grub-install.in: Gettextize the strings missed in first pass.
3092
8be63f2e
VS
30932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * Makefile.util.def (grub-mkdevicemap): Removed.
3096 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
3097 * include/grub/util/deviceiter.h: Removed.
3098 * util/deviceiter.c: Likewise.
3099 * util/getroot.c (grub_util_get_os_disk): New function.
3100 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
3101 replacement for EFI.
3102 * util/grub-mkdevicemap.c: Removed.
3103 * util/grub-probe.c (probe): Handle PRINT_DISK.
3104 (argp_parser): Handle -t disk.
3105
8e1e4e39
VS
31062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * util/grub-mkfont.c: Migrate to argp.
3109 * util/grub-mklayout.c: Likewise.
3110 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3111 * util/grub-mkrelpath.c: Likewise.
3112 * util/grub-probe.c: Likewise.
3113 * util/grub-script-check.c: Likewise.
3114
4459819a
VS
31152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * util/grub-reboot.in: Add missing datarootdir.
3118 Add missing newline.
3119 * util/grub-set-default.in: Add missing datarootdir.
3120 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
3121 * util/grub-mkrescue.in: Likewise.
3122
f65741c7
VS
31232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
3126
c1a33466
VS
31272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * util/grub-kbdcomp.in: Add decent help and gettextize.
3130 * docs/man/grub-kbdcomp.h2m: New file.
3131
c76899a0
VS
31322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 Migrate grub-mkimage.c to argp.
3135
3136 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
3137 (grub-setup): Likewise.
3138 * util/grub-setup.c (print_version): Move to ...
3139 * util/argp_common.c (print_version): ... here.
3140 * util/grub-setup.c (argp_program_version_hook): Move to ...
3141 * util/argp_common.c (argp_program_version_hook): ... here.
3142 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
3143 safety.
3144 * util/grub-mkimage.c (main): Migrate to argp.
3145
57db0757
VS
31462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * util/grub-mkrescue.in: Use same message as
3149 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
3150 for better translations.
3151
18534ad9
VS
31522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
3155 options with generic grub-mkrescue.in with the goal of future
3156 merge.
3157
c84ba308
VS
31582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * grub-core/kern/mm.c: Add missing include of i18n.h
3161 * grub-core/lib/relocator.c: Likewise.
3162
347998c2
VS
31632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
3166 error.
3167 (allocate_pages): Check return value.
3168 Replace fatal with error.
3169 (grub_linux_boot): Replace printf with dprintf.
3170 Check find_mmap_size return value.
3171 Replace fatal with error.
3172 Don't call grub_machine_fini.
3173 (grub_load_elf64): Replace printf with dprintf.
3174 (grub_cmd_linux): Likewise.
3175 (grub_cmd_initrd): Likewise.
3176 (grub_cmd_payload): Likewise.
3177
c779226e
VS
31782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
3181 message.
3182 * grub-core/video/radeon_fuloong2e.c
3183 (grub_video_radeon_fuloong2e_setup): Likewise.
3184 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
3185 * grub-core/video/video.c (grub_video_set_mode): Don't override
3186 standard out of memory message.
3187
dc87d45a
GS
31882012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3189
3190 NetBSD disk wedge support.
3191
3192 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
3193 [__NetBSD__]: Handle NetBSD disk wedges.
3194 * util/getroot.c (convert_system_partition_to_system_disk)
3195 [__NetBSD__]: Likewise.
3196
055f856f
MW
31972012-02-03 Mark Wooding <mdw@distorted.org.uk>
3198
3199 * util/grub-mkconfig.in: Use umask rather than chmod to create
3200 grub.cfg.new to avoid insecure grub.cfg.
3201
4a9f8346
VS
32022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 * grub-core/commands/ls.c: Gettextize.
3205 * grub-core/commands/setpci.c: Likewise.
3206 * grub-core/commands/videotest.c: Likewise.
3207 * grub-core/disk/geli.c: Likewise.
3208 * grub-core/kern/mm.c: Likewise.
3209 * grub-core/lib/relocator.c: Likewise.
3210 * grub-core/loader/efi/appleloader.c: Likewise.
3211 * grub-core/loader/i386/xnu.c: Likewise.
3212 * grub-core/loader/ia64/efi/linux.c: Likewise.
3213 * grub-core/loader/xnu.c: Likewise.
3214 * grub-core/net/dns.c: Likewise.
3215 * grub-core/net/net.c: Likewise.
3216 * grub-core/script/lexer.c: Likewise.
3217 * grub-core/script/parser.y: Likewise.
3218 * grub-core/script/yylex.l: Likewise.
3219 * util/getroot.c: Likewise.
3220 * util/grub-setup.c: Likewise.
3221
a646a366
VS
32222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
3225 number.
3226
54e2be26
VS
32272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
3230
f7c71e68
VS
32312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
3234 macro.
3235 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
3236 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
3237
a32d5c71
VS
32382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
3241 * util/grub-install.in: Gettextize.
3242 * util/grub-mkconfig.in: Likewise.
3243 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
3244 if not available.
3245 (grub_warn): Gettextize.
3246 * util/grub-mknetdir.in: Gettextize.
3247 * util/grub-mkrescue.in: Likewise.
3248 * util/grub-mkstandalone.in: Likewise.
3249 * util/grub-reboot.in: Likewise.
3250 * util/grub-set-default.in: Likewise.
3251 * util/grub.d/00_header.in: Likewise.
3252 * util/grub.d/10_hurd.in: Likewise.
3253 * util/grub.d/10_kfreebsd.in: Likewise.
3254 * util/grub.d/10_linux.in: Likewise.
3255 * util/grub.d/10_netbsd.in: Likewise.
3256 * util/grub.d/10_windows.in: Likewise.
3257 * util/grub.d/20_linux_xen.in: Likewise.
3258 * util/grub.d/30_os-prober.in: Likewise.
3259 * po/POTFILES-shell.in: Regenerate.
3260
69edd81a
RL
32612012-02-03 Richard Laager <rlaager@wiktel.com>
3262
3263 * util/grub-mkimage.c (main): Fix format-security warning.
3264 * util/grub-mkrelpath.c (main): Likewise.
3265 * util/grub-probe.c (main): Likewise.
3266
65f08dbf
RL
32672012-02-03 Richard Laager <rlaager@wiktel.com>
3268
3269 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
3270 failure.
3271 Put back lost PRINT_DRIVE.
3272
e9084abe
RL
32732012-02-03 Richard Laager <rlaager@wiktel.com>
3274
3275 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
3276 (grub_guess_root_devices): Replace strlen with sizeof.
3277 Avoid crash.
3278 (find_root_devices_from_poolname): Remove unused variable.
3279 Handle raidzN.
3280
cf5f7ee7
VS
32812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 Support install on multi-device filesystems.
3284
3285 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
3286 (grub_guess_root_devices): ...this. Return char **. All users updated.
3287 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
3288 Removed.
3289 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
3290 (find_root_devices_from_poolname): ... here.
3291 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
3292 Support zfs-fuse.
3293 (grub_guess_root_device): Rename to ...
3294 (grub_guess_root_devices): ... this. Return char **. All users updated.
3295 * util/grub-install.in: Handle multi-device filesystems.
3296 * util/grub-probe.c (probe). Make device_names a char **. Add delim
3297 argument. All users updated.
3298 Handle multi-device filesystems.
3299 Use 'delim' as separator.
3300 Remove device check to allow filesystems on file.
3301 (main): Support -0 argument. Handle multi-device.
3302 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
3303 Fix a cross-device check while on it.
3304 (arguments): Remove root_dev.
3305 (argp_parser): Remove -r.
3306 (main): Remove root_dev.
3307
2f53a9ed
VS
33082012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
3311
17e1d934
VS
33122012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
3315 symbol.
3316 Reported by: NODA, Kai <nodakai>.
3317
d3e3fab5
VS
33182012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 Fix ehci on amd64.
3321
3322 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
3323 pointers.
3324 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
3325 (grub_ehci_setup_qh): Likewise.
3326 (grub_ehci_find_qh): Likewise.
3327 (grub_ehci_transaction): Likewise.
3328 (grub_ehci_setup_transfer): Likewise.
3329 (grub_ehci_check_transfer): Likewise.
3330 (grub_ehci_portstatus): Likewise.
3331 (grub_ehci_detect_dev): Likewise.
3332 (grub_ehci_transfer_controller_data): New field td_last_phys.
3333 (grub_ehci_setup_transfer): Fill td_last_phys.
3334 (grub_ehci_check_transfer): Use td_last_phys.
3335
3008675b
SG
33362012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
3337
3338 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
3339 if no submenu is present.
3340
fc9b5652
AN
33412012-02-01 Aleš Nesrsta <starous@volny.cz>
3342
3343 CBI support.
3344
3345 * include/grub/usb.h (grub_usbms_protocol_t): New values
3346 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
3347 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
3348 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
3349 (grub_usbms_dev): Add subclass, protocol and intrpt.
3350 Remove in_maxsz and out_maxsz.
3351 (grub_usbms_reset): Rename to ...
3352 (grub_usbms_bo_reset): .. this.
3353 (grub_usbms_cbi_cmd): New function.
3354 (grub_usbms_cbi_reset): Likewise.
3355 (grub_usbms_reset): Likewise.
3356 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
3357 (grub_usbms_transfer): Rename to ...
3358 (grub_usbms_transfer_bo): ... this.
3359 (grub_usbms_transfer_cbi): Likewise.
3360 (grub_usbms_transfer): Likewise.
3361
a2b81d53
AN
33622012-02-01 Aleš Nesrsta <starous@volny.cz>
33632012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
3366 the support for the CS5536 modification thereos and few bugfixes.
3367
3368 * grub-core/Makefile.core.def (ehci): New module.
3369 * grub-core/bus/usb/ehci.c: New file.
3370 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
3371 port and hubaddr. All users updated.
3372 Save port and hubaddr into dev structure.
3373 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
3374 define.
3375 * include/grub/pci.h (grub_dma_phys2virt): New function.
3376 (grub_dma_virt2phys): Likewise.
3377 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
3378
b1d51f02
VS
33792012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
3382 check as some mkfs implementations omit it.
3383
fc694106
VS
33842012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * docs/grub.texi (Unicode): Mention identifier and space limitations.
3387
6c0920e3
VS
33882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
3391 Add new member volname2.
3392 (grub_jfs_label): Use volname2 if available.
3393
d1a46f9a
VS
33942012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
3397 over last_mounted as seen in image generated by mkfs.nilfs2.
3398 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
3399
dec8ed14
VS
34002012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
3403 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
3404 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
3405
7397c69b
VS
34062012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
3409 over the sector.
3410
b3fe42ad
VS
34112012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
3414 subvolume name (by removing a bogus and useless check).
3415
10476bb0
VS
34162012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
3419 sizeof while on it.
3420
9c08ad87
VS
34212012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
3424 (grub_scsi_read_capacity10): ... this.
3425 (grub_scsi_read_capacity16): New function.
3426 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
3427 0xffffffff.
3428 Fix off-by-one error.
3429 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
3430 64-bit unsigned.
3431 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
3432 (grub_scsi_read_capacity10): ... this.
3433 (grub_scsi_read_capacity_data): Rename to ...
3434 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
3435 (grub_scsi_read_capacity16): New struct.
3436 (grub_scsi_read_capacity16_data): Likewise.
3437 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
3438 grub_scsi_cmd_read_capacity10.
3439 New command grub_scsi_cmd_read_capacity16.
3440
bc8d0f45
VS
34412012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 SCSI >2TiB support.
3444
3445 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
3446 (grub_scsi_write16): Likewise.
3447 (grub_scsi_read): Use read16 when necessary.
3448 (grub_scsi_write): Likewise.
3449 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
3450 (grub_scsi_write16): Likewise.
3451 (grub_scsi_cmd_t): Add READ16 and WRITE16.
3452
cc774926
VS
34532012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 SCSI write support (for usbms mainly).
3456
3457 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
3458 a const pointer.
3459 (grub_scsi_write): Implement.
3460 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
3461
67639fd7
VS
34622012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
3465 variable.
3466
9079d3ed
VS
34672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * grub-core/lib/posix_wrap/string.h (memchr): New function.
3470
c6a6f204
VS
34712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * po/POTFILES.in: Regenerate.
3474
ecbf8cd1
VS
34752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
3478 with grub_printf to avoid unnecessary fatal failure.
3479
0b3b3b38
VS
34802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
3483 (INT_MAX): Likewise.
3484 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
3485 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3486 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3487 (strcpy): Likewise.
3488 (strstr): Likewise.
3489 (strchr): Likewise.
3490 (strncpy): Likewise.
3491 (strcat): Likewise.
3492 (strncat): Likewise.
3493 (strcoll): Likewise.
3494 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3495 (GRUB_INT_MAX): Likewise.
3496
db7337a3
VS
34972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3500 unexpected error.
3501 (optimize_utf8): Likewise.
3502 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3503
f37c87e1
VS
35042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * grub-core/boot/i386/pc/lnxboot.S: Use
3507 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3508 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3509 location.
3510 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3511 definition.
3512 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3513
63fe43f3
VS
35142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3517 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3518 now to avoid double free.
3519 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3520 hostdisk.
3521 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3522 * util/grub-probe.c (escape_of_path): Always return a new copy.
3523 (print_full_name): Escape path.
3524 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3525 Fix hints on abstractions.
3526
ebe2c961
VS
35272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3530 Don't add "root" line if no compatibility hont is available.
3531 Suggested by: Seth Goldberg.
3532
2b5336a2
VS
35332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3536 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3537 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3538 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3539
74310bd8
VS
35402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3543
c30582ba
VS
35442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * util/grub-pe2elf.c (ehdr): Make static.
3547 (shdr): Likewise.
3548 (num_sections): Likewise.
3549 (offset): Likewise.
3550
5f47782c
VS
35512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 Eliminate ofpath limits and possible overflows.
3554
3555 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3556 (OF_PATH_MAX): Removed.
3557 (MAX_DISK_CAT): New const.
3558 (find_obppath): Use allocated rather than preallocated buffer.
3559 Return result. Argument of_path removed. All users updated.
3560 Add missing fdstat.
3561 (xrealpath): New function.
3562 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3563 Allocate rather than use preallocated buffer. All users updated.
3564 (__of_path_common): Use allocated rather than preallocatecd buffer.
3565 Return result. Argument of_path removed. All users updated.
3566 (vendor_is_ATA): Read only needed part form the file.
3567 (check_sas): Allocate depending on contents rather than fixed.
3568 (main) [STANDALONE]: Handle NULL result.
3569
f990cbf9
VS
35702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3573
9c6e84b8
VS
35742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 Cryptodisk write support.
3577
3578 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3579 (grub_cryptodisk_decrypt): Moved logic to ...
3580 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3581 (grub_cryptodisk_write): Implement.
3582 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3583 (grub_util_fd_write): ... this. Make global.
3584 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3585
87cf9744
VS
35862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * include/grub/list.h (grub_list_remove): Don't crash if element is
3589 removed twice.
3590
ca8c0baf
VS
35912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 Rename ofconsole to console.
3594
3595 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3596 as sysnonym to console.
3597 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3598 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3599 Rename grub_ofconsole_ to grub_console_. All users updated
3600 (grub_console_term_output): Rename "ofconsole" to "console".
3601 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3602 as "console".
3603
64c8b8f6
VS
36042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3607 handling.
3608 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3609 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3610 GRUB_DISK_DEVICE_FILE_ID.
3611
f6c434d5
VS
36122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3615 and improve performance.
3616
5858b42d
VS
36172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3620 missing ieee1275/ prefix on whole disk.
3621
4ed3c26b
VS
36222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3625 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3626
df71143e
VS
36272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3630
076e7c0f
VS
36312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 Merge common RAID and LVM logic to an abstract diskfilter.
3634 Add LDM support using the same framework.
3635
3636 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3637 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3638 (libgrubmods): Remove grub-core/disk/raid.c and
3639 grub-core/partmap/gpt.c.
3640 * grub-core/Makefile.core.def (ldm): New module.
3641 (raid): Renamed to diskfilter. All users updated.
3642 * grub-core/disk/raid.c: Moved to ...
3643 * grub-core/disk/diskfilter.c: ... here.
3644 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3645 (lv_num): New var.
3646 (find_array): Renamed to ...
3647 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3648 (grub_is_array_readable): Renamed to ...
3649 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3650 (insert_array): New argument id.
3651 (is_node_readable): New function.
3652 (scan_device): Rename to ...
3653 (scan_disk): .. this. Restrict to one disk.
3654 (scan_devices): New function.
3655 (grub_diskfilter_iterate): Support multi-LV.
3656 Skip invisible and nameless LVs.
3657 (grub_diskfilter_memberlist): Support multi-LV.
3658 (grub_diskfilter_read_node): New function.
3659 (grub_raid_read): Most of logic moved to ...
3660 (read_segment): ... here
3661 (read_lv): New function.
3662 (grub_diskfilter_get_vg_by_uuid): New function.
3663 (grub_diskfilter_make_raid): Likewise.
3664 * grub-core/disk/ldm.c: New file.
3665 * grub-core/disk/lvm.c (vg_list): Removed.
3666 (lv_count): Likewise.
3667 (scan_depth): Likewise.
3668 (is_lv_readable): Likewise.
3669 (grub_lvm_getvalue): Advance pointer past the number.
3670 (find_lv): Removed.
3671 (do_lvm_scan): Refactored into ...
3672 (grub_lvm_detect): ... this. Support raid.
3673 (grub_lvm_iterate): Removed.
3674 (grub_lvm_memberlist): Likewise.
3675 (grub_lvm_open): Likewise.
3676 (grub_lvm_close): Likewise.
3677 (read_lv): Likewise.
3678 (read_node): Likewise.
3679 (is_node_readable): Likewise.
3680 (is_lv_readable): Likewise.
3681 (grub_lvm_read): Likewise.
3682 (grub_lvm_write): Likewise.
3683 (grub_lvm_dev): Use diskfilter
3684 (GRUB_MOD_INIT): Likewise.
3685 (GRUB_MOD_FINI): Likewise.
3686 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
3687 new interface.
3688 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
3689 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3690 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
3691 grub_diskfilter_read_node.
3692 Fix a bug with xor.
3693 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
3694 grub_diskfilter_read_node.
3695 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
3696 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
3697 (grub_disk_dev_iterate): Move from here...
3698 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
3699 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3700 Make global.
3701 (grub_hostdisk_find_partition_start): Likewise.
3702 (grub_hostdisk_os_dev_to_grub_drive): New function.
3703 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
3704 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
3705 * util/getroot.c (make_device_name): ... here.
3706 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3707 Move to ...
3708 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
3709 * grub-core/kern/emu/hostdisk.c
3710 (convert_system_partition_to_system_disk): Move to ...
3711 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
3712 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
3713 * util/getroot.c (device_is_wholedisk): ... here.
3714 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
3715 * util/getroot.c (find_system_device): ... here.
3716 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
3717 Move to ...
3718 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
3719 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3720 Move to ...
3721 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
3722 Handle LDM.
3723 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3724 Move to ...
3725 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
3726 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
3727 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
3728 DISKFILTER.
3729 * include/grub/raid.h: Renamed to ...
3730 * include/grub/diskfilter.h: ... this.
3731 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
3732 (GRUB_RAID_LAYOUT_*): Make into array.
3733 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
3734 (grub_diskfilter_vg): New struct.
3735 (grub_diskfilter_pv_id): Likewise.
3736 (grub_raid_member): Removed.
3737 (grub_raid_array): Likewise.
3738 (grub_diskfilter_pv): New struct.
3739 (grub_diskfilter_lv): Likewise.
3740 (grub_diskfilter_segment): Likewise.
3741 (grub_diskfilter_node): Likewise.
3742 (grub_diskfilter_get_vg_by_uuid): New proto.
3743 (grub_raid_register): Inline.
3744 (grub_diskfilter_unregister): Likewise.
3745 (grub_diskfilter_make_raid): New proto.
3746 (grub_diskfilter_vg_register): Likewise.
3747 (grub_diskfilter_read_node): Likewise.
3748 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3749 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3750 (grub_util_is_ldm): Likewise.
3751 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3752 (grub_hostdisk_find_partition_start): Likewise.
3753 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3754 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3755 New definition.
3756 (grub_gpt_partition_map_iterate): New proto.
3757 * include/grub/lvm.h (grub_lvm_vg): Removed.
3758 (grub_lvm_pv): Likewise.
3759 (grub_lvm_lv): Likewise.
3760 (grub_lvm_segment): Likewise.
3761 (grub_lvm_node): Likewise.
3762 * util/getroot.c [...]
3763 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3764 (probe_abstraction): Likewise.
3765 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
3766 (main): Remove dead logic.
3767
8a7f9b9c
VS
37682012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 Simplify root device discover and don't fail when trying to open
3771 incorrect devices.
3772
3773 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
3774 function.
3775 (get_diskname_from_path): Likewise.
3776 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
3777 of iterating.
3778
30545b85
VS
37792012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
3782
28ea58cf
VS
37832012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
3786 pastthe end.
3787
692dabca
VS
37882012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * util/grub-install.in: Add missing \.
3791 Reported by: gentoofan
3792
f6e4ea70
VS
37932012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
3796 (direct_read): Use correct compressed size.
3797 (grub_squash_read_data): Likewise.
3798
37992012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
3800
3801 * docs/grub.texi (Platform limitations): New section.
3802 (Platform-specific operations): Likewise.
3803 * docs/grub-dev.texi (Porting): Likewise.
3804
76261110
VS
38052012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 IEEE1275 disk write support.
3808
3809 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
3810 const void *.
3811 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
3812 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
3813 and seek loginc to ...
3814 (grub_ofdisk_prepare): ... here.
3815 (grub_ofdisk_write): Implement.
3816
fc36d603
VS
38172012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 ARC disk write support.
3820
3821 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
3822 (reopen): New argument writable. All users updated.
3823 Handle required access mode.
3824 (grub_arcdisk_write): Implement.
3825 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
3826 (grub_arc_firmware_vector): Make buffer to write a const buffer.
3827
e06c2e7a
VS
38282012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
3831 (read_sblock): Don't attempt to read superblocks outside the disk size.
3832
ff447958
VS
38332012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
3836 first superblock to find the second one when possible.
3837
9e88df39
VS
38382012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * util/grub-install.in: Fix an ARC bug.
3841 Print a warning if no platform-specific setup is available.
3842
bb26e4ff
VS
38432012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 Use static allocation rather than scratch pointer in reed_solomon.
3846 It decreases its size significantly and avoids a variable in .text.
3847
3848 * grub-core/lib/reed_solomon.c (scratch): Removed.
3849 (chosenstat): New const or static array.
3850 (sigma): Likewise.
3851 (errpot): Likewise.
3852 (errpos): Likewise.
3853 (sy): Likewise.
3854 (mstat): Likewise.
3855 (errvals): Likewise.
3856 (eqstat): Likewise.
3857 (pol_evaluate): Replace x with log_x argument. All users updated.
3858 (syndroms): Removed.
3859 (gauss_solve): Use statically allocated arrays.
3860 (rs_recover): Likewise.
3861 Calculate syndroms directly.
3862 (decode_block): Use statically allocated arrays.
3863 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
3864 (main) [TEST]: Allow -DTEST -DSTANDALONE.
3865
2e13ede5
VS
38662012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 Eliminate fixed limit on reed solomon decoder length.
3869
3870 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
3871 rather than hardcoding the address.
3872 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
3873 no_reed_solomon_length.
3874 Move gate_a20 to no-reed-solomon part.
3875 Don't force a particular size of no reed-solomon part.
3876 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3877 Removed.
3878 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
3879 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
3880
f8a9ab12
VS
38812012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * grub-core/commands/wildcard.c (match_files): Handle filenames
3884 without explicit device.
3885 (wildcard_expand): Don't add explicit device if not already present.
3886 * tests/grub_script_echo1.in: Add a new expansion test.
3887
87edb894
VS
38882012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 Replace single-linked with double-linked lists. It results in more
3891 compact and more efficient code.
3892
3893 * grub-core/kern/list.c (grub_list_push): Moved from here ...
3894 * include/grub/list.h (grub_list_push): ... to here. Set prev.
3895 (grub_list_remove): Moved from here ...
3896 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
3897 (grub_prio_list_insert): Set prev.
3898 * include/grub/list.h (grub_list): Add prev. All users updated.
3899
48b391e9
VS
39002012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 Handle newer autotools. Add some missing quotes while on it.
3903
3904 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
3905 (pkglib_DATA): Move grub-mkconfig_lib from here ...
3906 (pkgdata_DATA): ... here.
3907 * Makefile.util.def (update-grub_lib): Removed.
3908 * conf/Makefile.common (pkglib_DATA): Removed.
3909 (pkglib_SCRIPTS): Likewise.
3910 (pkgdata_DATA): New variable.
3911 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
3912 needed.
3913 Add missing quotes.
3914 Remove unused variable while on it.
3915 * tests/util/grub-shell.in: Likewise.
3916 * util/grub-install.in: Likewise.
3917 * util/grub-mkconfig.in: Likewise.
3918 * util/grub-mknetdir.in: Likewise.
3919 * util/grub-mkrescue.in: Likewise.
3920 * util/grub-mkstandalone.in: Likewise.
3921 * util/grub.d/00_header.in: Likewise.
3922 * util/grub.d/10_hurd.in: Likewise.
3923 * util/grub.d/10_illumos.in: Likewise.
3924 * util/grub.d/10_kfreebsd.in: Likewise.
3925 * util/grub.d/10_linux.in: Likewise.
3926 * util/grub.d/10_netbsd.in: Likewise.
3927 * util/grub.d/10_windows.in: Likewise.
3928 * util/grub.d/20_linux_xen.in: Likewise.
3929 * util/grub.d/30_os-prober.in: Likewise.
3930 * util/update-grub_lib.in: Removed.
3931
39322012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
3933
3934 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
3935 a workaround for intel problem.
3936
66832792
PRP
39372012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
39382012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
39392012-01-23 pfsmorigo
3940
3941 * util/grub-install.in: Support dd'in into PreP partition.
3942 * util/grub-probe.c (probe): Support discovering partition type.
3943 (main): Support -t msdos_parttype.
3944
7816a17e
VS
39452012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3946
3947 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
3948 infinite recursion using counter.
3949 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
3950 init to skip it if the magic check fails.
3951 (dec_stream_header): Init s->crc32.
3952
8f9d3a8c
ZB
39532012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
39542012-01-22 Zachary Bedell <pendorbound@gmail.com>
39552012-01-22 Richard Laager <rlaager@wiktel.com>
3956
3957 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
3958 All users updated.
3959 (find_bestub): Determine correct size.
3960 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
3961 (scan_disk): Align the size down.
3962 Call check pool before find_bestub to have ashift.
3963
b055dd32
VS
39642012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
3967 dprintf in no-malloc zone.
3968
d779e9bd
ML
39692012-01-22 Mario Limonciello <mario_limonciello@dell.com>
3970
3971 * configure.ac: Add back in test for limits.h.
3972
b508af69
VS
39732012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 Support 4K-sector NTFS.
3976
3977 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
3978 (grub_ntfs_data): Remove blocksize.
3979 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
3980 Remove data argument. All users updated.
3981
dad9c8b5
VS
39822012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
3985 being in .text to avoid dprel references.
3986 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
3987 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
3988 (grub_arch_highmemsize): Likewise.
3989 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
3990 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
3991 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
3992
d43a777e
VS
39932012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
3996
3997 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
3998 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
3999
34e4208f
VS
40002012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
4003 GRUB_UTIL.
4004 (grub_set_datetime_cmos): Likewise.
4005
3ec0fc1c
VS
40062012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 Make XZ compression parameters dependent on target and not host CPU.
4009
4010 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
4011 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
4012
22489834
VS
40132012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
4016 set but not used variable.
4017
8502fbca
VS
40182012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
4021 created when no uuid support is compiled into mkfs.reiser.
4022
76df2068
VS
40232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
4026 (utf8_to_macroman): Do the opposite.
4027 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
4028
64e3f8f6
VS
40292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * configure.ac: Refise build qemu_mips w/o unifont.
4032
9c271078
VS
40332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 Eliminate grub_min/grub_max prone to overflow usage.
4036
4037 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
4038 (poll_nonroot_hub): Likewise.
4039 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
4040 (grub_affs_label): Likewise.
4041 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
4042 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
4043 (grub_hfs_label): Likewise.
4044 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
4045 * grub-core/fs/zfs/zfs.c (MIN): Remove.
4046 (zap_leaf_array_equal): Use grub_size. Remove MIN.
4047 (zap_leaf_array_get): Likewise.
4048 (dnode_get_path): Likewise.
4049 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
4050 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
4051 * grub-core/script/execute.c (grub_script_break): Likewise.
4052 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
4053 grub_max.
4054 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
4055 * include/grub/misc.h (grub_min): Removed.
4056 (grub_max): Likewise.
4057
80662dbc
VS
40582012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4059
4060 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
4061 direct.inode = 0.
4062
e6da1467
VS
40632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
4066
b1ac4cb1
VS
40672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
4070
b4bf7c3b
VS
40712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
4074 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
4075
8ee1101a
VS
40762012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
4079 rather than a hack for grub_strncasemap.
4080
40812012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 Support multiple initrds
4084 Note: part of this was accidently committed in r3739.
4085
4086 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
4087 initrd.
4088 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4089 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4090 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4091 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4092 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4093
4d1e2bc9
VS
40942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
4097 disks with unknown size.
4098 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
4099
75b49ebe
VS
41002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 Remove defines pertaining to arbitrary limits not affecting GRUB
4103 anymore.
4104
4105 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
4106 (EXT2_MAX_SYMLINKCNT): Likewise.
4107 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
4108 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
4109 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
4110 (GRUB_PXE_MAX_BLKSIZE): Likewise.
4111 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
4112 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
4113 (DN_MAX_OBJECT_SHIFT): Likewise.
4114 (DN_MAX_OFFSET_SHIFT): Likewise.
4115 (DN_MAX_OBJECT): Likewise.
4116 (DNODES_PER_LEVEL_SHIFT): Likewise.
4117 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
4118 (SPA_MAXBLOCKSIZE): Likewise.
4119 (SPA_BLOCKSIZES): Likewise.
4120 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
4121 (MZAP_MAX_BLKSZ): Likewise.
4122
74a1dce7
VS
41232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
4126 handle NULL appropriately.
4127 Remove MIN.
4128
30c7d3ce
VS
41292012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 Fix efiemu.
4132
4133 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
4134 cpu/types.h.
4135 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
4136 * configure.ac: Fix efiemu check.
4137
3c76ea0c
VS
41382012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
4141 grub_probe.
4142 Reported by: adamwill
4143
7e532280
SG
41442012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
4145
4146 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
4147
30492374
VS
41482012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 Fix handling of wide characters in gfxterm.
4151
4152 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
4153 (clear_char): Likewise.
4154 (paint_char): Skip code == NULL chars.
4155 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
4156
e70cb72f
VS
41572012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * grub-core/normal/charset.c: Move comment to right place.
4160
5c827cf9
VS
41612012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
4164 (GRUB_AFFS_FLAG_FFS): Put back where it was.
4165 (grub_affs_mount): Revert the correct version checking.
4166
53603892
VS
41672012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * docs/grub.texi (Unicode): Mention several other unsupported features.
4170
ff094b9b
VS
41712011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
4174 case statements as compile-time one.
4175 (direct_read): Prevent spurious warnings.
4176 (grub_squash_read_data): Likewise.
4177
c029da8a
VS
41782011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 Various squash4 fixes and LZO and XZ support.
4181
4182 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
4183 Add xzembed source files.
4184 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
4185 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
4186 (grub_squash_inode): New subtype long_dir.
4187 (SQUASH_TYPE_LONG_DIR): New inode type.
4188 (COMPRESSION): New enum.
4189 (XZBUFSIZ): New const.
4190 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
4191 (read_chunk): Use data->decompress.
4192 (zlib_decompress): New function.
4193 (lzo_decompress): Likewise.
4194 (xz_decompress): Likewise.
4195 (squash_mount): Set new data fields.
4196 (grub_squash_iterate_dir): Handle long dir.
4197 (squash_unmount): Free xzdec and xzbuf.
4198 (grub_squash_open): Check ino type.
4199 (direct_read): Stylistic fixes. Use data->decompress.
4200 (grub_squash_read_data): Likewise.
4201 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
4202 (get_byte): Likewise.
4203 (grub_zlib_disk_read): Removed.
4204 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
4205 (GRUB_POSIX_BOOL_DEFINED): New define.
4206 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
4207 * grub-core/lib/xzembed/xz.h: Addmissing includes.
4208 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
4209 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
4210
7a45a539
VS
42112011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 Don't override more informative errors.
4214
4215 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
4216 * grub-core/font/font.c (open_section): Likewise.
4217 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
4218 filename. Don't override errors.
4219 (grub_cmd_openbsd_ramdisk): Don't override errors.
4220 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
4221 (grub_cmd_initrd): Likewise.
4222 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4223 (grub_cmd_initrd): Likewise.
4224 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
4225 (grub_cmd_linux): Likewise.
4226 (grub_cmd_initrd): Likewise.
4227 (grub_cmd_payload): Likewise.
4228 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4229 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
4230 (grub_cmd_module): Likewise.
4231 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4232 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4233 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
4234 (grub_cmd_xnu_mkext): Likewise.
4235 (grub_cmd_xnu_ramdisk): Likewise.
4236 (grub_xnu_check_os_bundle_required): Likewise.
4237 (grub_xnu_load_kext_from_dir): Likewise.
4238 (grub_cmd_xnu_kextdir): Likewise.
4239 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
4240
b2d004db
VS
42412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
4244 as 1024 in block size field. Found on one of my test images.
4245 Small optimisation while on it.
4246
ec000eac
VS
42472011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
4250 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
4251 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
4252 performance fixes while on it.
4253 (grub_sfs_close): Fix memory leak while on it.
4254 (grub_sfs_label): Convert Latin1 to UTF-8.
4255
f50e1165
VS
42562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
4259 space to avoid overflows.
4260 (grub_hfs_label): Convert from macroman to UTF-8.
4261
2ae254de
VS
42622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
4265
0108f491
VS
42662011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
4269
f45f5f89
VS
42702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 * unicode: Import Unicode 6.0 data.
4273
4d8c4765
VS
42742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4275
63fa8ef9
VS
4276 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
4277 outside of range.
4278
42792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
4282
4283 * include/grub/charset.h (grub_getend): New function.
4284 * grub-core/script/function.c (grub_script_function_find): Use
4285 grub_getend.
4286 * grub-core/normal/completion.c (add_completion): Likewise.
4287
f3cb4a4e
VS
42882011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
4291 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
4292 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
4293 (GRUB_UNICODE_TAG_END): Likewise.
4294 (GRUB_UNICODE_LAST_VALID): Likewise.
4295
5da8dbc5
VS
42962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
4299 len and make it smaller. All users updated.
4300 * util/import_unicode.py: Put length and not end character.
4301 Check length.
4302
8569f13d
VS
43032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 Make better Unicode-compliant and unify some UTF-8 code pathes.
4306
4307 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
4308 valid character.
4309 (grub_is_valid_utf8): Use grub_utf8_process.
4310 Check resulting code range.
4311 (grub_utf8_to_ucs4): Use grub_utf8_process.
4312 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
4313 valid character.
4314
cc4fddf5
VS
43152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
4318
bbc47747
VS
43192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * docs/grub.texi (Filesystems): Mention AFS.
4322
f63d6bf4
VS
43232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * docs/grub.texi (Filesystems): Clarify restrictions.
4326 (Regexp): Mention non-Unicode regexp behaviour.
4327 (Other): Mention non-Unicode matching behaviour.
4328
74bbf0db
VS
43292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4330
f63d6bf4 4331 Make HFS implementation use MacRoman.
74bbf0db
VS
4332
4333 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
4334 (macroman): New const array.
4335 (macroman_to_utf8): New function.
4336 (utf8_to_macroman): Likewise.
4337 (grub_hfs_find_dir): Use utf8_to_macroman.
4338 (grub_hfs_dir): Use macroman_to_utf8.
4339 Set case_insensitive.
4340
4ea0316e
VS
43412011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
4344
d3c13cbd
VS
43452011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 Integrate hints into autogeneration scripts.
4348
4349 * docs/grub.texi (Filesystems): Add a hostdisk example.
4350 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
4351 (grub-probe): Add ofpath.
4352 * gentpl.py: Remove group nosparc64.
4353 * grub-core/commands/search.c (cache_entry): New struct.
4354 (cache): New var.
4355 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
4356 * grub-core/commands/search_wrap.c (options): Add platform-specific
4357 hint options.
4358 (grub_cmd_search): Handle platform-specific hints.
4359 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
4360 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
4361 (grub_util_biosdisk_data): Likewise.
4362 (grub_util_biosdisk_open): Set device_map.
4363 (read_device_map): Handle "" as indication of no map.
4364 Set device_map.
4365 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
4366 (grub_util_biosdisk_get_compatibility_hint): New function.
4367 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
4368 * include/grub/emu/hostdisk.h
4369 (grub_util_biosdisk_get_compatibility_hint): New proto.
4370 * util/grub-install.in: Don't call grub-mkdevicemap.
4371 Add platform-specific hint to load.cfg.
4372 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
4373 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4374 hints. Set root preliminary to compatibility hint, not to OS name.
4375 * util/grub-probe.c (PRINT_*): Add hints.
4376 (print): Make static.
4377 (escape_of_path): New function.
4378 (guess_bios_drive): Likewise.
4379 (guess_efi_drive): Likewise.
4380 (guess_baremetal_drive): Likewise.
4381 (print_full_name): Likewise.
4382 (probe): Handle hints.
4383 (main): Likewise.
4384 * util/ieee1275/devicemap.c: Removed.
4385 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
4386 updated.
4387 (grub_util_devname_to_ofpath): Return NULL on failure.
4388
4389 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
4390 resource leak.
4391 * util/getroot.c (grub_util_pull_device): Fix memory leak.
4392
4393 * po/POTFILES.in: Regenerated.
4394
4395 Allow purely long options
4396
4397 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
4398 (SHORT_ARG_USAGE): Likewise.
4399 (grub_arg_show_help): Compare opt with help_options.
4400 (parse_option): Receive opt as argument. If makes big simplificatons.
4401 All users updated
4402
00ce2df3
VS
44032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
4406 Restructure to avoid warning.
4407
e77e325f
VS
44082011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * util/grub-install.in: Account for possible escaped comma in device
4411 name.
4412
165099ea
VS
44132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
4416 channel.
4417
ce4a999d
VS
44182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
4421 allocation and zero-setting.
4422 (grub_ieee1275_get_devname): Check that alias is complete.
4423
379586ad
VS
44242011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
4427 unaligned segments.
4428
9197b0ad
VS
44292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
4432 prefix.
4433 (grub_ofdisk_open): Check and discard ieee1275 prefix.
4434 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4435 Add ieee1275 prefix.
4436
edddb7f9
VS
44372011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * docs/grub.texi (Filesystems): Update.
4440
a1a8b1b9
VS
44412011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 Support odc, newc and bigendian cpio formats.
4444
4445 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
4446 * grub-core/Makefile.core.def (newc): New module.
4447 (odc): Likewise.
4448 (cpio_be): Likewise.
4449 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
4450 (MAGIC): Likewise.
4451 (MAGIC2): Likewise.
4452 (head) [MODE_ODC]: Adapt for the format.
4453 (head) [MODE_NEWC]: Likewise.
4454 (head) [!MODE_*]: Write fields of interest as arrays.
4455 (MAGIC_USTAR): Removed.
4456 (read_number) [MODE_NEWC]: Change to hex.
4457 (read_number) [!MODE_*]: Parse binary arrays.
4458 (grub_cpio_find_file): Factor out the code for better structure and
4459 always use read_number.
4460 (grub_cpio_mount): Use MAGIC and MAGIC2.
4461 (grub_cpio_dir): Exit on first hook non-0 return.
4462 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
4463 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
4464 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
4465 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
4466 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
4467 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
4468 * grub-core/fs/newc.c: New file.
4469 * grub-core/fs/odc.c: Likewise.
4470 * grub-core/fs/cpio_be.c: Likewise.
4471
58eba9ee
VS
44722011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 Fix handling of tar numbers occupying the whole field.
4475
4476 * grub-core/fs/cpio.c (read_number): New function.
4477 (grub_cpio_find_file): Use read_number instead of strtoull.
4478
a54a0e12
VS
44792011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
4482 occupying the whole field size.
4483
a6120aca
LA
44842011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
4485
4486 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4487
a93964ce
VS
44882011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4491
3ea1ca46
SG
44922011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4493
4494 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4495 TARGET_IMG_LDFLAGS.
4496
b87f7ef2
VS
44972011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4500 (mountinfo_entry): Increase the field size to take escaping into
4501 account.
4502 (find_root_device_from_libzfs): Add one byte to size of strings for
4503 security.
4504
62092395
VS
45052011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4508 an assert.
4509 * util/grub-setup.c (setup): Likewise.
4510
1f0b1a77
VS
45112011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4514 _LzmaDecodeA.
4515
8eba9997
VS
45162011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * docs/grub.texi (Internationalisation): New section.
4519
dd0c91e9
VS
45202011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * docs/grub.texi (Loopback booting): New section.
4523
45242011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
4525
4526 * util/grub-mkstandalone.in: Fix minor typo errors.
4527
198e150a
VS
45282011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4531
4532 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4533 net/icmp.c and net/icmp6.c.
4534 (http): New module.
4535 (priority_queue): Likewise.
4536 * grub-core/io/bufio.c: Rewritten.
4537 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4538 TYPE_WITH_CONFIGFILE_OPTION.
4539 (legacy_commands): Add bootp and dhcp.
4540 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4541 (grub_legacy_parse): Likewise.
4542 * grub-core/lib/priority_queue.c: New file.
4543 * grub-core/net/arp.c: Add missing license header.
4544 (arp_find_entry): Removed.
4545 (arp_find_entry): Likewise.
4546 (grub_net_arp_resolve): Rename to ...
4547 (grub_net_arp_send_request): ...this.
4548 (grub_net_arp_receive): New card argument.
4549 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4550 Set router and DNS server.
4551 (grub_net_configure_by_dhcp_ack): Handle routing information.
4552 (grub_cmd_bootp): Set checksum.
4553 (grub_bootp_init): Remove net_dhcp.
4554 * grub-core/net/dns.c: New file.
4555 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4556 completion.
4557 (get_card_packet): Handle allocation.
4558 (grub_efinet_findcards): Set mtu.
4559 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4560 (get_card_packet): Handle allocation.
4561 (emucard): Set mtu.
4562 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4563 (GRUB_MOD_INIT): Set mtu.
4564 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4565 mtu.
4566 (get_card_packet): Handle allocation.
4567 (grub_ofnet_findcards): Set mtu.
4568 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4569 assert.
4570 (grub_net_recv_ethernet_packet): Handle IPv6.
4571 * grub-core/net/http.c: New file.
4572 * grub-core/net/icmp.c: Likewise.
4573 * grub-core/net/icmp6.c: Likewise.
4574 * grub-core/net/ip.c (ip6addr): New type.
4575 (ip6hdr): Likewise.
4576 (reassemble): Likewise.
4577 (cmp): New function.
4578 (reassembles): New variable.
4579 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4580 (id): New variable.
4581 (send_fragmented): New function.
4582 (grub_net_send_ip_packet): Rename to ...
4583 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4584 Handle non-UDP.
4585 (grub_net_recv_ip_packets): Rename to ...
4586 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4587 (free_rsm): New function.
4588 (free_old_fragments): Likewise.
4589 (grub_net_recv_ip4_packets): New function.
4590 (grub_net_send_ip6_packet): Likewise.
4591 (grub_net_send_ip_packet): Likewise.
4592 (grub_net_recv_ip6_packets): Likewise.
4593 (grub_net_recv_ip_packets): Likewise.
4594 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4595 (LINK_LAYER_CACHE_SIZE): New const.
4596 (link_layer_find_entry): New function.
4597 (grub_net_link_layer_add_address): Likewise.
4598 (grub_net_link_layer_resolve_check): Likewise.
4599 (grub_net_link_layer_resolve): Likewise.
4600 (grub_net_ipv6_get_slaac): Likewise.
4601 (grub_net_ipv6_get_link_local): Likewise.
4602 (grub_cmd_ipv6_autoconf): Likewise.
4603 (parse_ip): Handle one number representation.
4604 (parse_ip6): New functoion.
4605 (match_net): Handle IPv6.
4606 (grub_net_resolve_address): Handle IPv6 and DNS.
4607 (grub_net_resolve_net_address): Handle IPv6.
4608 (route_cmp): New function.
4609 (grub_net_route_address): Find best route.
4610 (grub_net_addr_to_str): Handle IPv6.
4611 (grub_net_addr_cmp): New function.
4612 (grub_net_add_addr): Register local route.
4613 (print_net_address): Handle net address.
4614 (grub_net_poll_cards): Retransmit TCP.
4615 (grub_net_poll_cards_idle_real): Likewise.
4616 (have_ahead): New function.
4617 (grub_net_seek_real): Use underlying seek.
4618 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4619 * grub-core/net/tcp.c: New file.
4620 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4621 (cmp): New function.
4622 (ack): Likewise.
4623 (tftp_receive): Handle unordered input.
4624 (destroy_pq): New function.
4625 (tftp_close): Close pq.
4626 * grub-core/net/udp.c: Put missing license header.
4627 (grub_net_udp_socket): New function.
4628 (udp_socket_register): Likewise.
4629 (grub_net_udp_close): Likewise.
4630 (grub_net_recv_udp_packet): Check checksum.
4631 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4632 * include/grub/misc.h (grub_memchr): New function.
4633 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4634 (grub_net_card_driver): Return buf in recv.
4635 (grub_net_slaac_mac_list): New struct.
4636 (grub_network_level_protocol_id): Add ipv6.
4637 (grub_net_network_level_addr): Likewise.
4638 (grub_net_network_level_net_addr): Likewise.
4639 (grub_net_app_protocol): Add seek.
4640 (grub_net_socket): Removed.
4641 (grub_net_sockets): Likewise.
4642 (grub_net_socket_register): Likewise.
4643 (grub_net_socket_unregister): Likewise.
4644 (FOR_NET_SOCKETS): Likewise.
4645 (grub_net_add_addr): Add const.
4646 (GRUB_NET_BOOTP_*): New enum.
4647 (grub_net_addr_cmp): New proto.
4648 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4649 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4650 (grub_net_hwaddr_to_str): NEw proto.
4651 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4652 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4653 (grub_dns_init): New proto.
4654 (grub_dns_fini): Likewise.
4655 (grub_net_tcp_retransmit): Likewise.
4656 (grub_net_link_layer_add_address): Likewise.
4657 (grub_net_link_layer_resolve_check): Likewise.
4658 (grub_net_link_layer_resolve): Likewise.
4659 (grub_net_dns_lookup): Likewise.
4660 (grub_net_add_dns_server): Likewise.
4661 (grub_net_remove_dns_server): Likewise.
4662 (GRUB_NET_TRIES): New const.
4663 (GRUB_NET_INTERVAL): Likewise.
4664 * include/grub/net/arp.h: Mostly rewritten.
4665 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
4666 * include/grub/net/ip.h: Mostly rewritten.
4667 * include/grub/net/netbuff.h: Indent.
4668 * include/grub/net/tcp.h: New file.
4669 * include/grub/net/udp.h: Mostly rewritten.
4670 * include/grub/priority_queue.h: New file.
4671 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
4672 (grub_swap_bytes64_compile_time): Likewise.
4673 (grub_cpu_to_be16_compile_time): Likewise.
4674 (grub_cpu_to_be32_compile_time): Likewise.
4675 (grub_cpu_to_be64_compile_time): Likewise.
4676 (grub_be_to_cpu64_compile_time): Likewise.
4677
215c1800
VS
46782011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
4681 UINT_TO_PTR with cast.
4682
c17e546c
VS
46832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4686 don't use them.
4687
ff6b18b6
VS
46882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
4691 already there.
4692
70ffcc93
VS
46932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
4696 confusing ipxe.
4697
e5f4d260
VS
46982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
4701 Add missing const attribute.
4702 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
4703 Likewise.
4704 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
4705 Likewise.
4706
8e54b4b7
VS
47072011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
4710 misaligned access.
4711 (serpent_setkey): Likewise.
4712 (serpent_encrypt_internal): Likewise.
4713 (serpent_decrypt_internal): Likewise.
4714 (serpent_encrypt): Don't put an alignment-increasing cast.
4715 (serpent_decrypt): Likewise.
4716 (serpent_test): Likewise.
4717
813c0a2b
VS
47182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
4721
f2b60fbd
VS
47222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
4725
4726 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
4727 grub_addr_t casts.
4728 (PTR_TO_UINT64): Likewise.
4729 (PTR_TO_UINT32): Likewise.
4730
5ef5c511
VS
47312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * util/grub-mkimage.c (generate_image): Decrease the higher limit
4734 because of stack.
4735 * util/grub-setup.c (setup): Don't add redundancy past the higher load
4736 limit.
4737
c476e6df
VS
47382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4741 text_width > available width a bit more gracefully.
4742
384ad7cc
VS
47432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4746 current address calculation.
4747
96f8caf8
VS
47482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4751 stack.
4752 (encode_block): Likewise.
4753
276b7a8b
VS
47542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4757 certainety.
4758
e3fd394a
VS
47592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4762 non-RS part to avoid RS messing with GDT.
4763 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4764 Increase to suit in realmode routines.
4765
47662011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * grub-core/kern/i386/realmode.S: Increase alignment.
4769 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
4770
ee9c2e7a
VS
47712011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
4774 be deterministic.
4775 (syndroms): Compute 0 syndrom.
4776 (rs_recover): Use 0 syndrom.
4777
7a7f7cc9
VS
47782011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
4781
a14b16d1
VS
47822011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
4785 brackets.
4786
9f59e9fc
VS
47872011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4788
ca1b552c
VS
4789 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
4790 account.
4791 (get_top_pad): Likewise.
4792 (get_right_pad): Likewise.
4793 (get_bottom_pad): Likewise.
4794
47952011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 4798
e739d698
VS
47992011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
4802 attribute as the structure isn't guaranteed to be properly aligned.
4803 (grub_efi_pci_device_path): Likewise.
4804 (grub_efi_pccard_device_path): Likewise.
4805 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
4806 specify the size of `memory_type'.
4807 (grub_efi_vendor_device_path): Likewise.
4808 (grub_efi_controller_device_path): Likewise.
4809 (grub_efi_acpi_device_path): Likewise.
4810 (grub_efi_expanded_acpi_device_path): Likewise.
4811 (grub_efi_atapi_device_path): Likewise.
4812 (grub_efi_scsi_device_path): Likewise.
4813 (grub_efi_fibre_channel_device_path): Likewise.
4814 (grub_efi_1394_device_path): Likewise.
4815 (grub_efi_usb_device_path): Likewise.
4816 (grub_efi_usb_class_device_path): Likewise.
4817 (grub_efi_i2o_device_path): Likewise.
4818 (grub_efi_mac_address_device_path): Likewise.
4819 (grub_efi_ipv4_device_path): Likewise.
4820 (grub_efi_ipv6_device_path): Likewise.
4821 (grub_efi_infiniband_device_path): Likewise.
4822 (grub_efi_uart_device_path): Likewise.
4823 (grub_efi_vendor_messaging_device_path): Likewise.
4824 (grub_efi_hard_drive_device_path): Likewise.
4825 (grub_efi_cdrom_device_path): Likewise.
4826 (grub_efi_vendor_media_device_path): Likewise.
4827 (grub_efi_file_path_device_path): Likewise.
4828 (grub_efi_protocol_device_path): Likewise.
4829 (grub_efi_piwg_device_path): Likewise.
4830 (grub_efi_bios_device_path): Likewise.
4831
cb8f88ea
VS
48322011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4833
4834 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
4835 (grub_ucs4_to_utf8_alloc): Likewise.
4836 (grub_ucs4_to_utf8): Likewise.
4837 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
4838 (grub_ucs4_to_utf8_alloc): Likewise.
4839
309e5352
VS
48402011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 AFFS never uses unicode.
4843
4844 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
4845 (grub_latin1_to_utf8): New inline function.
4846 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
4847
e7987e1b
VS
48482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
4851 overflow.
4852
efc2616e
VS
48532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
4856 (grub_squash_dirent_header): Likewise.
4857 (read_chunk): Don't double swap.
4858 (grub_squash_iterate_dir): Fix swap sizes.
4859
3c349f5a
VS
48602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
4863
b453412d
VS
48642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
4867 (grub_hfs_iterate_dir): Likewise.
4868
12e9d4d1
VS
48692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 Fix video on platforms where unaligned access is forbidden.
4872 Make several optimisations while on it.
4873
4874 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
4875 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4876 (grub_video_fbblit_replace_32bit_1bit): Likewise.
4877 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4878 Disable.
4879 (grub_video_fbblit_replace_16bit_1bit):
4880 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4881 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4882 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
4883 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
4884 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4885 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4886 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
4887 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
4888 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
4889 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
4890 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
4891 (grub_video_fbblit_replace_index_RGB888): Likewise.
4892 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
4893 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
4894 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
4895 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4896 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
4897 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4898 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4899 Disable.
4900 (grub_video_fbblit_blend_XXX565_1bit):
4901 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4902 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
4903 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
4904 void *.
4905 * grub-core/video/fb/video_fb.c (common_blitter)
4906 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
4907 (grub_video_fb_create_render_target_from_pointer)
4908 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4909 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
4910 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
4911 definition.
4912 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
4913
ace96609
VS
49142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
4917 HH22 and HM10 relocations.
4918
fd261d73
VS
49192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
4922
e59b7857
VS
49232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
4926 allocation succeeded.
4927
9b4baaa4
VS
49282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4929
4930 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
4931 argument a u8 pointer. All users updated.
4932 Handle unaligned buffers.
4933
dc713193
VS
49342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
4937 add_part to workaround compiler bug.
4938
30dd48c2
VS
49392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
4942
0c6087a8
VS
49432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
4946 Reserve alignment invariants.
4947 (grub_multiboot_load): Likewise.
4948 (retrieve_video_parameters): Likewise.
4949 (grub_multiboot_make_mbi): Likewise.
4950
c2e77777
VS
49512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
4954 incorrect pointer.
4955
b70b6d11
VS
49562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
4959 (grub_pata_pio_write): Likewise.
4960
02a2bf83
VS
49612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 Add noreturn attributes and remove unreachable code.
4964
4965 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
4966 code.
4967 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
4968 code. Mark as noreturn.
4969 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
4970 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
4971 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
4972 unreachable code.
4973 * grub-core/kern/main.c (grub_main): Mark as noreturn.
4974 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
4975 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
4976 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
4977 * include/grub/kernel.h (grub_main): Mark as noreturn.
4978 * include/grub/reader.h (grub_rescue_run): Likewise.
4979
2019d09e
VS
49802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
4983 redundant declaration.
4984
d1c501ee
VS
49852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 * include/grub/net.h (grub_net_network_level_interfaces): Remove
4988 redundant declaration.
4989 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
4990
61664420
VS
49912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
4994 to ensure alignment.
4995 (grub_hdparm_print_identify): Make argument uint16 * to ensure
4996 alignment. Ensure tmp alignment.
4997 (grub_cmd_hdparm): Ensure buf alignment.
4998 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
4999 to ensure alignment.
5000 (grub_ata_dumpinfo): Ensure text alignment.
5001 (grub_atapi_identify): Preserve alignment invariant.
5002 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
5003
0d51ee20
VS
50042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
5007 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
5008 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
5009 * include/grub/misc.h (grub_reboot)
5010 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
5011 (grub_halt) [__mips__]: Likewise.
5012
753ef8c1
VS
50132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
5016 Remove redundant declaration.
5017 (grub_mmap_get_post64): Likewise.
5018 (grub_mmap_get_upper): Likewise.
5019 (grub_mmap_get_lower): Likewise.
5020
85c85365
VS
50212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
5024 uint32_t * to ensure alignment.
5025 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
5026
a23f2cc4
VS
50272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5028
93018f64
VS
5029 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
5030 uint16_t * to ensure alignment.
5031 (sun_pc_partition_map_iterate): Make `block' a union to ensure
5032 alignment.
5033
50342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
5037 to ensure alignment.
5038 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
5039
58acccd6
VS
50402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * grub-core/fs/ntfs.c (u16at): Make into inline function.
5043 Handle unaligned pointers.
5044 (u32at): Likewise.
5045 (u64at): Likewise.
5046 (fixup): Use byte access instead of v16at.
5047 (find_attr): Fix imporper usage of v32at.
5048 (read_data): Likewise.
5049 (list_file): Handle byte-swapping and unaligned strings.
5050 (grub_ntfs_label): Likewise.
5051
9b05cad7
VS
50522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
5055 as it's not necessarily aligned.
5056
b3950b84
VS
50572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
5060 redundant declaration.
5061 (grub_serial_init): Likewise.
5062 (grub_terminfo_init): Likewise.
5063
fcd232b7
VS
50642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
5067 function.
5068 (ZAP_HASH_IDX): Likewise.
5069 (ZAP_LEAF_HASH_SHIFT): Likewise.
5070 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
5071 (LEAF_HASH): Likewise.
5072 (ZAP_LEAF_NUMCHUNKS): Likewise.
5073 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
5074 alignment invariants. Return pointer. All users updated.
5075 (ZAP_LEAF_ENTRY): Make into inline function.
5076 (NBBY): Removed.
5077 (xor): LIkewise.
5078 (xor_out): Use grub_crypto_xor.
5079 (dnode_get_path): Use grub_get_unaligned.
5080 (nvlist_find_value): Likewise.
5081 (grub_zfs_nvlist_lookup_uint64): Likewise.
5082 (grub_zfs_nvlist_lookup_string): Likewise.
5083 (get_nvlist_size): Likewise.
5084 (grub_zfs_open): Likewise.
5085 (fill_fs_info): Likewise.
5086 (grub_zfs_dir): Likewise.
5087 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
5088 alignment invariants.
5089 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
5090 necessarily aligned.
5091
f138623a
VS
50922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
5095
564840dc
VS
50962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
5099 arithmetic to conserve alignment invariants.
5100
9b40df20
VS
51012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
5104 redundant declaration.
5105 (grub_efiemu_mm_obtain_request): Likewise.
5106 (grub_efiemu_prepare): Likewise.
5107
d1c930f9
VS
51082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
5111 to match types.
5112
4c5f3056
VS
51132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
5116 case of aunaligned recptr.
5117 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
5118 alignment.
5119 (grub_hfsplus_btree_search): Handle unaligned index.
5120
728cba91
VS
51212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
5124 to get freetag and skip.
5125
eb561f31
VS
51262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
5129 array.
5130 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
5131 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
5132
20993fbb
VS
51332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
5136 name for checksum and fix allocation algorithm.
5137
1f313b94
VS
51382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * include/grub/types.h (grub_properly_aligned_t): New type.
5141 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
5142 (grub_get_unaligned16): Add explicit casts.
5143 (grub_get_unaligned32): Likewise.
5144 (grub_get_unaligned64): Likewise.
5145 (grub_set_unaligned16): New function.
5146 (grub_set_unaligned32): Likewise.
5147
47ae27ec
VS
51482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5151
78c2cd1c
VS
51522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
5155 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
5156 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
5157
53072f9b
VS
51582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
5161 conditionals.
5162
055dc239
VS
51632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
5166 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
5167
496bd074
VS
51682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 Unify and improve RAID and crypto xor.
5171
5172 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
5173 changed to grub_crypto_xor
5174 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
5175 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
5176 Use bigger types when possible.
5177
ef6e4335
VS
51782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 * grub-core/disk/raid.c (scan_devices): Fix condition.
5181
5d048bf2
VS
51822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
5185 Make name a const ptr.
5186
ee533335
VS
51872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
5190 first argument a const pointer.
5191 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
5192 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
5193 proto.
5194 (grub_children_iterate): Likewise.
5195 (grub_machine_mmap_iterate): Remove redundant declaration.
5196
cc8f3668
VS
51972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
5200 (grub_cmd_acpi) [!x86]: Disable EBDA.
5201
c5fc563a
VS
52022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 Enable UTF8 in gnulib regexp.
5205
5206 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
5207 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
5208 (isupper): Use grub_isupper.
5209 (isascii): New inline function.
5210 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
5211 * grub-core/lib/posix_wrap/wctype.h: Likewise.
5212 * grub-core/normal/charset.c (grub_utf8_process): New function.
5213 (grub_utf8_to_utf16): Use grub_utf8_process.
5214 (grub_encode_utf8_character): New function.
5215 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
5216 * include/grub/charset.h (grub_utf8_process): New declaration.
5217 (grub_encode_utf8_character): Likewise.
5218 * include/grub/misc.h (grub_islower): New inline function.
5219 (grub_isupper): Likewise.
5220 (grub_strchrsub): Moved down to fix the definitions.
5221
0af2346f
VS
52222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
5225 specification.
5226
74dbd244
VS
52272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * include/grub/loader.h (grub_loader_register_preboot_hook):
5230 Use struct preboot * and not void * for handle. All users updated.
5231 (grub_loader_unregister_preboot_hook): Likewise.
5232
1bc8f60d
VS
52332011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
5236 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
5237 UTF-16-BE. All users updated.
5238 (grub_hfsplus_cmp_catkey): Fix unicode handling.
5239 (grub_hfsplus_iterate_dir): Likewise.
5240 (grub_hfsplus_label): Likewise.
5241
48d6e456
VS
52422011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
5245
bf3a3857
VS
52462011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 Add missing const qualifiers.
5249
5250 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
5251 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
5252 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
5253 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
5254 (grub_lvm_check_flag): Likewise.
5255 * grub-core/efiemu/i386/coredetect.c
5256 (grub_efiemu_get_default_core_name): Likewise
5257 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5258 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
5259 * grub-core/fs/ntfs.c (fixup): Likewise.
5260 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
5261 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
5262 (fzap_lookup): Likewise.
5263 (zap_lookup): Likewise.
5264 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
5265 * grub-core/lib/legacy_parse.c (check_option): Likewise.
5266 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
5267 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
5268 (grub_freebsd_add_meta_module): Likewise.
5269 (grub_cmd_freebsd_module): Likewise.
5270 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
5271 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
5272 (grub_xnu_writetree_get_size): Likewise.
5273 (grub_xnu_writetree_toheap_real): Likewise.
5274 (grub_xnu_find_key): Likewise.
5275 (grub_xnu_create_key): Likewise.
5276 (grub_xnu_create_value): Likewise.
5277 (grub_xnu_register_memory): Likewise.
5278 (grub_xnu_check_os_bundle_required): Likewise.
5279 (grub_xnu_scan_dir_for_kexts): Likewise.
5280 (grub_xnu_load_kext_from_dir): Likewise.
5281 * grub-core/normal/color.c (color_list): Likewise.
5282 * grub-core/normal/completion.c (current_word): Likewise.
5283 * grub-core/normal/menu_entry.c (insert_string): Likewise.
5284 * grub-core/term/serial.c (grub_serial_find): Likewise.
5285 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
5286 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
5287 Likewise.
5288 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
5289 (grub_freebsd_add_meta_module): Likewise.
5290 * include/grub/lib/arg.h (grub_arg_option): Likewise.
5291 * include/grub/net.h (grub_net_card_driver): Likewise.
5292 (grub_net_card): Likewise.
5293 (grub_net_app_protocol): Likewise.
5294 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
5295 * include/grub/serial.h (grub_serial_find): Likewise.
5296 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
5297 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
5298 (grub_xnu_create_value): Likewise.
5299 (grub_xnu_find_key): Likewise.
5300 (grub_xnu_scan_dir_for_kexts): Likewise.
5301 (grub_xnu_load_kext_from_dir): Likewise.
5302
5303 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
5304 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
5305 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
5306 Moved from here ...
5307 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
5308
112b4837
CW
53092011-11-28 Colin Watson <cjwatson@ubuntu.com>
5310
5311 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
5312
49e891ac
VS
53132011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
5316 (read_device): Fix size calculation.
5317
fd258e5c
RM
53182011-11-25 Robert Millan <rmh@gnu.org>
5319
5320 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
5321 (find_root_device_from_libzfs): Add zpool output parser to be used
5322 as fallback when libzfs isn't available.
5323
78845dc2
SG
53242011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
5325
5326 * po/Makefile.in.in: Add missing escape-continuation.
5327
adac5211
VS
53282011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
5331
10b64f1c
VS
53322011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
5335
bb416954
VS
53362011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
5339
bdfe9eeb
VS
53402011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
5343
581ffa8a
VS
53442011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 * grub-core/lib/adler32.c: Add missing license specification.
5347 * grub-core/lib/crc64.c: Likewise.
5348 * grub-core/loader/i386/pc/plan9.c: Likewise.
5349 * grub-core/partmap/plan.c: Likewise.
5350
2536cf64
LK
53512011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
5352
5353 Add facility to debug GRUB with gdb under qemu.
5354
5355 * grub-core/gdb_grub.in: New file.
5356 * grub-core/gmodule.pl.in: Likewise.
5357 * grub-core/Makefile.core.def (gmodule.pl): New script.
5358 (gdb_grub): Likewise.
5359
bc108a4a
VS
53602011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * util/grub-mount.c (argp_parser): Accept relative pathes.
5363 * util/grub-fstest.c (argp_parser): Likewise.
5364
111c1778
VS
53652011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5366
5367 Plan9 support.
5368
5369 * Makefile.util.def (libgrubmods): Add
5370 grub-core/partmap/plan.c.
5371 * docs/grub.texi: Notice Plan9 support.
5372 * grub-core/Makefile.core.def (plan9): New module.
5373 (part_plan): Likewise.
5374 * grub-core/loader/i386/pc/plan9.c: New file.
5375 * grub-core/partmap/plan.c: Likewise.
5376 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
5377 define.
5378 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
5379 * include/grub/mm.h (grub_extend_alloc): New inline function.
5380
c30be3b6
VS
53812011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 Make Reed-Solomon faster by using power of generator representation of
5384 GF(256)*.
5385
5386 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
5387 (gf_double_t): Likewise.
5388 (gf_invert): Removed.
5389 (gf_powx): New array.
5390 (gf_powx_inv): Likewise.
5391 (scratch): Move higher.
5392 (gf_reduce): Removed.
5393 (gf_mul): Use powx.
5394 (gf_invert): Likewise.
5395 (init_inverts): Replaced with ...
5396 (init_powx): ...this. All users updated.
5397 (pol_evaluate): Replace multiplications with additions.
5398 (rs_encode): Likewise.
5399 (gauss_eliminate): Call gf_invert.
5400 (grub_reed_solomon_add_redundancy): Call init_powx.
5401 (grub_reed_solomon_recover): Call init_powx unconditionally.
5402
fa5aeffc
VS
54032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
5406
a346b81c
VS
54072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
5410 disk->partiton for safety.
5411
d89ee414
VS
54122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5415 Fix a memory leak.
5416 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
5417
91ee7b6d
VS
54182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
5421
91e5a33d
VS
54222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
5425
9edd7be2
VS
54262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 Fix spaces handling in proc/self/mountinfo.
5429
5430 * util/getroot.c (unescape): New function.
5431 (grub_find_root_device_from_mountinfo): Use unescape.
5432
ba102053
VS
54332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 Support ZFS embedding.
5436
5437 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
5438 (grub_zfs_fs): Register grub_zfs_embed.
5439
aa94b870
VS
54402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 Fix MIPS compilation.
5443
5444 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
5445 * include/grub/offsets.h: Rename decompressor fields from
5446 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
5447 * util/grub-mkimage.c (image_targets): Use new names.
5448
5fbdac14
VS
54492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 Defer multiboot device parsing until we're in compressed part.
5452
5453 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
5454 bsd_part. setdevice has fallen into disuse.
5455 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
5456 (bsd_part): Likewise.
5457 (boot_dev): New variable.
5458 (multiboot_trampoline): Don't parse multiboot device.
5459 Pass multiboot device in %edx.
5460 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
5461 grub_boot_device.
5462 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
5463 Likewise.
5464 * grub-core/kern/i386/pc/startup.S: Save edx.
5465 (grub_boot_drive): Removed.
5466 (grub_install_dos_part): Likewise.
5467 (grub_install_bsd_part): Likewise.
5468 (grub_boot_device): New variable.
5469 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
5470 (grub_install_bsd_part): Likewise.
5471 (grub_boot_drive): Likewise.
5472 (grub_boot_device): New variable.
5473 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
5474 Removed.
5475 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5476 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
5477 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
5478 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
5479 * util/grub-install.in: Remove redundant condition.
5480
691cbb58
VS
54812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 Fix bug introduced by previous commit.
5484
5485 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5486
60240b8b
VS
54872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 Use decompressors framework on i386-pc. It increases core size
5490 by 46 bytes but improves compatibility and maintainability.
5491
5492 * grub-core/Makefile.core.def (lzma_decompress): New image.
5493 (kernel): Add i386_pc_ldflags.
5494 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5495 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5496 to real_to_prot, prot_to_real and device info.
5497 * include/grub/offsets.h: Renamed decompressor offsets.
5498 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5499 (image_target_desc): Remove raw_size and rename decompressor fields.
5500 (compress_kernel): Handle lzma.
5501 (generate_image): Handle decompressors on i386-pc.
5502
e9d3421c
VS
55032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * configure.ac: Add -fno-asynchronous-unwind-tables.
5506
2b23074a
VS
55072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 Move assembly code to C by using intwrap. It increases core size
5510 by 88 bytes but improves compatibility and maintainability.
5511
5512 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5513 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5514 ... here. Translated to C.
5515 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5516 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5517 ... here. Translated to C.
5518 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5519 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5520 ... here. Translated to C.
5521 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5522 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5523 ... here. Translated to C.
5524 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5525 * grub-core/term/i386/pc/console.c (grub_console_cls):
5526 ... here. Translated to C.
5527 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5528 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5529 ... here. Translated to C.
5530 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5531 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5532 Translated to C.
5533 * grub-core/term/i386/pc/console.c (int10_9): New function.
5534 (grub_console_putchar): Likewise.
5535 * include/grub/i386/pc/console.h: Removed the not anymore shared
5536 functions.
5537
678f4b67
VS
55382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 Move grub_chainloader_real_boot out of the kernel.
5541
5542 * grub-core/Makefile.am: Remove machine/loader.h.
5543 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5544 Removed.
5545 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5546 variable.
5547 (grub_relocator16_keep_a20_enabled): Likewise.
5548 (grub_relocator16_boot): Fill new variables.
5549 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5550 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5551 relocator.
5552 (grub_chainloader_unload): Likewise.
5553 (grub_chainloader_cmd): Likewise.
5554 * include/grub/i386/pc/loader.h: Removed.
5555 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5556 and esi. All initialisers updated.
5557
4626edf6
VS
55582011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
55592011-11-12 Colin Watson <cjwatson@ubuntu.com>
5560
5561 * Makefile.util.def (grub-mount): New util.
5562 * .bzrignore: Add grub-mount.
5563 * configure.ac: Check for fuse and enable grub-mount if available.
5564 * docs/man/grub-mount.h2m: New file.
5565 * util/grub-mount.c: Likewise.
5566
10f0117b
VS
55672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * grub-core/commands/efi/fixvideo.c: Gettextize.
5570 * grub-core/commands/hashsum.c: Likewise.
5571 * grub-core/commands/i386/cmostest.c: Likewise.
5572 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5573 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5574 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5575 * grub-core/commands/lsmmap.c: Likewise.
5576 * grub-core/commands/menuentry.c: Likewise.
5577 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5578 * grub-core/commands/setpci.c: Likewise.
5579 * grub-core/loader/i386/bsd.c: Likewise.
5580 * grub-core/loader/i386/linux.c: Likewise.
5581 * util/getroot.c: Likewise.
5582 * util/grub-editenv.c: Likewise.
5583 * util/grub-fstest.c: Likewise.
5584 * util/grub-mkfont.c: Likewise.
5585 * util/grub-mkimage.c: Likewise.
5586 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5587 * util/grub-pe2elf.c: Likewise.
5588 * util/grub-probe.c: Likewise.
5589 * util/grub-setup.c: Likewise.
5590 * util/ieee1275/ofpath.c: Likewise.
5591 * util/misc.c: Likewise.
5592 * util/raid.c: Likewise.
5593
566f779b
RM
55942011-11-11 Robert Millan <rmh@gnu.org>
5595
5596 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5597 __attribute__((unused)) from `os_dev', which *is* being used.
5598
b50787de
VS
55992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5602 forgotten define.
5603 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5604 GRUB_IA64_DL_GOT_ALIGN.
5605 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5606 GRUB_IA64_DL_TRAMP_ALIGN.
5607
119d11c8
VS
56082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 Replace grub_fatal with normal errors in i386 linux loader.
5611
5612 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5613 (allocate_pages): Check find_efi_mmap_size return value.
5614 (grub_e820_add_region): Return error.
5615 (grub_linux_boot): Check mmap return value.
5616
6e0632e2
VS
56172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * grub-core/commands/acpihalt.c: Gettextized.
5620 * grub-core/commands/cacheinfo.c: Likewise.
5621 * grub-core/commands/cmp.c: Likewise.
5622 * grub-core/commands/efi/loadbios.c: Likewise.
5623 * grub-core/commands/gptsync.c: Likewise.
5624 * grub-core/commands/ieee1275/suspend.c: Likewise.
5625 * grub-core/commands/legacycfg.c: Likewise.
5626 * grub-core/commands/memrw.c: Likewise.
5627 * grub-core/commands/minicmd.c: Likewise.
5628 * grub-core/commands/parttool.c: Likewise.
5629 * grub-core/commands/time.c: Likewise.
5630 * grub-core/commands/videoinfo.c: Likewise.
5631 * grub-core/disk/geli.c: Likewise.
5632 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5633 * grub-core/disk/luks.c: Likewise.
5634 * grub-core/disk/lvm.c: Likewise.
5635 * grub-core/font/font_cmd.c: Likewise.
5636 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5637 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5638 * grub-core/gfxmenu/view.c: Likewise.
5639 * grub-core/kern/emu/hostdisk.c: Likewise.
5640 * grub-core/kern/emu/main.c: Likewise.
5641 * grub-core/kern/emu/misc.c: Likewise.
5642 * grub-core/kern/emu/mm.c: Likewise.
5643 * grub-core/kern/mips/arc/init.c: Likewise.
5644 * grub-core/kern/mips/loongson/init.c: Likewise.
5645 * grub-core/kern/partition.c: Likewise.
5646 * grub-core/lib/i386/halt.c: Likewise.
5647 * grub-core/lib/mips/arc/reboot.c: Likewise.
5648 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5649 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5650 * grub-core/loader/i386/xnu.c: Likewise.
5651 * grub-core/loader/multiboot.c: Likewise.
5652 * grub-core/net/bootp.c: Likewise.
5653 * grub-core/net/net.c: Likewise.
5654 * grub-core/normal/term.c: Likewise.
5655 * grub-core/partmap/bsdlabel.c: Likewise.
5656 * grub-core/parttool/msdospart.c: Likewise.
5657 * grub-core/term/gfxterm.c: Likewise.
5658 * grub-core/term/terminfo.c: Likewise.
5659 * grub-core/video/i386/pc/vbe.c: Likewise.
5660 * util/grub-menulst2cfg.c: Likewise.
5661 * util/grub-mkdevicemap.c: Likewise.
5662 * util/grub-mklayout.c: Likewise.
5663 * util/grub-mkrelpath.c: Likewise.
5664 * util/grub-script-check.c: Likewise.
5665 * util/ieee1275/grub-ofpathname.c: Likewise.
5666 * util/resolve.c: Likewise.
5667
073aa7a9
VS
56682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 Support %1$d syntax.
5671
5672 * tests/printf_unit_test.c: New file.
5673 * Makefile.util.def (printf_test): New test.
5674 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
5675
c76b5417
VS
56762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
5679 fix.
5680
df067ad1
VS
56812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
5684 dprintf.
5685 * grub-core/font/font.c (grub_font_load): Likewise.
5686
5b289bc5
VS
56872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 * util/grub-macho2img.c: Add comment concerning gettext.
5690 * grub-core/lib/legacy_parse.c: Likewise.
5691
c1860f87
VS
56922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
5695 (grub_xvasprintf): Likewise.
5696
d35d0d37
VS
56972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 Add const keyword to grub_env_get and gettextize week days.
5700
5701 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
5702 (grub_read_hook_datetime): Return const char *.
5703 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
5704 updated.
5705 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5706 Mark for gettext.
5707 (grub_get_weekday_name): Return const char *. Call gettext.
5708 * grub-core/script/argv.c (grub_script_argv_append): Receive const
5709 char * and len as the argument. All users updated.
5710 (grub_script_argv_split_append): Receive const char *.
5711 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
5712 * include/grub/env.h (grub_env_get): Likewise.
5713 (grub_env_read_hook_t): Return const char *.
5714 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
5715 (grub_script_argv_split_append): Likewise.
5716
9aed8a71
VS
57172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
5720
067fdf00
VS
57212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
5724 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
5725
a8bd9d39
VS
57262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
5729 Fix prototype.
5730
f7ce5baf
VS
57312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 Fix mips compilation.
5734
5735 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
5736 normal decoder.
5737 (hashes): Use in embed decoder as well (for sizes).
5738 (dec_stream_header): Fix embed decompressor logic.
5739 (dec_stream_footer): Likewise.
5740
9bb182f3
VS
57412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5744 an error and not a fatal on unrecognised relocation types.
5745
63a9e6f6
VS
57462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5749 Issue error rather than printf on unknown arguments.
5750
4c458569
VS
57512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5754 Make buf a const.
5755
e2d22baf
VS
57562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5759 Fix module name.
5760
53dc8590
VS
57612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5764 leftover debug printf.
5765
6c189294
VS
57662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
5769
f7688369
VS
57702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
5773 A stylistic fix.
5774
11a775a3
VS
57752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
5778
33f784e8
SL
57792011-11-10 Shea Levy <slevy@tieronedesign.com>
5780
5781 Allow all modules to perform serial IO
5782
5783 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
5784 * include/grub/serial.h (grub_serial_port_configure): New inline
5785 function.
5786 (grub_serial_port_fetch): Likewise.
5787 (grub_serial_port_put): Likewise.
5788 (grub_serial_port_fini): Likewise.
5789 (grub_serial_find): New proto.
5790
f6276525
VS
57912011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 Put symlink at the end of the node and fix a potential
5794 memory corruption.
5795
5796 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
5797 Make symlink into an array.
5798 (set_rockridge): Set have_symlink and alloc_dirents.
5799 (grub_iso9660_read_symlink): Use new layout.
5800 (grub_iso9660_iterate_dir): Fix memory corruption.
5801 Use new layout.
5802 (grub_iso9660_dir): Set have_symlink.
5803 (grub_iso9660_open): Likewise.
5804
c3591189
VS
58052011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 Remove local keyword.
5808
5809 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
5810 (version_test_gt): Likewise.
5811 (version_find_latest): Likewise.
5812 (gettext_printf): Likewise.
5813 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
5814
cb544caa
VS
58152011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
5818
45bd824d
VS
58192011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 Fix ZFS memory and resource leaks.
5822
5823 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
5824 All users updated.
5825 Free type on exit.
5826 (fill_vdev_info): New parameter inserted. All users updated.
5827 (check_pool_label): Likewise.
5828 (scan_disk): Likewise.
5829 (scan_devices): Close non-inserted disks.
5830 (fzap_iterate): Free l.
5831 (unmount_device): Free children descripto memory.
5832
ad9a2f44
VS
58332011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
5836 argument (access out of bounds).
5837
6b68db81
VS
58382011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
5841 >= 6 drives.
5842
28840fda
VS
58432011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
5846 Fix declaration.
5847
8a5a3a5b
VS
58482011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 Fix several memory leaks.
5851
5852 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
5853 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
5854 (grub_cpio_dir): Likewise.
5855 * grub-core/fs/fat.c (grub_fat_label): Likewise.
5856 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
5857 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
5858 (grub_romfs_label): Likewise.
5859 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
5860 (squash_unmount): New function.
5861 (grub_squash_dir): Fix memory leak.
5862 (grub_squash_open): Likewise.
5863 (grub_squash_read): Likewise.
5864 (grub_squash_mtime): Likewise.
5865 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
5866 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
5867 * util/grub-fstest.c (fstest): Likewise.
5868
57b01250
VS
58692011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
5872 avoid accessing beyond the array.
5873
19e81ba7
VS
58742011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5875
5876 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
5877
52b656c0
VS
58782011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 Several AFFS fixes.
5881
5882 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
5883 (GRUB_AFFS_FLAG_FFS): Removed.
5884 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
5885 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
5886 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
5887 (grub_fshelp_node): Make block 32-bit.
5888 Add block_cache and last_block_cache.
5889 (grub_affs_read_block): Fill and use block cache.
5890 (grub_affs_read_file): Removed.
5891 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
5892 boot block.
5893 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
5894 safety.
5895 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
5896 space.
5897 (grub_affs_close): Free block cache.
5898 (grub_affs_read): Use grub_fshelp_read_file directly.
5899
438a746a
VS
59002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
5903 with no error set.
5904
49a45021
VS
59052011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
5908 used variable.
5909 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5910 Likewise.
5911
3ae17eb8
VS
59122011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
5915
5916 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
5917 byteswap when needed.
5918
27610c38
VS
59192011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 Fix FreeBSD compilation.
5922
5923 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
5924 to avoid circular dependency.
5925 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
5926 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
5927 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
5928
4a19b601
VS
59292011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 Fix ZFS crypto error types.
5932
5933 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
5934 (grub_gcm_decrypt): Likewise.
5935 (grub_zfs_load_key_real): Fix error code type. Handle possible error
5936 from PBKDF2.
5937
958ee221
VS
59382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 Illumos support.
5941
5942 * Makefile.util.def (10_illumos): New script.
5943 * configure.ac: Set COND_HOST_ILLUMOS.
5944 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
5945 Support Illumos calls.
5946 (find_partition_start) [__sun__]: Likewise.
5947 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
5948 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
5949 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
5950 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
5951 device.
5952 * util/grub-probe.c (probe) [__sun__]: Do character check.
5953 * util/grub.d/10_illumos.in: New file.
5954
cac14fb6
VS
59552011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 Support escaped commas in hostdisk.
5958
5959 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
5960 (find_grub_drive): Use unescape_cmp.
5961 (make_device_name): Escape commas.
5962
78e08dc3
VS
59632011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
5966
9f421dd1
VS
59672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
5970 variable.
5971
ed64e9e2
VS
59722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 Support trampoline jumps on powerpc.
5975
5976 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
5977 __ia64__ path.
5978 (grub_dl_load_segments): Set mod->sz.
5979 (grub_dl_flush_cache): Flush whole space occupied by module, not just
5980 segments.
5981 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
5982 (jump): Likewise.
5983 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
5984 function.
5985 (trampoline): New struct.
5986 (trampoline_template): New const.
5987 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
5988 * include/grub/dl.h (grub_dl): Add sz element.
5989 [__powerpc__]: Follow __ia64__.
5990 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
5991 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
5992 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
5993 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
5994
3084ede4
VS
59952011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 ZFS crypto support.
5998
5999 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
6000 * grub-core/Makefile.core.def (zfscrypt): New module.
6001 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
6002 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
6003 it. All users updated.
6004 (grub_zfs_decrypt): New var.
6005 (grub_zfs_load_key): Likewise.
6006 (zio_checksum_functions): Add SHA256+MAC.
6007 (zio_checksum_verify): Handle incomplete comparison due to MAC.
6008 (zio_read): Handle encrypted blocks.
6009 (zap_verify): Remove incorrect check.
6010 (fzap_iterate): Handle non-standard fzap.
6011 (zap_iterate): Likewise.
6012 (zap_iterate_u64): New function.
6013 (dnode_get_fullpath): Load keys.
6014 * grub-core/fs/zfs/zfscrypt.c: New file.
6015 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
6016 (grub_crypto_ecb_encrypt): Make input const.
6017 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
6018 (grub_crypto_ecb_encrypt): Make input const.
6019 (GRUB_CIPHER_AES): New macro.
6020 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
6021 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
6022 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
6023 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
6024 prefix. All users updated.
6025 (grub_zfs_add_key): New proto.
6026 (grub_zfs_decrypt): Likewise.
6027 (grub_zfs_load_key): Likewise.
6028 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
6029 * util/grub-fstest.c (options): Add -K option.
6030 (argp_parser): Likewise.
6031
b632b404
VS
60322011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 Support zle compression on ZFS.
6035
6036 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
6037 (decomp_table): Add zle.
6038 * include/grub/zfs/zio.h (zio_compress): Add zle.
6039
c7ba4f69
VS
60402011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6041
6042 Support BtrFS embedding.
6043
6044 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
6045 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
6046 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
6047 * util/grub-setup.c (setup): Use fs embedding if available.
6048 Add additional sanity check.
6049
455377d9
VS
60502011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * util/grub-install.in: Fix condition for config_opt.
6053
c2fd16ca
VS
60542011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 Support third redundancy strip on raidz3.
6057
6058 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
6059 Return error on singularity. All users updated.
6060 (read_device): Don't stop on 3rd failure on raidz3.
6061
8622923b
VS
60622011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 Support case-insensitive ZFS subvolumes.
6065
6066 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
6067 All users updated.
6068 (zap_hash): Likewise.
6069 (name_cmp): New function.
6070 (zap_leaf_array_equal): New parameter case_insensitive.
6071 All users updated.
6072 (zap_leaf_lookup): Likewise.
6073 (fzap_lookup): Likewise.
6074 (zap_lookup): Likewise.
6075 (dnode_get_path): New parameter case_insensitive. Retrieve case
6076 sensitiviness of a volume. All users updated.
6077 (dnode_get_fullpath): New parameter case_insensitive.
6078 All users updated.
6079 (grub_zfs_dir): Set info.case_insensitiveness.
6080
95f2e860
VS
60812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 Support second redundancy strip on raidz(2,3).
6084
6085 * grub-core/fs/zfs/zfs.c (powx): New array.
6086 (powx_inv): Likewise.
6087 (poly): New const.
6088 (xor_out): New function.
6089 (gf_mul): Likewise.
6090 (recovery): Likewise.
6091 (read_device): Use second redundancy strip.
6092
11ee4389
VS
60932011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 Use a power of generator representation of GF(256) multiplication group
6096 to save space time and complexity.
6097
6098 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
6099 (raid6_table2): Likewise.
6100 (powx): New array.
6101 (powx_inv): Likewise.
6102 (poly): New const.
6103 (grub_raid_block_mul): Replace with ...
6104 (grub_raid_block_mulx): ...this.
6105 (grub_raid6_init_table): Rewritten.
6106 (grub_raid6_recover): Use power of generator representation.
6107
09e2763f
VS
61082011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
6111 for the right device.
6112
8bec9a28
VS
61132011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
6116 expected by grub-mkimage and it's more clear since there is no implicit
6117 padding.
6118
dbd3a32e
VS
61192011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
6122 disk.
6123 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6124
182c872a
PMH
61252011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
6126
6127 * util/grub-mkrescue.in: Fix handling xorriso option.
6128
1e51cabd
VS
61292011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
6132 NULL.
6133
9cc3581d 61342011-11-03 crocket <crockabiscuit@gmail.com>
6135
6136 * util/grub.d/10_linux.in: Add Slackware initrd naming.
6137
158dc1ea
VS
61382011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 XZ CRC64 and SHA256 support.
6141
6142 * Makefile.util.def (libgrubmods): Add crc64.c.
6143 * grub-core/Makefile.core.def (crc64): New module.
6144 * grub-core/lib/crc64.c: New file.
6145 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
6146 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
6147 Fix the type.
6148 (MAX_HASH_SIZE): New define.
6149 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
6150 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
6151 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6152 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6153 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
6154 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
6155 Handle non-crc32 hashes.
6156 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
6157 (dec_stream_header): Handle non-crc32 hashes.
6158 (dec_stream_footer): Likewise.
6159 (dec_block_header): Likewise.
6160 (dec_main): Likewise.
6161 (xz_dec_init): Likewise.
6162 (xz_dec_reset): Likewise.
6163 (xz_dec_end): Likewise.
6164 * util/import_gcry.py: Add CRC64 line.
6165
9d9b3d2f
VS
61662011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
6169 as well.
6170
7d0ac931
VS
61712011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 Make reiserfs label retrieval similar to other *_label functions.
6174
6175 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
6176 (REISERFS_MAX_LABEL_LENGTH): Removed.
6177 (REISERFS_LABEL_OFFSET): Likewise.
6178 (grub_reiserfs_label): Rewritten.
6179
61802011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
6183 field.
6184
cf5ba824
VS
61852011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
6188
17744004
VS
61892011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
6192 drive failure on both raidz and raidz2.
6193
aca5aefc
VS
61942011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 Fix RAIDZ(2) for >= 5 devices.
6197
6198 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
6199 asize argument. All users updated.
6200
ce8ca56e
VS
62012011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 Fix RAIDZ(2).
6204
6205 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
6206 (fill_vdev_info_real): Set ashift.
6207 (read_device): Rewrite RAIDZ part based on reverse engineering.
6208
7c01e783
VS
62092011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
6212 don't report potentially unavialiable fields in debug output.
6213 (find_path): Fix double-free and memory leak.
6214
ce109e84
VS
62152011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 Read label on UFS1.
6218
6219 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
6220 (grub_ufs_fs): Always set .label.
6221
87661123
VS
62222011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 Use shifts in UFS.
6225
6226 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
6227 (grub_ufs_data): New field log2_blksz.
6228 (grub_ufs_read_file): Use shifts.
6229 (grub_ufs_mount): Check block size and logarithm it.
6230
46bc1dc2
VS
62312011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
6234 long symlinks.
6235
19ee2987
VS
62362011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 Handle symlinks and long names on tar and cpio.
6239
6240 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
6241 (ATTR_FILE): Likewise.
6242 (ATTR_DIR): Likewise.
6243 (ATTR_LNK): Likewise.
6244 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
6245 (grub_cpio_find_file): Fill mode, handle linkname field as well as
6246 L and K entries.
6247 (grub_cpio_mount): Zero-fill data.
6248 (handle_symlink): New function.
46bc1dc2
VS
6249 (grub_cpio_dir): Handle symlinks.
6250 (grub_cpio_open): Likewise.
6251 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 6252
c83a08d8
VS
62532011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 Fix iso9660 filename limitations and fix memory leaks.
6256
6257 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
6258 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
6259
45cdd3ea
VS
62602011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 Fix JFS file name length limitations.
6263
6264 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
6265 (grub_jfs_diropen): Fix maximum filename length.
6266 (grub_jfs_getent): Fix filename length.
6267 (grub_jfs_lookup_symlink): Fix size checks.
6268
94ef05c2
VS
62692011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
6272 string.
6273
785ab8c7
VS
62742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6275
eb0b6b45
VS
6276 Leverage BFS implementation to read AFS.
6277
6278 * Makefile.util.def (libgrubmods): Add afs.c.
6279 * grub-core/Makefile.core.def (afs): New module
6280 * grub-core/fs/afs.c: New file.
6281 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
6282
62832011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 6286
c4a1628f
VS
62872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * grub-core/fs/bfs.c: Run indent.
6290
5825b379
VS
62912011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 BFS implementation based on the specification.
6294
6295 * grub-core/fs/bfs.c: New file.
6296 * Makefile.util.def (libgrubmods): Add bfs.c.
6297 * grub-core/Makefile.core.def (bfs): New module.
6298
42b2a706
VS
62992011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 * util/grub-fstest.c (cmd_cp): Clarify error message.
6302 (cmd_cmp): Likewise.
6303
61b99bfc
YB
63042011-10-30 Yves Blusseau <blusseau@zetam.org>
6305
6306 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
6307 and befs_be.
6308
faba3d16
VS
63092011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 Remove afs and befs because of copyright problem.
6312
6313 * grub-core/fs/afs.c: Removed.
6314 * grub-core/fs/afs_be.c: Removed.
6315 * grub-core/fs/befs.c: Removed.
6316 * grub-core/fs/befs_be.c: Removed.
6317 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
6318 * grub-core/Makefile.core.def (afs): Removed.
6319 (afs_be): Likewise.
6320 (befs): Likewise.
6321 (befs_be): Likewise.
6322
c39224b0
VS
63232011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 Prefer rockridge over Joliet.
6326
6327 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
6328 to ...
6329 (set_rockridge): ... here.
6330 (grub_iso9660_mount): Check rockridge on the primary label when
6331 discovering. Ignore Joliet if Rockridge is present.
6332
e551115a
VS
63332011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 Use shifts in nilfs2.
6336
6337 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
6338 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
6339 (grub_nilfs2_palloc_entries_per_group): Replace with ...
6340 (grub_nilfs2_log_palloc_entries_per_group): ... this.
6341 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
6342 (grub_nilfs2_entries_per_block): Replaced with ...
6343 (grub_nilfs2_log_entries_per_block_log): ... this.
6344 (grub_nilfs2_blocks_per_group): Replaced with ...
6345 (grub_nilfs2_blocks_per_group_log): ... this.
6346 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
6347 (grub_nilfs2_blocks_per_desc_block_log): ... this.
6348 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
6349 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
6350 (grub_nilfs2_palloc_entry_offset): Replaced ...
6351 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
6352 (grub_nilfs2_dat_translate): Use shifts.
6353 (grub_nilfs2_read_inode): Likewise.
6354 (GRUB_MOD_INIT): Ensure that logs are correct.
6355
564dd58c
VS
63562011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 Use shifts in minix filesystem.
6359
6360 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
6361 (GRUB_MINIX_ZONE2SECT): Likewise.
6362 (grub_minix_data): Replace block_size with log_block_size.
6363 (grub_minix_read_file): Use shifts.
6364 (grub_minix_mount): Check block size and take a logarithm.
6365
ed9ba06d
VS
63662011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 Use shifts in squash4.
6369
6370 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
6371 (squash_mount): Check block size and take logarithm.
6372 (direct_read): Use shifts.
6373
ad03fe76
VS
63742011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 Correct befs block counting logic.
6377
6378 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
6379 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
6380 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
6381 (grub_afs_read_inode): Use block_shift.
6382 (RANGE_SHIFT): New definition.
6383 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
6384 unexpected conditions, use shifts and appropriate types.
6385 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
6386
6563f63d
VS
63872011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * grub-core/disk/raid.c (scan_devices): Check partition.
6390 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6391
5b1ae25f
VS
63922011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 Support BFS (befs) UUID.
6395
6396 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
6397 (grub_afs_small_data_element_header): New struct.
6398 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
6399 (grub_afs_read_attribute) [MODE_BFS]: New function.
6400 (grub_afs_iterate_dir): Allocate for complete inode.
6401 (grub_afs_mount): Likewise.
6402 (grub_afs_uuid) [MODE_BFS]: New function.
6403 (grub_afs_fs) [MODE_BFS]: Add .uuid.
6404
f8d82408
VS
64052011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
6408 (zfs_unmount): Fix memory leak.
6409
5773fb64
VS
64102011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 Support NTFS reparse points.
6413
6414 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
6415 (symlink_descriptor): New struct.
6416 (grub_ntfs_read_symlink): New function.
6417 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
6418 (grub_ntfs_open): Likewise.
6419
91c3fdde
VS
64202011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
6423
3be82e10
VS
64242011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 fstest xnu_uuid subcommand.
6427
6428 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
6429 grub-core/commands/xnu_uuid.c.
6430 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
6431 (fstest): Handle xnu_uuid.
6432 (options): Document xnu_uuid.
6433 (argp_parser): Parse xnu_uuid.
6434
8e32442e
VS
64352011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
6438 -l argument. Add newline at the end if printing.
6439 (GRUB_MOD_INIT): Document -l.
6440
52a05075
VS
64412011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
6444
1869edb5
VS
64452011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 ZFS multi-device and version 33 support.
6448
6449 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
6450 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
6451 (grub_zfs_data): Add multidev-ice-related fields.
6452 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
6453 (dva_get_offset): Make dva const.
6454 (zfs_fetch_nvlist): New function.
6455 (fill_vdev_info_real): Likewise.
6456 (fill_vdev_info): Likewise.
6457 (check_pool_label): Likewise.
6458 (scan_disk): Likewise.
6459 (scan_devices): Likewise.
6460 (read_device): Likewise.
6461 (read_dva): Likewise.
6462 (zio_read_gang): Use read_dva.
6463 (zio_read_data): Likewise.
6464 (zap_leaf_lookup): Add missing endian conversion.
6465 (zap_verify): Add missing endian conversion. All users updated.
6466 (fzap_lookup): Likewise.
6467 (fzap_iterate): Likewise.
6468 (dnode_get_path): Handle SA bonus.
6469 (nvlist_find_value): Make input const. All users updated.
6470 (unmount_device): New function.
6471 (zfs_unmount): Use unmount_device.
6472 (zfs_mount): Use scan_disk.
6473 (zfs_mtime): New function.
6474 (grub_zfs_open): Handle system attributes.
6475 (fill_fs_info): Likewise.
6476 (grub_zfs_dir): Likewise.
6477 (grub_zfs_fs): Add mtime.
6478 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
6479 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
6480 (SA_MTIME_OFFSET): Likewise.
6481 (SA_SYMLINK_OFFSET): Likewise.
6482 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
6483 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
6484 (fstest): Support zfsinfo.
6485 (argp_parser): Likewise.
6486
186b4028
VS
64872011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6490 error.
6491
64922011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
6493
6494 ZFS fixes.
6495
6496 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6497 sharing the same block. Iterate over correct number of indices.
6498 (dnode_get_path): Handle symlinks correctly.
6499
c0584900
VS
65002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6503
67e2bd71
VS
65042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 Read label on HFS+.
6507
6508 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6509 (grub_hfsplus_btree_search): Fix types.
6510 (grub_hfsplus_label): Implement.
6511
e9cc6b7b
VS
65122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6515
19832ddb
VS
65162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6519
66b40850
VS
65202011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 Fix symlink handling on iso9660.
6523
6524 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6525 All users updated.
6526 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6527 (grub_iso9660_read_symlink): Moved most of code ...
6528 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6529
db821363
VS
65302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6533 Use union to avoid breaking strict-aliasing rules.
6534
e1211949
VS
65352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 Support multi-extent iso files.
6538
6539 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6540 Add node.
6541 (grub_fshelp_node): Revamp. All users updated.
6542 (FLAG_*): New enum.
6543 (read_node): New function.
6544 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6545 All users updated.
6546 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6547 (get_node_size): New function.
6548 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6549 entries.
6550 Fix memory leak on . and ..
6551 (grub_iso9660_read): Use read_node.
6552 (grub_iso9660_close): Free node.
6553
d4888031
VS
65542011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 Fix tar 4G limit and handle paths containing dot.
6557
6558 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6559 (canonicalize): New function.
6560 (grub_cpio_find_file): Use canonicalize. Store offs in
6561 grub_disk_addr_t.
6562 (grub_cpio_dir): Use grub_disk_addr_t.
6563 (grub_cpio_open): Likewise.
6564
9f12e664
VS
65652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6568
6569 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6570 unused flags.
6571 (grub_squash_inode): Add long_file and block_size.
6572 (grub_squash_cache_inode): New struct.
6573 (grub_squash_dirent): Make types into enum.
6574 (SQUASH_TYPE_LONG_REGULAR): New type.
6575 (grub_squash_frag_desc): Add field size.
6576 (SQUASH_BLOCK_FLAGS): New enum.
6577 (grub_squash_data): Use grub_squash_cache_inode.
6578 (grub_fshelp_node): Make ino_chunk 64-bit.
6579 (read_chunk): Minor argument change. All users updated.
6580 (squash_mount): Use correct le_to_cpu.
6581 (grub_squash_open): Handle LONG_REGULAR.
6582 (direct_read): New function.
6583 (grub_squash_read_data): Handle blocks correctly.
6584
9f326fba
VS
65852011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6588
f4d9b64b
VS
65892011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6592
5bbd28b8
VS
65932011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 Fix 2G limit on ZFS.
6596
6597 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6598 types.
6599 (uberblock_verify): Likewise.
6600 (dmu_read): Likewise.
6601 (grub_zfs_read): Likewise. Remove invalid cast.
6602
68c72069
VS
66032011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6606 (grub_jfs_blkno): Fix incorrect shift.
6607 (grub_jfs_read_file): Use more appropriate types.
6608
6e536dc8
VS
66092011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 Support triple indirect on minix2 and minix3.
6612
6613 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6614 Declare triple_indir_zone.
6615 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6616 indirect.
6617
e0864e7a
VS
66182011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 Minix FS fixes.
6621
6622 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6623 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6624 Rename ctime to mtime. All users updated.
6625 (grub_minix_get_file_block): Fix types and double indirect computations.
6626
89481cab
VS
66272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6630 if no label is found.
6631 (grub_fat_iterate_dir): Fix file size type.
6632 (grub_fat_iterate_dir): Likewise.
6633
f646e143
VS
66342011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6637 save some space.
6638 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6639 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6640
534d769e
VS
66412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6644
e084ba18
VS
66452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * util/import_gcry.py: Accept space between # and include.
6648
3471ecdf
VS
66492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6652
124df5f6
VS
66532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6656
6657 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
6658 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
6659 yylex_strncpy.
6660 * grub-core/script/yylex.l: Add fine-grained #pragma.
6661
4defb8d5
VS
66622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6663
6664 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
6665 New inline function.
6666 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
6667 Likewise.
6668 (memset) [GRUB_UTIL]: Likewise.
6669 (memcmp) [GRUB_UTIL]: Likewise.
6670
4e94ae65
VS
66712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
6674 inline function rather than a define.
6675
18c575e5
VS
66762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * util/grub-setup.c: Add missing include.
6679
f8bc22a8
VS
66802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * util/ieee1275/grub-ofpathname.c: Add missing include.
6683
3ce69fc9
VS
66842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
6687 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
6688 Likewise.
6689
d1e293bb
VS
66902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
6693 grub_memcmp usage.
6694
7a5c54a4
VS
66952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * util/grub-install.in: Add datarootdir as per automake manual
6698 suggestion.
6699 * util/grub-mknetdir.in: Likewise.
6700
67012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
6702
6703 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
6704 suggestion.
6705 * util/grub.d/10_kfreebsd.in: Likewise.
6706 * util/grub.d/10_linux.in: Likewise.
6707 * util/grub.d/10_netbsd.in: Likewise.
6708 * util/grub.d/10_windows.in: Likewise.
6709 * util/grub.d/20_linux_xen.in: Likewise.
6710
766f7d08
VS
67112011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 Remove redundant grub_kernel_image_size.
6714
6715 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
6716 _edata and _start.
6717 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
6718 the small code. It moves it only by few bytes but simplifies the code.
6719 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
6720 _start.
6721 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
6722 (grub_kernel_image_size): Removed.
6723 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
6724 (grub_kernel_image_size): Removed.
6725 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
6726 compiled with Apple toolchain.
6727 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
6728 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
6729 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
6730 (grub_total_module_size): Likewise.
6731 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
6732 Removed.
6733 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
6734 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
6735 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6736 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
6737 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
6738 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
6739 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6740 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6741 Removed.
6742 (grub_total_module_size): Removed.
6743 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6744 (image_targets): Likewise.
6745 Set .compressed_size to no field on sparc.
6746 (generate_image): Remove kernel_image_size handling.
6747
fcf1d672
SJ
67482011-10-19 Szymon Janc <szymon@janc.net.pl>
6749
6750 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6751 NULL pointer dereference.
6752
de9c615e
VS
67532011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6756 done with a dedicated section.
6757
6758 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6759 Ensure the correct position of boot_path.
6760 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6761 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6762 other fields.
6763 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6764 * include/grub/boot.h: Removed. All references removed.
6765 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6766 Removed.
6767 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
6768
e55599dc
VS
67692011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
6772 name.
6773
36dd20ad
VS
67742011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
6777
f8f72eb8
VS
67782011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6781 Don't add the bogus brackets.
6782
a374751b
VS
67832011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 ExFAT support.
6786
6787 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6788 * grub-core/Makefile.core.def (exfat): New module.
6789 * grub-core/fs/exfat.c: New file.
6790 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
6791 (GRUB_FAT_ATTR_*): Make into an enum.
6792 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
6793 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
6794 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
6795 (GRUB_FAT_MAXFILE): Removed.
6796 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
6797 (grub_current_fat_bpb_t): New type.
6798 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
6799 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
6800 (grub_fat_dir_node_t): New type.
6801 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
6802 (fat_log2) [MODE_EXFAT]: Removed.
6803 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
6804 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
6805 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
6806 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
6807 (grub_fat_label) [MODE_EXFAT]: New function.
6808 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
6809 reserved_first_sector to 0.
6810
544c2487
VS
68112011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 Move grub_reboot out of the kernel.
6814
6815 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
6816 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
6817 * grub-core/lib/efi/reboot.c: ... here.
6818 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
6819 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6820 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
6821 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
6822 * grub-core/lib/i386/reboot_trampoline.S: ... here.
6823 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
6824 * grub-core/lib/ieee1275/reboot.c: ... here.
6825 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
6826 * grub-core/lib/mips/arc/reboot.c: ... here.
6827 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
6828 * grub-core/lib/mips/loongson/reboot.c: ...here.
6829 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
6830 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
6831 * include/grub/emu/misc.h (grub_reboot): New function declaration.
6832 * include/grub/i386/reboot.h: New file.
6833 * include/grub/mips/loongson/ec.h: Fix includes.
6834 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
6835 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
6836 * grub-core/lib/i386/reboot.c: New file.
6837
a97501d2
VS
68382011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 Make grub_prefix into module to fix the arbitrary limit and save
6841 some space.
6842
6843 * grub-core/kern/emu/main.c (grub_prefix): Removed.
6844 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
6845 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
6846 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
6847 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
6848 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
6849 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
6850 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
6851 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6852 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
6853 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
6854 * include/grub/ia64/efi/kernel.h: Removed.
6855 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
6856 (grub_prefix): Removed.
6857 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
6858 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
6859 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
6860 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
6861 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
6862 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
6863 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
6864 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
6865 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
6866 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
6867 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6868 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6869 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6870 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6871 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
6872 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
6873 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
6874 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6875 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
6876 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
6877 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
6878 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
6879 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
6880 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
6881 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
6882 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
6883 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
6884 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
6885 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
6886 from module.
6887 * util/grub-mkimage.c (image_target_desc): Removed prefix and
6888 prefix_end.
6889 (image_targets): Likewise.
6890 (generate_image): Put prefix as a module.
6891
39705fad
VS
68922011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 Replace grub_module_iterate with FOR_MODULES.
6895
6896 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
6897 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
6898 (grub_efi_modules_addr): ...this.
6899 * grub-core/kern/efi/init.c (grub_modbase): New variable.
6900 (grub_efi_init): Set grub_modbase.
6901 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
6902 (grub_modbase): New variable.
6903 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
6904 (grub_modbase): New variable.
6905 (grub_machine_init): Set grub_modbase.
6906 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
6907 (grub_modbase): New variable.
6908 (grub_machine_init): Set grub_modbase.
6909 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
6910 (grub_modbase): New variable.
6911 (grub_machine_init): Set grub_modbase.
6912 * grub-core/kern/main.c (grub_module_iterate): Remove.
6913 (grub_modules_get_end): Use grub_modbase.
6914 (grub_load_modules): Use FOR_MODULES.
6915 (grub_load_config): Likewise.
6916 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
6917 (grub_modbase): New variable.
6918 (grub_machine_init): Set grub_modbase.
6919 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
6920 (grub_modbase): New variable.
6921 (grub_machine_init): Set grub_modbase.
6922 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
6923 Removed.
6924 (grub_modbase): New variable.
6925 (grub_machine_init): Set grub_modbase.
6926 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
6927 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
6928 (grub_module_iterate): Likewise.
6929 (grub_modbase): New variable declaration.
6930 (FOR_MODULES): New macro.
6931
2afb7f6c
VS
69322011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * configure.ac: Check for __ctzdi2 and __ctzsi2.
6935 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
6936
366e34fa
VS
69372011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 Fix few obvious type discrepancies.
6940
6941 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
6942 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
6943 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
6944 variable.
6945 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
6946 and connected types.
6947 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
6948 offset.
6949 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
6950 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
6951 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
6952 and connected types.
6953
177b960e
VS
69542011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6955
6956 Fix python 3.x incompatibilities.
6957
6958 * gentpl.py: Put brackets around print strings.
6959 * util/import_gcry.py: Open explicitly as utf-8.
6960 Use in instead of has_key.
6961
3b619ae1
VS
69622011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
6965 (GRUB_XFS_INO_AGBITS): Make into inline function.
6966 (GRUB_XFS_INO_INOINAG): Likewise.
6967 (GRUB_XFS_INO_AG): Likewise.
6968 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6969 (GRUB_XFS_EXTENT_OFFSET): Likewise.
6970 (GRUB_XFS_EXTENT_BLOCK): Likewise.
6971 (GRUB_XFS_EXTENT_SIZE): Likewise.
6972 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
6973 (GRUB_XFS_NEXT_DIRENT): Likewise.
6974 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
6975 (grub_xfs_read_file): Fix offset type.
6976
8bcebcb8
RM
69772011-10-15 Robert Millan <rmh@gnu.org>
6978
6979 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
6980
0017e5ef
RM
69812011-10-15 Robert Millan <rmh@gnu.org>
6982
6983 Fix build problem on FreeBSD and GNU/kFreeBSD.
6984
6985 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
6986
d8919552
VS
69872011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
6990
6991 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
6992 types.
6993 (grub_hfsplus_btree_recoffset): Likewise.
6994 (grub_hfsplus_btree_recptr): Likewise.
6995 (grub_hfsplus_find_block): Likewise.
6996 (grub_hfsplus_btree_search): Likewise.
6997 (grub_hfsplus_read_block): Likewise.
6998 (grub_hfsplus_read_file): Likewise.
6999 (grub_hfsplus_mount): Likewise.
7000 (grub_hfsplus_btree_iterate_node): Likewise.
7001 (grub_hfsplus_btree_search): Likewise.
7002 (grub_hfsplus_iterate_dir): Likewise.
7003 (grub_hfsplus_read): A small code simplification.
7004
c81296b6
VS
70052011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 * grub-core/kern/emu/hostdisk.c
7008 (convert_system_partition_to_system_disk): Don't assume that children
7009 of mapper nodes are mapper nodes.
7010
0eb8ffb1
VS
70112011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
7014 * include/grub/misc.h (grub_isxdigit): New function.
7015 * grub-core/video/colors.c (my_isxdigit): Removed. All users
7016 switched to grub_isxdigit.
7017 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
7018 number starting with a letter.
7019
a98f4a08
RM
70202011-10-09 Robert Millan <rmh@gnu.org>
7021
7022 LVM support for FreeBSD and GNU/kFreeBSD.
7023
7024 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
7025 GNU/kFreeBSD.
7026 (LVM_DEV_MAPPER_STRING): Move from here ...
7027 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
7028 * util/getroot.c: Include `<grub/util/lvm.h>'.
7029 (grub_util_get_dev_abstraction): Enable
7030 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
7031 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
7032 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
7033 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
7034 support it.
7035 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
7036 GNU/kFreeBSD.
7037 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
7038 when LVM abstraction is required for ${GRUB_DEVICE}.
7039
050e8e90
SJ
70402011-10-06 Szymon Janc <szymon@janc.net.pl>
7041
7042 Add support for LZO compression in GRUB:
7043 - import of minilzo library,
7044 - LZO decompression for btrfs,
7045 - lzop files decompression.
7046
7047 * grub-core/io/lzopio.c: New file.
7048 * grub-core/lib/adler32.c: Likewise.
7049 * grub-core/lib/minilzo/lzoconf.h: Likewise.
7050 * grub-core/lib/minilzo/lzodefs.h: Likewise.
7051 * grub-core/lib/minilzo/minilzo.c: Likewise.
7052 * grub-core/lib/minilzo/minilzo.h: Likewise.
7053 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
7054 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
7055 grub-core/lib/minilzo/minilzo.c to common.
7056 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
7057 cflags in cppflags.
7058 * grub-core/Makefile.core.def (btrfs): Likewise.
7059 * grub-core/Makefile.core.def (lzopio): New module.
7060 (adler32): Likewise.
7061 * grub-core/fs/btrfs.c: Include minilzo.h.
7062 (GRUB_BTRFS_COMPRESSION_LZO): New define.
7063 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
7064 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
7065 (grub_btrfs_lzo_decompress): New function.
7066 (grub_btrfs_extent_read): Add support for LZO compression type.
7067 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
7068 (GRUB_USHRT_MAX): Likewise.
7069 (GRUB_UINT_MAX): Likewise.
7070 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
7071 (UINT_MAX): Likewise.
7072 (CHAR_BIT): Likewise.
7073 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
7074 grub-core/lib/posix_wrap/limits.h
7075 (UCHAR_MAX): Likewise.
7076 * include/grub/file.h (grub_file_filter_id): New compression filter
7077 GRUB_FILE_FILTER_LZOPIO.
7078 * include/grub/file.h (grub_file_filter_id): Set
7079 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
7080 * include/grub/types.h (grub_get_unaligned16): New function.
7081 (grub_get_unaligned32): Likewise.
7082 (grub_get_unaligned64): Likewise.
7083 * util/import_gcry.py (cryptolist): Add adler32.
7084
0eb8ffb1
VS
70852011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
7088 in perspective decreases the complexity of build system and fixes
7089 compilation right now.
7090
ce79cc99 70912011-10-01 Ales Nesrsta <starous@volny.cz>
7092
7093 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
7094 (fixed problem related to using UHCI with coreboot).
7095
8667a314
BC
70962011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7097
7098 * gentpl.py: Use Autogen macros so that the output template file
7099 (Makefile.tpl) size is reduced.
7100
fc5efcc0
MK
71012011-09-29 Mads Kiilerich <mads@kiilerich.com>
7102
7103 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
7104 extra_dist.
7105
d1ab689d
ML
71062011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7107
7108 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
7109 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
7110
c05de032
ML
71112011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7112
7113 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
7114 _fullpath.
7115
cca7ccd8
ML
71162011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7117
7118 Remove extra declaration of sleep for mingw32.
7119
7120 * util/misc.c (sleep) [__MINGW32__]: Removed.
7121 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
7122
e0b0dc83
GS
71232011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7124
7125 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
7126 type and packname.
7127 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
7128 Resurrected.
7129 (NETBSD_BTINFO_BOOTWEDGE): New definition.
7130 (grub_netbsd_btinfo_bootwedge): New struct.
7131 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7132 New function.
7133 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
7134
91a1a164
TH
71352011-09-28 Thomas Haller <thomas.haller@fen-net.de>
7136
7137 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
7138 loader.
7139
2ded951e
AB
71402011-09-28 Andreas Born <futur.andy@googlemail.com>
7141
7142 Fix incorrect identifiers in bash-completion.
7143
7144 * util/bash-completion.d/grub-completion.bash.in
7145 (_grub_mkpasswd-pbkdf2): Rename to ...
7146 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
7147 (_grub_script-check): Rename to ...
7148 (_grub_script_check): ... this. All users updated.
7149
69915030
VS
71502011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7153 Return 0 if disk isn't biosdisk.
7154
20fd15f9
GS
71552011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7156
7157 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
7158 on NetBSD.
7159 * Makefile.util.def (grub-fstest): Likewise.
7160
1a7d7db9
GS
71612011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7162
7163 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
7164 Get sector size from disk label.
7165
2221ab6c
CW
71662011-09-05 Colin Watson <cjwatson@ubuntu.com>
7167
7168 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
7169 */README* as well as README*.
7170 Reported by: Axel Beckert.
7171
ca51c4a0
VS
71722011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
7175 case of less than 256 MiB of RAM.
7176
ab80f326
VS
71772011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7178
7179 * grub-core/commands/wildcard.c (make_regex): Handle @.
7180
4155e697
VS
71812011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 * util/grub-install.in: Move cryptodisk logic to appropriate place.
7184
ab178c08
SJ
71852011-08-21 Szymon Janc <szymon@janc.net.pl>
7186
7187 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
7188 AC_LANG_CONFTEST macros.
7189
7dc3c686
SJ
71902011-08-20 Szymon Janc <szymon@janc.net.pl>
7191
7192 Add grub-fstest option to uncompress data for commands.
7193
7194 * util/grub-fstest.c (uncompress): New var.
7195 (options): New option -u.
7196
fe8d4a7b
SJ
71972011-08-20 Szymon Janc <szymon@janc.net.pl>
7198
7199 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
7200 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
7201
a5219af1
SJ
72022011-08-20 Szymon Janc <szymon@janc.net.pl>
7203
7204 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
7205 file type was not recognized correctly (not gzip or corrupted).
7206
f87abff5
VS
72072011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
7210 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
7211
d94497ea
VS
72122011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
7215 loongson.
7216 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7217 video_radeon_fuloong2e.
7218 * grub-core/video/radeon_fuloong2e.c: New file.
7219 * include/grub/video.h (grub_video_id_t): Add new ID
7220 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
7221
0d1fd011
VS
72222011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
7225 define.
7226 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
7227 that PRID matches the detected subplatform and reset the subplatform
7228 if it doesn't.
7229
84beb0ee
VS
72302011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
7233
1227c133
VS
72342011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 Fix PCI iterating on functions >= 4.
7237
7238 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
7239 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
7240 Removed.
7241 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
7242 (grub_pci_read): Fix bitmask.
7243 (grub_pci_read_word): Likewise.
7244 (grub_pci_read_byte): Likewise.
7245 (grub_pci_write): Likewise.
7246 (grub_pci_write_word): Likewise.
7247 (grub_pci_write_byte): Likewise.
7248
9594c689
VS
72492011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
7252 can still be specified in TARGET_CFLAGS)
7253
14a2562c
VS
72542011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
7257
7258 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
7259 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
7260 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
7261 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
7262 (FULOONG): Rename to ...
7263 (FULOONG2F): ... this. All users updated.
7264 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
7265 (machtype_fuloong2f_str): ... this.
7266 (machtype_fuloong2e_str): New string.
7267 Check for machtype_fuloong2e_str.
7268 * grub-core/loader/mips/linux.c (loongson_machtypes)
7269 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
7270 * grub-core/term/serial.c (loongson_defserial)
7271 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
7272 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
7273 loongson_defserial.
7274 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
7275 Rename to ...
7276 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
7277 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
7278 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
7279 to IMAGE_FULOONG2F_FLASH. All users updated.
7280 (image_targets): Rename images.
7281 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
7282
b526cbb6
SJ
72832011-08-19 Szymon Janc <szymon@janc.net.pl>
7284
7285 Make enable of disk cache statistics code configurable.
7286
7287 * configure.ac: --enable-cache-stats added.
7288 * config.h.in (DISK_CACHE_STATS): New define.
7289 * grub-core/Makefile.core.def (cacheinfo): New command.
7290 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
7291 * grub-core/commands/cacheinfo.c: New file.
7292 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
7293 moved to cacheinfo.c.
7294 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
7295 debug code.
7296 * include/grub/disk.h: Likewise.
7297
fb739ccd
SJ
72982011-08-19 Szymon Janc <szymon@janc.net.pl>
7299
7300 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
7301 * grub-core/Makefile.am: Likewise.
7302
2bba8cfd
VS
73032011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
7306 non-zero pull.
7307
43526629
VS
73082011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
7311 All users updated.
7312 (grub_jfs_lookup_symlink): Use correct starting inode.
7313
5c144cc8
VS
73142011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * util/grub-setup.c (main): Add missing gcry initialisation.
7317
b1257f65
VS
73182011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 Don't accept text modes on EFI when booting Linux.
7321
7322 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
7323 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
7324
828bc390
ML
73252011-08-15 Mario Limonciello <mario_limonciello@dell.com>
73262011-08-15 Colin Watson <cjwatson@ubuntu.com>
7327
7328 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
7329 use of "/path/.." as in grub-install for EFI as well as handling
7330 symlinks correctly.
7331 Fixes Debian bug #637768.
7332
5f60ccac
CW
73332011-08-15 Colin Watson <cjwatson@ubuntu.com>
7334
7335 * util/grub-probe.c: Remove duplicate #include.
7336
6dc212f9
RM
73372011-08-10 Robert Millan <rmh@gnu.org>
7338
7339 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
7340
7341 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
7342 function.
7343 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
7344 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
7345
66816d85
RM
73462011-08-03 Robert Millan <rmh@gnu.org>
7347
7348 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
7349 la_array as packed.
7350 Reported by: Zachary Bedell
7351
20168fca
CW
73522011-07-26 Colin Watson <cjwatson@ubuntu.com>
7353
7354 * configure.ac: The Loongson port requires grub-mkfont due to its
7355 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
7356 be built.
7357
303b6246
CW
73582011-07-26 Colin Watson <cjwatson@ubuntu.com>
7359
7360 * util/grub-install.in: Don't source grub-mkconfig_lib until after
7361 processing arguments (otherwise help2man fails when GRUB has not yet
7362 been installed).
7363
6795300e
VS
73642011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7365
41aa28ea
VS
7366 New script grub-mkstandalone.
7367
7368 * Makefile.util.def (grub-mkstandalone): New script.
7369 * docs/man/grub-mkstandalone.h2m: New file.
7370 * util/grub-mkstandalone.in: Likewise.
7371
73722011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 Support ATA disks with 4K sectors.
6795300e
VS
7375
7376 * include/grub/ata.h (grub_ata): New member log_sector_size.
7377 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
7378 (grub_ata_identify): Read sector size.
7379 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
7380
92227597
VS
73812011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 * util/grub-install.in: Don't use uhci outside of x86.
7384
c77069f5
VS
73852011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 * util/grub-mkrescue.in: Add missing quotes.
7388
73892011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
7390
7391 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
7392 dereference.
7393
583168a2
VS
73942011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
7397
6be1c01f
VS
73982011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * include/grub/video.h: add missing EXPORT_FUND on
7401 grub_video_edid_checksum and grub_video_edid_preferred_mode.
7402
a1167439
VS
74032011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * include/grub/mips/kernel.h: Fix define conflict.
7406
bf66054f
VS
74072011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
7410 all four ways.
7411
8fc4fa45
CW
74122011-07-21 Colin Watson <cjwatson@ubuntu.com>
7413
7414 Preferred resolution detection for VBE.
7415
7416 * grub-core/video/video.c (grub_video_edid_checksum): New function.
7417 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
7418 the Flat Panel extension, in line with the X.org VESA driver.
7419 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
7420 New function.
7421 (grub_vbe_bios_get_ddc_capabilities): Likewise.
7422 (grub_vbe_bios_read_edid): Likewise.
7423 (grub_vbe_get_preferred_mode): Likewise.
7424 (grub_video_vbe_setup): When the mode is "auto", try to get the
7425 preferred mode from VBE, and use the largest mode that is no larger
7426 than the preferred mode (some BIOSes expose a preferred mode that is
7427 not in their mode list!). If this fails, fall back to 640x480 as a
7428 safe conservative choice.
7429 (grub_video_vbe_get_edid): New function.
7430 (grub_video_vbe_adapter): Add get_edid.
7431 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
7432 (struct grub_video_adapter): Add get_edid.
7433 (grub_video_edid_checksum): Add prototype.
7434 (grub_video_edid_preferred_mode): Likewise.
7435 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
7436 structure.
7437
7438 * grub-core/commands/videoinfo.c (print_edid): New function.
7439 (grub_cmd_videoinfo): Print EDID if available.
7440
7441 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
7442 is more appropriate on a wider range of platforms than 640x480.
7443 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
7444 documentation.
7445
ca5572a9
VS
74462011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
7449
e4bcf625
VS
74502011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * po/POTFILES.in: Regenerate.
7453
c4edd548
VS
74542011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
7457 incorrect memory usage.
7458
16a2bab0
VS
74592011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 * util/grub-install.in: Source grub-mkconfig_lib.
7462
2e418de6
VS
74632011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 Remove getroot.c from core on emu platform.
7466
7467 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
7468 kern/emu/raid.c.
7469 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
7470 useless.
7471 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
7472 * util/getroot.c (get_win32_path): ... here.
7473 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
7474 * util/getroot.c (fini_libzfs): ... here.
7475 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
7476 * util/getroot.c (grub_get_libzfs_handle): ... here.
7477 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
7478 Moved from here...
7479 * util/getroot.c (grub_find_zpool_from_dir): ... here.
7480 * grub-core/kern/emu/misc.c
7481 (grub_make_system_path_relative_to_its_root): Moved from here...
7482 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
7483 * grub-core/kern/emu/getroot.c: Moved from here ...
7484 * util/getroot.c: ... here. All users updated.
7485 * grub-core/kern/emu/raid.c: Moved from here ...
7486 * util/raid.c: ... here. All users updated.
7487
def9832a
VS
74882011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 * po/POTFILES.in: Regenerate.
7491
cd8fe79a
VS
74922011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 Fix compilation on GNU/Linux.
7495
7496 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7497 Disable geli.
7498 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7499 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7500 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7501
a251b719
VS
75022011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
75032011-07-07 Michael Gorven <michael@gorven.za.net>
75042011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7505
7506 LUKS and GELI support.
7507
7508 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7509 grub-core/disk/luks.c, grub-core/disk/geli.c,
7510 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7511 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7512 grub-core/lib/arg.c.
7513 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7514 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7515 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7516 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7517 (grub-bin2h): Add libgcry.a.
7518 (grub-mkimage): Likewise.
7519 (grub-mkrelpath): Likewise.
7520 (grub-script-check): Likewise.
7521 (grub-editenv): Likewise.
7522 (grub-mkpasswd-pbkdf2): Likewise.
7523 (grub-pe2elf): Likewise.
7524 (grub-fstest): Likewise.
7525 (grub-mkfont): Likewise.
7526 (grub-mkdevicemap): Likewise.
7527 (grub-probe): Likewise.
7528 (grub-ofpath): Likewise.
7529 (grub-mklayout): Likewise.
7530 (example_unit_test): Likewise.
7531 (grub-menulst2cfg): Likewise.
7532 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7533 * grub-core/Makefile.core.def (cryptodisk): New module.
7534 (luks): Likewise.
7535 (geli): Likewise.
7536 * grub-core/disk/AFSplitter.c: New file.
7537 * grub-core/disk/cryptodisk.c: Likewise.
7538 * grub-core/disk/geli.c: Likewise.
7539 * grub-core/disk/luks.c: Likewise.
7540 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7541 grub_util_is_lvm.
7542 (grub_util_get_dm_abstraction): New function.
7543 (grub_util_follow_gpart_up): Likewise.
7544 (grub_util_get_geom_abstraction): Likewise.
7545 (grub_util_get_dev_abstraction): Use new functions.
7546 (grub_util_pull_device): Pull GELI and LUKS.
7547 (grub_util_get_grub_dev): Handle LUKS and GELI.
7548 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7549 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7550 (follow_geom_up): Removed.
7551 (grub_util_fd_seek): New function.
7552 (open_device): Use grub_util_fd_seek.
7553 (nread): Rename to ..
7554 (grub_util_fd_read): ... this. All users updated.
7555 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7556 (grub_crypto_cbc_decrypt): Likewise.
7557 (grub_crypto_hmac_write): Likewise.
7558 (grub_crypto_hmac_buffer): Likewise.
7559 (grub_password_get): Extend to util.
7560 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7561 New member modname.
7562 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7563 * include/grub/cryptodisk.h: New file.
7564 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7565 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7566 LUKS and GELI.
7567 (grub_util_follow_gpart_up): New proto.
7568 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7569 (grub_util_fd_read): Likewise.
7570 (grub_cryptodisk_cheat_mount): Likewise.
7571 (grub_util_cryptodisk_print_uuid): Likewise.
7572 (grub_util_get_fd_sectors): Likewise.
7573 * util/grub-fstest.c (mount_crypt): New var.
7574 (fstest): Mount crypto if requested.
7575 (options): New option -C.
7576 (argp_parser): Parse -C.
7577 (main): Init and fini gcry.
7578 * util/grub-install.in: Support cryptodisk install.
7579 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7580 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7581 cryptodisk.
7582 (prepare_grub_to_access_device): Likewise.
7583 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7584 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7585 (probe_cryptodisk_uuid): New function.
7586 (probe_abstraction): Likewise.
7587 (probe): Use new functions.
7588 * util/import_gcry.py: Create Makefile.utilgcry.def.
7589 Add modname member.
7590
9bfdcbbc
VS
75912011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 Lazy device scanning.
7594
7595 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7596 (grub-setup): Remove util/raid.c.
7597 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7598 * grub-core/disk/lvm.c (scan_depth): New variable.
7599 (grub_lvm_iterate): Rescan if necessary.
7600 (find_lv): New function based on grub_lvm_open.
7601 (grub_lvm_open): Use find_lv. Rescan on error.
7602 (is_node_readable): New function.
7603 (is_lv_readable): Likewise.
7604 (grub_lvm_scan_device): Skip already found disks.
7605 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7606 Stop if searched device is found and readable.
7607 * grub-core/disk/raid.c (inscnt): New variable.
7608 (scan_depth): Likewise.
7609 (scan_devices): New function based on grub_raid_register. Abort if
7610 looked for device is found.
7611 (grub_raid_iterate): Rescan if needed.
7612 (find_array): NEw function based on -grub_raid_open.
7613 (grub_raid_open): Use find_array and rescan.
7614 (insert_array): Set became_readable_at.
7615 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7616 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7617 New function.
7618 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7619 (grub_util_pull_device): New function.
7620 (grub_util_get_grub_dev): Call grub_util_pull_device.
7621 * util/raid.c: Moved to ..
7622 * grub-core/kern/emu/raid.c: ... here.
7623 (grub_util_raid_getmembers): New parameter "bootable".
7624 All users updated. Support 1.x.
7625 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7626 All users updated.
7627 * include/grub/disk.h (grub_disk_pull_t): New enum.
7628 (grub_disk_dev): Change iterate prototype.
7629 All users updated.
7630 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7631 New proto.
7632 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7633 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7634 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7635 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7636 All users updated.
7637 * include/grub/util/raid.h: Removed.
7638
1c358e59
VS
76392011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 * po/POTFILES.in: Regenerate.
7642
abee94ed
VS
76432011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 Unify sparc init with other ieee1275.
7646
7647 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7648 instead of kern/sparc64/ieee1275/init.c.
7649 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7650 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7651 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7652 grub/machine/kernel.h.
7653 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7654 (grub_claim_heap) [__sparc__]: Use sparc version.
7655 (grub_machine_init): Moved args parsing to
7656 (grub_parse_cmdline): ...this.
7657 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
7658 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
7659 New definition.
7660 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
7661
7662 Move BOOTP to separate file.
7663
7664 * grub-core/Makefile.core.def (net): Add net/bootp.c.
7665 * grub-core/net/net.c: Move all BOOTP functions to
7666 * grub-core/net/bootp.c: ... here.
7667
7668 Use frame interface on PXE.
7669
7670 * grub-core/Makefile.core.def (pxecmd): Removed.
7671 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
7672 * grub-core/commands/i386/pc/pxecmd.c: Removed.
7673 * grub-core/i386/pc/pxe.c: Moved from here ...
7674 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
7675 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
7676 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
7677
7678 EFI network support.
7679
7680 * grub-core/Makefile.core.def (efinet): New module.
7681 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
7682 here...
7683 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
7684 All users updated.
7685 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
7686 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
7687 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
7688 * grub-core/net/drivers/efi/efinet.c: New file.
7689 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
7690 (grub_efi_net_config): New extern var.
7691
7692 Various cleanups and bugfixes.
7693
7694 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
7695 error.
7696 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
7697 disk declared as partition.
7698 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
7699 leak on failure.
7700 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
7701 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
7702 (grub_debug_zalloc): Likewise.
7703 (grub_debug_realloc): Likewise.
7704 (grub_debug_memalign): Likewise.
7705 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
7706 Check that target is IPv4.
7707 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
7708 local-mac-address as fallback.
7709 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
7710 memory leak.
7711 * grub-core/net/ip.c (ipchksum): Rename to ...
7712 (grub_net_ip_chksum): ... this. All users updated.
7713 (grub_net_recv_ip_packets): Special handling for DHCP.
7714 * util/grub-mkimage.c (generate_image): Zero-out aout header.
7715
7716 Unify prefix handling
7717
7718 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
7719 (grub_machine_get_bootlocation): ... this.
7720 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
7721 (grub_machine_get_bootlocation): ... this.
7722 (grub_prefix): New variable.
7723 (prefix): Removed.
7724 (root_dev): New variable.
7725 (dir): Likewise.
7726 (main): Use new variables.
7727 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
7728 Revamped into ...
7729 (grub_machine_get_bootlocation): ... this.
7730 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
7731 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
7732 (grub_machine_get_bootlocation): ... this.
7733 (grub_machine_set_prefix): Removed.
7734 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
7735 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
7736 Revamped into ...
7737 (grub_machine_get_bootlocation): ... this.
7738 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
7739 (grub_set_prefix_and_root): ... this. All users updated.
7740 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7741 Revamped into ...
7742 (grub_machine_get_bootlocation): ... this.
7743 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7744 (grub_machine_get_bootlocation): New proto.
7745 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7746
7747 Less intrusive and more reliable seek on network implementation.
7748
7749 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7750 (grub_file_seek): Don't call grub_file_net_seek.
7751 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7752 (grub_net_fs_read_real): .. this.
7753 (grub_net_seek_real): Use net->offset.
7754 (grub_net_fs_read): Seek if necessary.
7755
7756 Unify IEEE1275 netwotk config with the other platforms.
7757
7758 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7759 New variable.
7760 (grub_machine_get_bootlocation): Support network.
7761 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7762 Support type and device parsing.
7763 (grub_ieee1275_get_device_type): New function.
7764 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7765 into ...
7766 (grub_ieee1275_net_config_real): ... this.
7767 (grub_ofnet_probecards): Removed.
7768 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
7769 * include/grub/ieee1275/ofnet.h: Removed.
7770 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
7771 extern var.
7772 (grub_ieee1275_get_device_type): New function.
7773
7774 Unify network device closing across platforms and make more robust.
7775
7776 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
7777 grub_grubnet_fini.
7778 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
7779 already.
7780 * grub-core/net/net.c (grub_net_network_level_interface_register):
7781 Update num_ifaces.
7782 (grub_net_card_unregister): Close all interfaces.
7783 (receive_packets): Don't poll if no iterfaces are registered.
7784 Open if necessary.
7785 (grub_net_fini_hw): New function.
7786 (grub_net_restore_hw): Likewise.
7787 (fini_hnd): New variable.
7788 (GRUB_MOD_INIT): Register preboot hook.
7789 (GRUB_MOD_FINI): Run and unregister preboot hook.
7790
7791 Poll network cards when idle.
7792
7793 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
7794 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
7795 * grub-core/net/net.c (receive_packets): Save last poll time.
7796 (grub_net_poll_cards_idle_real): New function.
7797 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
7798 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
7799 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
7800
7801 Rename ofnet interfaces.
7802
7803 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
7804 (grub_ofnet_findcards): Use ofnet_%s names.
7805
7806 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
7807
7808 Cleanup socket opening.
7809
7810 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
7811 (grub_net_fs_close): Likewise.
7812 (grub_net_fs_read_real): Use eof member.
7813 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
7814 (+grub_net_udp_close): New inline function.
7815
7816 * include/grub/net/tftp.h: Moved to the top of ...
7817 * grub-core/net/tftp.c: ... here.
7818 * include/grub/net/ip.h: Moved mostly to the top of ...
7819 * grub-core/net/ip.c: ... here.
7820 * include/grub/net/ethernet.h: Moved mostly to the top of ...
7821 * grub-core/net/ethernet.c: ... here.
7822
7823 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
7824
7825 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
7826 FS name.
7827
7828 * include/grub/net/ip.h (ipv4_ini): Removed.
7829 (ipv4_fini): Likewise.
7830
7831 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
7832 (grub_net_send_ip_packets): Likewise.
7833
cf1337aa
VS
78342011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
7837 grub_read_cmos prototype.
7838
93c06ff9
VS
78392011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 VGA text support in qemu-mips
7842
7843 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
7844 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
7845 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
7846 text.
7847 * grub-core/kern/i386/qemu/init.c: Renamed to ...
7848 * grub-core/kern/vga_init.c: ... this.
7849 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
7850 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
7851 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
7852 Adjust.
7853 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
7854 GRUB_MACHINE_PCI_IO_BASE.
7855
748ccabe
VS
78562011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 MIPS qemu flash support.
7859
7860 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
7861 magic.
7862 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
7863 (grub_machine_init): Probe memory if its size isn't known.
7864 * util/grub-mkimage.c (image_targets): Add flash targets.
7865 (generate_image): Handle flash targets.
7866
d7345994
VS
78672011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 MIPS qemu at_keyboard support.
7870
7871 * gentpl.py (videoinkernel): Add qemu-mips.
7872 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
7873 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
7874 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
7875 modules.
7876 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
7877 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
7878 * grub-core/term/serial.c (grub_serial_register)
7879 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
7880
a07a81b3
VS
78812011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 CMOS support on sparc.
7884
7885 * gentpl.py (cmos): Add powerpc and sparc.
7886 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
7887 powerpc and sparc.
7888 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
7889 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
7890 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
7891 grub_set_datetime_cmos.
7892 * grub-core/lib/ieee1275/cmos.c: New file.
7893 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
7894 (find_rtc): Set no_ieee1275_rtc on error.
7895 (grub_get_datetime): Call grub_get_datetime_cmos on error.
7896 (grub_set_datetime): Call grub_set_datetime_cmos on error.
7897 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
7898 fail. Move value to argument. All users updated
7899 (grub_cmos_write): Likewise.
7900 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
7901 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
7902 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
7903 grub_get_datetime_cmos and grub_set_datetime_cmos.
7904
77546584
GS
79052011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7906
7907 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
7908 sourcing grub-mkconfig_lib.
7909 * util/update-grub_lib.in: Likewise.
7910 * util/grub.d/00_header.in: Likewise.
7911 * util/grub.d/10_hurd.in: Likewise.
7912 * util/grub.d/10_kfreebsd.in: Likewise.
7913 * util/grub.d/10_linux.in: Likewise.
7914 * util/grub.d/10_netbsd.in: Likewise.
7915 * util/grub.d/10_windows.in: Likewise.
7916 * util/grub.d/20_linux_xen.in: Likewise.
7917 * util/grub.d/30_os-prober.in: Likewise.
7918
54894791
CW
79192011-06-28 Colin Watson <cjwatson@ubuntu.com>
7920
7921 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
7922 default_bg_color rather than black.
7923 (grub_gfxterm_fullscreen): Likewise.
7924 (grub_gfxterm_background_color_cmd): Save new background color in
7925 default_bg_color.
7926
8d5d8444
VS
79272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
7930
5afeb5bd
VS
79312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
7934 mismerge.
7935
ba7df45e
VS
79362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 Chainloading on coreboot support.
7939
7940 * grub-core/Makefile.core.def (chain): Add coreboot.
7941 * grub-core/loader/i386/coreboot/chainloader.c: New file.
7942
d0b526b2
VS
79432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7944
7945 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
7946 if it happens.
7947
5ff1d945
VS
79482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 Implement time command.
7951
7952 * grub-core/Makefile.core.def (time): New module.
7953 * grub-core/commands/time.c: New file.
7954 * grub-core/script/parser.y: Remove "time" keyword.
7955 * grub-core/script/yylex.l: Likewise.
7956
5ebaad7e
VS
79572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
7960
bdea3798
VS
79612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7962
7963 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
7964 when handling leftovers.
7965
b28c5655
VS
79662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
7969 so that help2man doesn't fail.
7970
b6f945dc
VS
79712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
7974 type in pointers on sparc64.
7975 (get_card_packet): Likewise.
7976
f9b75e8a
CW
79772011-06-27 Colin Watson <cjwatson@ubuntu.com>
7978
7979 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
7980 with `*'.
7981 (grub_cmd_videoinfo): Fetch current video mode.
7982
1e3d9b86
VS
79832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
7986 because of underlying system restrictions.
7987
efff4b1c
VS
79882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
7991 necessary.
7992
9fc9ce37
VS
79932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 Coreboot video support.
7996
7997 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
7998 (vbe): Likewise.
7999 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
8000 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
8001 here ...
8002 * grub-core/kern/i386/int.S: ... here.
8003 * grub-core/video/i386/pc/vbe.c: Updated includes.
8004 * grub-core/video/i386/pc/vga.c: Likewise.
8005 * include/grub/i386/coreboot/memory.h
8006 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
8007 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
8008 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
8009 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
8010 Disable interrupts.
8011 * include/grub/i386/pc/vga.h: Removed. All users updated.
8012
41bec7fe
VS
80132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
8016 definitions for dprintf.
8017 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
8018
ca80309d
VS
80192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
8022 prototype.
8023 (get_card_packet): Likewise.
8024
9e322ce8
YB
80252011-06-26 Yves Blusseau <blusseau@zetam.org>
8026
8027 Display the path of the file when file is not found
8028
8029 * grub-core/fs/fat.c: Display the filename when file is not found.
8030 * grub-core/fs/fshelp.c: Likewise.
8031 * grub-core/fs/hfs.c: Likewise.
8032 * grub-core/fs/jfs.c: Likewise.
8033 * grub-core/fs/minix.c: Likewise.
8034 * grub-core/fs/ufs.c: Likewise.
8035 * grub-core/fs/btrfs.c: Likewise.
8036 * grub-core/commands/i386/pc/play.c: Likewise.
8037
cbf597af
SJ
80382011-06-26 Szymon Janc <szymon@janc.net.pl>
8039
8040 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
8041 pointer checks before calling grub_free().
8042 * grub-core/commands/wildcard.c (match_devices): Likewise.
8043 * grub-core/commands/wildcard.c (match_files): Likewise.
8044 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
8045 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
8046 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
8047 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
8048 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
8049 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
8050 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
8051 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8052 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
8053
6295b32f
P
80542011-06-25 Patrick <p55@mailinator.com>
8055
8056 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
8057
77c0840b
VS
80582011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
8061 (grub_pxe_send): Likewise.
8062 (GRUB_MOD_INIT): Fix types.
8063
40ea05de
SJ
80642011-06-24 Szymon Janc <szymon@janc.net.pl>
8065
8066 * grub-core/io/xzio.c: Fix code style issues
8067
90162423
MRA
80682011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
80692011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
8070
8071 Network infrastructure.
8072 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
8073
8074 * include/grub/net/arp.h: New file.
90162423
MRA
8075 * include/grub/net/device.h: Likewise.
8076 * include/grub/net/ethernet.h: Likewise.
8077 * include/grub/net/ip.h: Likewise.
8078 * include/grub/net/netbuff.h: Likewise.
8079 * include/grub/net/tftp.h: Likewise.
8080 * include/grub/net/udp.h: Likewise.
8081 * include/grub/ieee1275/ofnet.h: Likewise.
8082 * include/grub/emu/export.h: Likewise.
8083 * include/grub/net.h: Likewise.
8084 * grub-core/net/arp.c: Likewise.
8085 * grub-core/net/ethernet.c: Likewise.
8086 * grub-core/net/ip.c: Likewise.
8087 * grub-core/net/udp.c: Likewise.
8088 * grub-core/net/tftp.c: Likewise.
8089 * grub-core/net/netbuff.c: Likewise.
8090 * grub-core/net/net.c: Likewise.
8091 * grub-core/net/drivers/emu/emunet.c: Likewise.
8092 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
8093 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
8094 export.h.
8095 * grub-core/Makefile.core.def (net): New module.
8096 (tftp): Likewise.
8097 (ofnet): Likewise.
8098 (emunet): Likewise.
8099 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
8100 network protocols.
8101 * grub-core/kern/device.c (grub_net_open) : New variable.
8102 (grub_device_open): Handle network device.
8103 (grub_device_close): Likewise.
8104 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
8105 (grub_grubnet_fini): Likewise.
8106 (grub_file_seek): Seek in network device.
8107 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
8108 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
8109 network root.
8110 (grub_machine_fini): Call grub_grubnet_fini.
8111 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
8112 network.
8113 (grub_ieee1275_get_aliasdevname): New function.
8114 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8115 Add unofficial Solaris network info.
8116 (grub_multiboot_make_mbi): Likewise.
8117 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
8118 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
8119 * include/grub/device.h (grub_fs): Removed.
8120 * include/grub/err.h (grub_err_t): Add network-related values.
8121 * include/grub/i386/pc/pxe.h: Removed bootp parts.
8122 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
8123 (grub_ieee1275_get_aliasdevname): New proto.
8124 * include/grub/net.h: Rewritten.
423a1849 8125
031f22a0
VS
81262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
8129 names.
8130
4388ca72
VS
81312011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
8134 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
8135 it truncates the output.
8136 Reported by: Ximin Luo.
8137
98e2f506
VS
81382011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
8141
2a5e94d8
VS
81422011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8145 partmap before abstraction.
8146
535c1910
AK
81472011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
8148
8149 * util/grub-mkconfig_lib.in: Add missing quotes.
8150
bc09e1a2
VS
81512011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
8154 old method if mountinfo would return /dev/root and /dev/root doesn't
8155 exist.
8156
290766fb
VS
81572011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 ZFS zlib support
8160
8161 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
8162 (decomp_table): Add zlib entries.
8163 (zio_read): USe 8 bits for compression function rather than 3.
8164 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
8165
81662011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 * grub-core/disk/ahci.c: Add missing license statements.
8169 * grub-core/fs/romfs.c: Likewise.
8170 * grub-core/lib/ia64/setjmp.S: Likewise.
8171 * grub-core/loader/i386/pc/freedos.c: Likewise.
8172 * grub-core/loader/ia64/efi/linux.c: Likewise.
8173 * grub-core/video/colors.c: Likewise.
8174 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
8175
5ab3f48a
VS
81762011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 AHCI support.
8179
8180 * grub-core/Makefile.core.def (ata_pthru): Removed.
8181 (ahci): New module.
8182 (pata): Likewise.
8183 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
8184 on unload.
8185 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
8186 readwrite.
8187 (grub_hdparm_do_check_powermode_cmd): Likewise.
8188 (grub_hdparm_do_smart_cmd): Likewise.
8189 (grub_hdparm_set_val_cmd): Likewise.
8190 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
8191 * grub-core/disk/ahci.c: New file.
8192 * grub-core/disk/ata.c: Factor out the low-level part into ...
8193 * grub-core/disk/pata.c: ... here.
8194 * grub-core/disk/ata_pthru.c: Contents moved to ...
8195 * grub-core/disk/pata.c: ... here.
8196 * grub-core/disk/scsi.c (grub_scsi_names): New array.
8197 (grub_scsi_iterate): Use grub_scsi_names.
8198 (grub_scsi_open): Likewise.
8199 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
8200 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
8201 (grub_ata_regs_t): New struct.
8202 (grub_disk_ata_pass_through_parms): Likewise.
8203 (grub_ata_device): Renamed to ...
8204 (grub_ata): ... this.
8205 (grub_ata_dev): New struct.
8206 Removed all low-level inline functions.
8207 * include/grub/scsi.h: Add PATA and AHCI subsystems.
8208 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
8209 iterate hooks and open. All users updated.
8210 * util/grub-install.in: Handle AHCI disk module.
8211
c31dc5f5
SJ
82122011-06-23 Szymon Janc <szymon@janc.net.pl>
8213
8214 Add support for DRI and RSTn markers in JPEG files.
8215
8216 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
8217 (JPEG_MARKER_RST0): Likewise.
8218 (JPEG_MARKER_RST1): Likewise.
8219 (JPEG_MARKER_RST2): Likewise.
8220 (JPEG_MARKER_RST3): Likewise.
8221 (JPEG_MARKER_RST4): Likewise.
8222 (JPEG_MARKER_RST5): Likewise.
8223 (JPEG_MARKER_RST6): Likewise.
8224 (JPEG_MARKER_RST7): Likewise.
8225 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
8226 (grub_jpeg_decode_dri): New function.
8227 (grub_jpeg_decode_sos): Move image data related part into
8228 grub_jpeg_decode_data function.
8229 (grub_jpeg_decode_data): New function.
8230 (grub_jpeg_reset): New function.
8231 (grub_jpeg_decode_jpeg): Handle new markers.
8232
fe12fd5b
VS
82332011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * util/ieee1275/ofpath.c (check_sas): Close fd.
8236 (main): Free of_path.
8237 Reported by: David Volgyes <dvolgyes>.
8238
03147f46
VS
82392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
8242 Reported by: David Volgyes <dvolgyes>.
8243
cad3237f
VS
82442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8245
8246 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
8247 file after stat.
8248 Reported by: David Volgyes <dvolgyes>.
8249
13548d26
VS
82502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
8253
8254 Reported by: David Volgyes <dvolgyes>.
8255
e061a1b5
VS
82562011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
8259 Prevent memory leak.
8260
1abe47dc
VS
82612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
8264 (main): Close file.
e061a1b5 8265 Reported by: David Volgyes <dvolgyes>.
1abe47dc 8266
fbc62666
VS
82672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8268
8269 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
8270 to continue if allocation is failed.
8271
8272 Reported by: David Volgyes <dvolgyes>.
8273
e98c83e9
DV
82742011-06-23 David Volgyes <dvolgyes>
8275
8276 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
8277 dereference.
8278
a199a8cd
VS
82792011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 Fix spurious warning.
8282
8283 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
8284 (acorn_partition_map_find): Use .bin member.
8285
e2d1dba0
VS
82862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8287
8288 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
8289 /dev/root as a valid device.
8290
8a5d6919
JM
82912011-06-23 Jim Meyering <meyering@redhat.com>
8292
e2d1dba0
VS
8293 Avoid NULL deref in grub_device_open.
8294
8a5d6919
JM
8295 * grub-core/kern/device.c (grub_device_open): Don't dereference
8296 a NULL pointer upon failed grub_env_get.
8297
f7db6f4a
VS
82982011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 Support non-512B sectors and agglomerate reads.
8301
8302 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
8303 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
8304 (disk_io_guid): Removed.
8305 (make_devices): Locate solely by BlockIO.
8306 (grub_efidisk_open): Fill log_sector_size and total_sectors.
8307 (grub_efidisk_read): Use read_blocks.
8308 (grub_efidisk_write): Use write_blocks.
8309 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
8310 log_sector_size.
8311 (get_safe_sectors): Handle non-512B sectors.
8312 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
8313 sectors.
8314 (grub_biosdisk_write): Handle non-512B sectors.
8315 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
8316 (grub_scsi_read): Remove special non-512B block handling (now handled
8317 one level up).
8318 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
8319 and do sanity checks.
8320 (grub_disk_adjust_range): Handle non-512B sectors.
8321 (transform_sector): New function.
8322 (grub_disk_read_small): Likewise.
8323 (grub_disk_read): Rewritten.
8324 (grub_disk_write): Handle non-512B sectors.
8325 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
8326 log_sector_size.
8327 (open_device): Use log_sector_size.
8328 (grub_util_biosdisk_read): Likewise.
8329 (grub_util_biosdisk_write): Likewise.
8330 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
8331 non-512B sectors.
8332 (pc_partition_map_embed): Likewise.
8333 * include/grub/disk.h (grub_disk): New field log_sector_size.
8334 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
8335 (GRUB_DISK_CACHE_BITS): Increased to 6.
8336 * util/grub-fstest.c (fstest): New command testload.
8337 (argp_parser): Likewise.
8338
881ac815
RM
83392011-06-16 Robert Millan <rmh@gnu.org>
8340
8341 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
8342 `ata' driver on kernel of FreeBSD 9.
8343
8344 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
8345 (get_ataraid_disk_name): New functions.
8346 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
8347 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
8348 get_ataraid_disk_name() and get_ada_disk_name().
8349
1e9aef7d
CW
83502011-06-13 Colin Watson <cjwatson@ubuntu.com>
8351
8352 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
8353 input format.
8354
351c7c8a
CW
83552011-05-29 Colin Watson <cjwatson@ubuntu.com>
8356
8357 * docs/grub.texi (Obtaining and Building GRUB): Substitute
8358 `ftp.gnu.org' for `alpha.gnu.org'.
8359
6b4e6430
CW
83602011-05-27 Colin Watson <cjwatson@ubuntu.com>
8361
8362 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
8363 partitions under /dev/disk/by-id/.
8364
c64db050
CW
83652011-05-27 Colin Watson <cjwatson@ubuntu.com>
8366
8367 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
8368 after ten consecutive open failures. Scanning all the way up to
8369 10000 is excessive and can cause serious performance problems in
8370 some configurations.
8371 Fixes Ubuntu bug #787461.
8372
245f4aba
VS
83732011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
8376 opening new one.
8377
f767c929
VS
83782011-05-21 Colin Watson <cjwatson@ubuntu.com>
83792011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 Don't stat devices unless we have to.
8382
8383 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
8384 dir == /dev/mapper.
8385 (grub_guess_root_device): Use already known os_dev if possible.
8386 * grub-core/kern/emu/hostdisk.c
8387 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
8388 if device is known to be a dm one.
8389
f35fa3a6
CW
83902011-05-20 Colin Watson <cjwatson@ubuntu.com>
8391
8392 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
8393 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
8394 Reported by: Pawel Tecza.
8395
9a79fcf2
VS
83962011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
8399 (lsefisystab): Likewise.
8400 (lssal): Likewise.
8401 (lsefimmap): Likewise.
8402 (hdparm): Enable on qemu-mips.
8403 (setjmp): Add ia64 nodist.
8404 (serial): Simplify tags.
8405
63e3eea9
CW
84062011-05-18 Colin Watson <cjwatson@ubuntu.com>
8407
8408 * Makefile.util.def (grub-ofpathname): Install manual page.
8409
09728256
CW
84102011-05-18 Colin Watson <cjwatson@ubuntu.com>
8411
8412 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
8413
8b63a142
CW
84142011-05-18 Colin Watson <cjwatson@ubuntu.com>
8415
8416 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
8417
e775d8ed
VS
84182011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
8421 into dprintf.
8422
bf947d36
VS
84232011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 Use full 64-bit division.
8426
8427 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
8428 (grub_divmod64): ... this.
8429 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
8430 version.
8431
b84f26c5
CW
84322011-05-18 Colin Watson <cjwatson@ubuntu.com>
8433
8434 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
8435 `source'.
8436
5626056f
CW
84372011-05-18 Colin Watson <cjwatson@ubuntu.com>
8438
8439 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
8440 to avoid accidents when debugging with 'sh -x'.
8441 * grub-core/gensyminfo.sh.in: Likewise.
8442 * tests/example_scripted_test.in: Likewise.
8443 * tests/grub_cmd_regexp.in: Likewise.
8444 * tests/grub_script_blanklines.in: Likewise.
8445 * tests/grub_script_dollar.in: Likewise.
8446 * tests/grub_script_expansion.in: Likewise.
8447 * tests/grub_script_final_semicolon.in: Likewise.
8448 * tests/partmap_test.in: Likewise.
8449 * tests/util/grub-shell-tester.in: Likewise.
8450 * tests/util/grub-shell.in: Likewise.
8451
e2965f4a
CW
84522011-05-18 Colin Watson <cjwatson@ubuntu.com>
8453
8454 Move gfxmenu color handling to video, so that gfxterm can use it
8455 too.
8456
8457 * grub-core/gfxmenu/named_colors.c: Move to ...
8458 * grub-core/video/colors.c: ... here. Rename
8459 grub_gui_get_named_color to grub_video_get_named_color.
8460 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
8461 * grub-core/video/colors.c (my_isxdigit): ... here.
8462 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
8463 Move to ...
8464 * grub-core/video/colors.c (parse_hex_color_component): ... here.
8465 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
8466 to ...
8467 * grub-core/video/colors.c (grub_video_parse_color): ... here.
8468
8469 * include/grub/gui.h (grub_gui_color_t): Move to ...
8470 * include/grub/video.h (grub_video_rgba_color_t): ... here.
8471 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
8472 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
8473 * include/grub/gui.h (grub_gui_map_color): Move to ...
8474 * include/grub/video.h (grub_video_map_rgba_color): ... here.
8475 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
8476 to ...
8477 * include/grub/video.h (grub_video_get_named_color): ... here.
8478 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
8479 * include/grub/video.h (grub_video_parse_color): ... here.
8480
8481 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
8482 video/colors.c.
8483 (gfxmenu): Remove gfxmenu/named_colors.c.
8484 (video) [videomodules]: Add video/colors.c.
8485
8486 Add a background_color command.
8487
8488 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8489 function.
8490 (GRUB_MOD_INIT): Register background_color command.
8491 (GRUB_MOD_FINI): Unregister background_color command.
8492 (redraw_screen_rect): Allow blend/replace of text layer to be
8493 controlled independently from whether there is a background bitmap.
8494 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8495 changing bitmap.
8496
1e4b4390
VS
84972011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8498
26618ff0
VS
8499 Patch BPB in ntldr and chainloader --bpb.
8500
1e4b4390
VS
8501 * grub-core/fs/fat.c: Include grub/fat.h.
8502 (grub_fat_bpb): Moved to ...
8503 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8504 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8505 grub/ntfs.h.
8506 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8507 Moved from here...
8508 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8509 here.
8510 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8511 New function.
8512 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8513 (GRUB_MOD_INIT): Show --bpb.
8514 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8515 * grub-core/normal/main.c (features): New variable.
8516 (GRUB_MOD_INIT): Set feature_* variables.
8517 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8518 proto.
8519 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8520
cf02731e
VS
85212011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8524 for cleanness.
8525
e3a1073f
VS
85262011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 FreeDOS direct loading support.
8529
8530 * docs/grub.texi (Supported OS): Add FreeDOS.
8531 * grub-core/Makefile.core.def (freedos): New module.
8532 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8533 variable.
8534 (grub_relocator16_boot): Handle %ebx.
8535 * grub-core/lib/i386/relocator16.S: Likewise.
8536 * grub-core/loader/i386/pc/freedos.c: New file.
8537
05caa461
VS
85382011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 Long Linux command line support.
8541
8542 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8543 (maximal_cmdline_size): New variable.
8544 (allocate_pages): Use maximal_cmdline_size.
8545 (grub_cmd_linux): Set and use maximal_cmdline_size.
8546 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8547 (allocate_pages): Use maximal_cmdline_size.
8548 (grub_cmd_linux): Set and use maximal_cmdline_size.
8549 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8550 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8551 and cmdline_size.
8552
a2491e23
VS
85532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
85542011-05-18 Colin Watson <cjwatson@ubuntu.com>
8555
8556 Improve devmapper support
8557
8558 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8559 (grub_util_is_lvm): New function.
8560 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8561 than lvm if not dmraid.
8562 Handle mapped md nodes.
8563 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8564 (grub_util_device_is_mapped): ... this. Make always available. All users
8565 updated.
8566 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8567 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8568 dmraid nodes.
8569 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8570
6ad6223e
VS
85712011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8574
8575 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8576 * grub-core/modinfo.sh.in: New file.
8577 * grub-core/Makefile.core.def (modinfo.sh): New script.
8578 * util/grub-mknetdir.in: Use modinfo.sh.
8579 * util/grub-mkrescue.in: Likewise.
8580
543a8f6e
VS
85812011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8584 Fix potential usage of Elf32 instead of Elf64 when compiling on
8585 32-bit architecture. Add endianness macros while on it.
8586
4959e111
VS
85872011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 Use mipsel- rather than mips- in directories involving mipsel ports to
8590 allow both endiannesses coexist.
8591
8592 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8593 mips. All conditions adjusted.
8594 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8595 variable.
8596 * util/grub-install.in: Adjust conditions to take renaming into account.
8597 * util/grub-mkimage.c (image_targets): Likewise. New target
8598 mips-qemu_mips-elf for bigendian mips.
8599
35341bbc
VS
86002011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8601
8602 Avoid unnecessary copying on MIPS.
8603
8604 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8605 early if src == dest.
8606 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8607 compression is none.
8608
b772baed
VS
86092011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8610
8611 Reduce memory footprint on SGI by putting modules before the kernel
8612 as opposed to after.
8613
8614 * grub-core/Makefile.core.def (kernel): Increase linking address.
8615 (none_decompress): Likewise.
8616 (xz_decompress): Likewise.
8617 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8618 address.
8619 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8620 layout change.
8621 (grub_arch_modules_addr): New function.
8622 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8623 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8624 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8625 here.
8626 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8627 (grub_total_modules_size): ... this. Make global.
8628 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8629 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8630 New definition.
8631 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8632 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8633 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8634 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8635 * util/grub-mkimage.c (image_target_desc): New flag
8636 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8637 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8638 (generate_image): Handle images with modules before kernel.
8639
566a1917
VS
86402011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 Prevent potential loss of memory map by overwrite on qemu-mips.
8643
8644 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8645 Save ram size in $s4.
8646 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8647 All users changed to grub_arch_memsize.
8648 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8649 Loongson.
8650 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8651 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8652 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8653 external variable.
8654
5d420cd9
CW
86552011-05-17 Colin Watson <cjwatson@ubuntu.com>
8656
8657 * .bzrignore: Remove grub-dumpbios.
8658
d064b830
CW
86592011-05-17 Colin Watson <cjwatson@ubuntu.com>
8660
8661 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
8662 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
8663 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
8664 existing options which append).
8665 * docs/grub.texi (Simple configuration): Document new options.
8666 Reported by: Ian Jackson. Fixes Debian bug #617538.
8667
3ca2b466
CW
86682011-05-17 Colin Watson <cjwatson@ubuntu.com>
8669
8670 * util/grub-fstest.c (cmd_cat): New function.
8671 (fstest): Handle CMD_CAT.
8672 (options): Add cat.
8673 (argp_parser): Handle cat.
8674
24c9143a
CW
86752011-05-17 Colin Watson <cjwatson@ubuntu.com>
8676
8677 * Makefile.util.def (grub-bin2h): Don't install.
8678 * docs/man/grub-bin2h.h2m: Remove.
8679
90f7ac19
VS
86802011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8681
8682 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
8683 place.
8684
8d4a5178
VS
86852011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 Reenable qemu-mips port.
8688
8689 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
8690 Fix small arc bug while on it.
8691 * gentpl.py: Handle qemu_mips.
8692 * grub-core/Makefile.am: Likewise.
8693 * grub-core/Makefile.core.def: Likewise.
8694 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
8695 inappropriate includes.
8696 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
8697 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
8698 * grub-core/kern/main.c (grub_modules_get_end)
8699 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
8700 * grub-core/kern/mips/qemu-mips: Moved to ..
8701 * grub-core/kern/mips/qemu_mips: ... this.
8702 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
8703 (grub_machine_init): Call terminfo_init and serial_init.
8704 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
8705 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8706 New variable.
8707 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
8708 parameter passing.
8709 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
8710 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
8711 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8712 * include/grub/mips/qemu_mips/cmos.h: New file.
8713 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
8714 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
8715 Removed.
8716 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
8717 Use correct mips-style address.
8718 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
8719 (GRUB_TICKS_PER_SECOND): Removed.
8720 (grub_get_rtc): Likewise.
8721 (grub_cpu_idle): Likewise.
8722 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
8723 New definition.
8724 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
8725 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
8726 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
8727 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
8728 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8729 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8730 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
8731 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
8732
400b9371
VS
87332011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 SGI ARCS port.
8736
8737 * Makefile.util.def (libgrubmods.a): Add dvh.c.
8738 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
8739 platforms.
8740 * configure.ac: New target mips-arc.
8741 * gentpl.py: Likewise.
8742 * grub-core/Makefile.am: Likewise.
8743 * grub-core/Makefile.core.def: Likewise.
8744 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8745 (none_decompress): Likewise.
8746 (lsdev): New module.
8747 (datetime): Use lib/arc/datetime.c on ARC.
8748 (part_dvh): New module.
8749 * grub-core/commands/arc/lsdev.c: New file.
8750 * grub-core/disk/arc/arcdisk.c: Likewise.
8751 * grub-core/kern/mips/arc/init.c: Likewise.
8752 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8753 aligned addresses.
8754 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8755 support.
8756 (grub_arch_dl_relocate_symbols): Likewise.
8757 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8758 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8759 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8760 platforms.
8761 * grub-core/lib/arc/datetime.c: New file.
8762 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8763 pci.h on non-loongson.
8764 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8765 (grub_linux_boot): Set unused registers to 0.
8766 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
8767 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
8768 * grub-core/mmap/mips/uppermem.c: ...here.
8769 * grub-core/partmap/dvh.c: New file.
8770 * grub-core/term/arc/console.c: Likewise.
8771 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
8772 (grub_terminfo_set_current): Add terminal "arc".
8773 (grub_terminfo_readkey): Support ARC sequences.
8774 * include/grub/arc/arc.h: New file.
8775 * include/grub/arc/console.h: Likewise.
8776 * include/grub/disk.h (grub_disk_dev_id): Add
8777 GRUB_DISK_DEVICE_ARCDISK_ID.
8778 * include/grub/mips/arc/kernel.h: New file.
8779 * include/grub/mips/arc/memory.h: Likewise.
8780 * include/grub/mips/arc/time.h: Likewise.
8781 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
8782 * include/grub/mips/kernel.h (grub_halt): ... here.
8783 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
8784 here...
8785 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
8786 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
8787 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
8788 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
8789 proto.
8790 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
8791 from here ...
8792 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
8793 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
8794 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
8795 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
8796 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
8797 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
8798 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
8799 (grub_phys_addr_t): Moved from here ...
8800 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
8801 (grub_vtop): Moved from here ...
8802 * include/grub/mips/memory.h (grub_vtop): ... here.
8803 (grub_map_memory): Moved from here ...
8804 * include/grub/mips/memory.h (grub_map_memory): ... here.
8805 (grub_unmap_memory): Moved from here ...
8806 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
8807 (grub_machine_mmap_iterate): Moved from here ...
8808 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
8809 (grub_mmap_get_lower): Moved from here ...
8810 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
8811 (grub_mmap_get_upper): Moved from here ...
8812 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
8813 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8814 here ...
8815 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8816 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
8817 here ...
8818 * include/grub/mips/time.h (grub_get_rtc): ... here.
8819 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8820 here ...
8821 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8822 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
8823 here ...
8824 * include/grub/mips/time.h (grub_cpu_idle): ... here.
8825 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
8826 definition.
8827 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
8828 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
8829 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
8830 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
8831 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8832 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8833 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
8834 (GRUB_MACHINE_LINK_ADDR): Likewise.
8835 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
8836 to 6.
8837 * util/grub-install.in: Run dvhtool on ARC.
8838 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 8839 (generate_image): Handle ECOFF output for mips-arc.
400b9371 8840
c8ecc840
VS
88412011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
8844 blocks.
8845
153a4b55
VS
88462011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
8849 after enabling port.
8850
ff44d107
VS
88512011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 Skip incorrect USB devices.
8854
8855 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
8856 configcnt == 0.
8857 * include/grub/usb.h (grub_usb_err_t): New enum value
8858 GRUB_USB_ERR_BADDEVICE.
8859
638dbe4f
VS
88602011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 Fuloong video init support.
8863
8864 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
8865 well.
8866 (grub_vga_read_arx): New function.
8867 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
8868 definition.
8869 (framebuffer): New members io, mmioptr and mmiobase.
8870 (read_sis_cmd): New function.
8871 (write_sis_cmd): Likewise.
8872 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
8873 rather than 640x400.
8874 * grub-core/video/sis315_init.c: New file.
8875
c3fc520c
VS
88762011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
8879 non-loongson.
8880 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
8881 to grub_dl_register_symbol.
8882
67b1e5c9
VS
88832011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 Fix compilation errors.
8886
8887 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
8888 potentially unused.
8889 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
8890 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
8891 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
8892 to loongson machines.
8893
b756f75f
VS
88942011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 Several FS mtime support.
8897
8898 * grub-core/fs/affs.c (grub_affs_time): New struct.
8899 (grub_affs_file): New field mtime.
8900 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
8901 type. Removed 'size'. New field 'di'. All users updated.
8902 (grub_affs_mount): Simplify checsum checking.
8903 (grub_affs_iterate_dir): New helper grub_affs_create_node.
8904 (grub_affs_dir): Handle mtime.
8905 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
8906 (grub_cpio_dir): Likewise.
8907 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
8908 (grub_hfs_filerec): New field mtime.
8909 (grub_hfs_dir): Handle mtime.
8910 (grub_hfs_mtime): New function.
8911 (grub_hfs_fs): Register grub_hfs_mtime.
8912 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
8913 (grub_iso9660_dir): New field mtime.
8914 (grub_fshelp_node): New field dirent.
8915 (iso9660_to_unixtime): New function.
8916 (iso9660_to_unixtime2): Likewise.
8917 (grub_iso9660_read_symlink): Use node->dirent.
8918 (grub_iso9660_iterate_dir): Likewise.
8919 (grub_iso9660_dir): Set mtime.
8920 (grub_iso9660_mtime): New function.
8921 (grub_iso9660_fs): Register grub_iso9660_mtime.
8922 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
8923 (grub_jfs_inode): New fields atime, ctime and mtime.
8924 (grub_jfs_dir): Set mtime.
8925 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8926 * grub-core/fs/ntfs.c (list_file): Set mtime.
8927 (grub_ntfs_dir): Likewise.
8928 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
8929 (grub_reiserfs_iterate_dir): Set mtime.
8930 (grub_reiserfs_dir): Likewise.
8931 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
8932 (grub_fshelp_node): Likewise.
8933 (grub_sfs_iterate_dir): Set mtime.
8934 (grub_sfs_dir): Likewise.
8935 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
8936 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
8937 (grub_xfs_inode): New fields atime, mtime, ctime.
8938 (grub_xfs_dir): Set mtime.
8939 * include/grub/datetime.h (grub_datetime2unixtime): New function.
8940 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
8941 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
8942
8943 Support UDF symlinks.
8944
8945 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
8946 (grub_ufs_read_symlink): New function. All users updated.
8947
8948 Check amiga partmap checksum.
8949
8950 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
8951 (grub_amiga_partition): Likewise.
8952 (amiga_partition_map_checksum): New function.
8953 (amiga_partition_map_iterate): Check checksum.
8954
5470225d
VS
89552011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 ROMFS support.
8958
8959 * Makefile.util.def (libgrubmods.a): Add romfs.
8960 * grub-core/Makefile.core.def (romfs): New module.
8961 * grub-core/fs/romfs.c: New file.
8962
d4680a35
VS
89632011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8964
8965 Squashfs v4 support.
8966
8967 * Makefile.util.def (libgrubmods.a): Add squash4.
8968 * grub-core/Makefile.core.def (squash4): New module.
8969 * grub-core/fs/squash4.c: New file.
8970 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
8971 disk_input_start, disk_input.
8972 (get_byte): Handle disk_input.
8973 (grub_zlib_disk_read): New function.
8974 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
8975
bcb18e74
FZ
89762011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
89772011-05-15 Feiran Zheng <famcool@gmail.com>
8978
8979 * Makefile.util.def (libgrubmods.a): Add minix3.
8980 * grub-core/Makefile.core.def (minix3): New module.
8981 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
8982 (GRUB_MINIX_BSIZE): Removed.
8983 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
8984 (grub_minix_ino_t): New type.
8985 (grub_minix_le_to_cpu_ino): New macro.
8986 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
8987 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
8988 (grub_minix_data): New field block_size.
8989 (grub_minix_read_file): Handle 64-bit correctly.
8990 * grub-core/fs/minix3.c: New file.
8991
32297d5f
TG
89922011-05-15 Tristan Gingold <gingold@free.fr>
89932011-05-15 Robert Millan <rmh.grub@aybabtu.com>
89942011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 IA64 support.
8997
8998 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
8999 * configure.ac: Add ia64-efi target.
9000 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
9001 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
9002 * gentpl.py: Add ia64_efi platform.
9003 Rename x86_efi to efi and Add ia64-efi. All users updated.
9004 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
9005 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
9006 Remove kern/generic/rtc_get_time_ms.c on EFI.
9007 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
9008 kern/ia64/dl_helper.c on ia64-efi.
9009 Add kern/emu/cache.c on emu.
9010 (linux): Use on loader/ia64/efi/linux.c on ia64.
9011 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
9012 whether symbol is a function.
9013 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
9014 (grub_symbol): New field 'isfunc'.
9015 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
9016 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
9017 (grub_dl_load_segments): Place all sections into the same region.
9018 [__ia64__]: Create trampolines and got.
9019 [GRUB_MACHINE_EMU]: Call mprotect.
9020 (grub_dl_resolve_symbols): Resolve symbol type as well.
9021 [__ia64__]: Create function descriptors.
9022 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
9023 (grub_rtc_get_time_ms): ... this. Expressions simplified.
9024 (grub_get_rtc): New function.
9025 * grub-core/kern/emu/cache.c [__ia64__]: New file.
9026 * grub-core/kern/emu/cache.S: Renamed to ...
9027 * grub-core/kern/emu/cache_s.S: ... this.
9028 [__ia64__]: Add a nop.
9029 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
9030 [__ia64__]: New function.
9031 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
9032 * grub-core/kern/ia64/dl.c: New file.
9033 * grub-core/kern/ia64/dl_helper.c: Likewise.
9034 * grub-core/kern/ia64/efi/init.c: New file.
9035 * grub-core/kern/ia64/efi/startup.S: Likewise.
9036 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
9037 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
9038 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
9039 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
9040 * grub-core/loader/ia64/efi/linux.c: New file.
9041 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
9042 (GRUB_MOD_DEP): Likewise.
9043 (grub_dl) [__ia64__]: New fields got and tramp.
9044 (grub_dl): New field 'base'.
9045 (grub_dl_register_symbol): New argument isfunc. All users updated.
9046 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
9047 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
9048 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
9049 (grub_ia64_dl_get_tramp_got_size): New proto.
9050 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
9051 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
9052 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
9053 * include/grub/efi/api.h: Skip call wrappers on ia64.
9054 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
9055 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
9056 * include/grub/elf.h (ELF_ST_INFO): New definition.
9057 * include/grub/ia64/efi/kernel.h: New file.
9058 * include/grub/ia64/efi/memory.h: Likewise.
9059 * include/grub/ia64/efi/time.h: Likewise.
9060 * include/grub/ia64/kernel.h: Likewise.
9061 * include/grub/ia64/setjmp.h: Likewise (from glibc).
9062 * include/grub/ia64/time.h: New file.
9063 * include/grub/ia64/types.h: Likewise.
9064 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
9065 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
9066 New protos.
9067 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
9068 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9069 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
9070 * util/grub-mkimage.c (image_target_desc): New field pe_target.
9071 All users updated.
9072 (EFI64_HEADER_SIZE): New definition. All users updated.
9073 (image_targets): Add ia64-efi.
9074 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
9075 jumpers_addr. All users updated.
9076 Create function descriptors.
9077 (count_funcs): New function.
9078 (unaligned_uint32): New struct.
9079 (MASK20): New definition.
9080 (MASK19): Likewise.
9081 (MASKF21): Likewise.
9082 (add_value_to_slot_20b): New function.
9083 (add_value_to_slot_21_real): Likewise.
9084 (add_value_to_slot_21): Likewise.
9085 (ia64_kernel_trampoline): New struct.
9086 (nopm): New variable.
9087 (jump): Likewise.
9088 (make_trampoline): New function.
9089 (relocate_addresses): Handle ia64.
9090 (make_reloc_section): Likewise.
9091 (load_image): Likewise.
9092
983b414d
VS
90932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
9096 warning. Move variables before code while on it.
9097
5d063cdc
VS
90982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 Fuloong support.
9101
9102 * configure.ac: Rename yeeloong platform to loongson. All users updated.
9103 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
9104 * grub-core/boot/mips/loongson/fuloong.S: New file.
9105 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
9106 Explicitly init CS5536.
9107 [FULOONG]: Don't use serial until CS5536 is available.
9108 Set GPIO based on dumps.
9109 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
9110 [FULOONG]: Handle GPIO and memory controller differences.
9111 Parse machine type in $a2.
9112 * grub-core/boot/mips/startup_raw.S: Determine and save the
9113 architecture.
9114 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
9115 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
9116 init on architecture type.
9117 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9118 SIS315E. Don't init at_keyboard on fuloong.
9119 (grub_halt): Support Fuloong.
9120 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
9121 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
9122 (loongson_machtypes): New array.
9123 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
9124 type.
9125 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
9126 config. All users updated. Handle CS5536 serial.
9127 * grub-core/term/serial.c (grub_serial_register): Conditionalise
9128 default port on machine type. Register serial as inactive.
9129 * grub-core/video/sis315pro.c: New file.
9130 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
9131 definition.
9132 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
9133 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
9134 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
9135 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
9136 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
9137 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
9138 to ...
9139 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
9140 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
9141 definition.
9142 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
9143 (grub_arch_machine): New extern var.
9144 * include/grub/mips/loongson/serial.h
9145 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
9146 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
9147 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
9148 (GRUB_MACHINE_SERIAL_PORT0): ... this.
9149 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
9150 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
9151 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
9152 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
9153 * include/grub/term.h (grub_term_register_input_inactive): New inline
9154 function.
9155 (grub_term_register_output_inactive): Likewise.
9156 * include/grub/video.h (grub_video_driver_id): New value
9157 GRUB_VIDEO_DRIVER_SIS315PRO.
9158 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
9159 New field "names". All users updated.
9160 New field value IMAGE_FULOONG_FLASH.
9161 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
9162
6ada82d1
JU
91632011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
9164
9165 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
9166 and add some clarification.
9167
90c571a4
VS
91682011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
9171 platforms if kernel is compressed.
9172
de04eecf
VS
91732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
9176 unused modules since currently referrence counter isn't reliable and
9177 there isn't much memory to recover there anyway.
9178
57688121
VS
91792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9180
9181 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
9182 rather than resetting it to allow modules to reference themselves
9183 in init.
9184
3d2c7e35
VS
91852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
9188 counter on dependencies since grub_dl_unref already handles this.
9189
b25db218
VS
91902011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
9193 on error if not already done.
9194
25a45338
VS
91952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 Fix few potential memory misusage.
9198
9199 * grub-core/font/font.c (load_font_index): Don't free char_index to
9200 avoid double free.
b25db218
VS
9201 (grub_font_load): Zero-fill font at alloc for safety.
9202 Close file on error.
9203 (free_font): Free bmp_idx.
25a45338 9204
0cac83df
VS
92052011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * docs/grub.texi (Installation): Fix several outdated claims.
9208
2217a143
VS
92092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 Handle module_license on windows.
9212
9213 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
9214 sections shifted.
9215 (insert_string): Make argument const char * instead of char *.
9216 (write_section_data): Handle long section names.
9217 Handle module_license.
9218
d4de6b01
VS
92192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
9222 handle class-free menuentries.
9223 (grub_normal_add_menu_entry): Add a check to be sure.
9224
4c2a3b43
VS
92252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9226
9227 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
9228 PgUp and PgDown.
9229
85c6210f
VS
92302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * configure.ac: Bump version to 1.99.
9233
36084912
VS
92342011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9235
9236 Give ATA device a bit more time on first try in order to allow disks
9237 to spin up.
9238
9239 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
9240 if dev->present is 1. Reset dev->present on failure.
9241 (grub_ata_device_initialize): Set dev->present to 1.
9242 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
9243 (grub_ata_device): New member 'present'.
9244
bda0e219
VS
92452011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 * util/grub-mkimage.c (generate_image): Update hash.
9248
19e1c41b
VS
92492011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 Flush caches on DMA memory.
9252
9253 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
9254 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
9255 (grub_dma_free): Likewise.
9256 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
9257
91bbcc0c
VS
92582011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
9261 to avoid asm treating ld and sd as macros.
9262
60ddfad3
VS
92632011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
9266 decompressor.
9267
a298aa04
VS
92682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
9271 grub_decompress_core since later would fail if grub_decompress_core
9272 is too far.
9273
9b44feca
VS
92742011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
9277 R_MIPS_JALR since it's used by newer compiler.
9278
56dbe7b4
VS
92792011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
9282
52856af2
VS
92832011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
9286 file_path to 0 for surety.
9287 (grub_chainloader_boot): Set exit_data to NULL.
9288 Unset the loader once done.
9289 (grub_cmd_chainloader): Fix confusing error message if file is empty.
9290
9c9bfc6d
VS
92912011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
9294 unknown key into a dprintf.
9295
dd94a3df
VS
92962011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
9299 on first non-existant partition.
9300
fa68d99c
VS
93012011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
9304 openning fails.
9305 Reported by: Mark Korenberg.
9306
157effb7
VS
93072011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
9310 overflow.
9311
ea75312f
VS
93122011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9313
9314 * util/grub-mkimage.c (main): Explicitely flush and sync the output
9315 before closing to ensure that it will be readable by grub-setup.
9316
072b5d31
VS
93172011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
9320 (devpath_1): Use MAKE_PIWG_PATH.
9321 (devpath_2): Likewise.
9322 (devpath_3): Likewise.
9323 (devpath_4): Likewise.
9324 (devpath_5): Likewise.
9325 (devpath_6): Likewise.
9326
9327 The appleldr.mod was checked that to be binary identical to previous
9328 version.
9329
7fae0051
Z
93302011-05-05 Zach <mikezackles>
9331
9332 Support 2010 Macbooks.
9333
9334 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
9335 (devs): Add devpath_6.
9336
7c515bee
VS
93372011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9338
9339 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
9340 /dev/random. /dev/urandom is good enough for our purposes (salting).
9341
ed660bd8
VS
93422011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
9345
ee5614b7
VS
93462011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9347
9348 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
9349 hexadecimal.
9350
664889a6
VS
93512011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
9354 and not 0 on failure.
9355
bd405bbc
CW
93562011-05-03 Colin Watson <cjwatson@ubuntu.com>
9357
9358 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
9359 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
9360 disk; otherwise grub_fs_probe will not fall back to the next
9361 filesystem.
9362 (grub_pxefs_open): Likewise, for consistency.
9363 Reported and tested by: Ezekiel Grave.
9364
4ebff753
CW
93652011-05-03 Colin Watson <cjwatson@ubuntu.com>
9366
9367 * tests/partmap_test.in: Don't hardcode path to parted.
9368 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
9369
8f942553
CW
93702011-05-01 Colin Watson <cjwatson@ubuntu.com>
9371
9372 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
9373 of `ls' to find out which devices are available.
9374
3c62402d
VS
93752011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
9378 than source address for efi mmap buffer.
9379
723f63f2
VS
93802011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
9383 wrong action on non-detecting the magic.
9384
68797f92
VS
93852011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
9388 already supplied by another part of the module (fixes compilation on
9389 FreeBSD).
9390
6be8715d
VS
93912011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
9394 match the one used by mdadm.
9395
e91dba5b
CW
93962011-04-21 Colin Watson <cjwatson@ubuntu.com>
9397
9398 * po/README: Add instructions for creating po/LINGUAS.
9399
c85140b3
CW
94002011-04-21 Colin Watson <cjwatson@ubuntu.com>
9401
9402 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
9403 #551428.
9404
9405 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
9406 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
9407 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
9408 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
9409 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
9410 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
9411 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
9412 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
9413 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
9414 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
9415 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
9416 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
9417 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
9418 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
9419 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
9420 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
9421 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
9422 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
9423 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
9424 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
9425 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
9426 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
9427
92051871
CW
94282011-04-21 Colin Watson <cjwatson@ubuntu.com>
9429
9430 * grub-core/kern/emu/getroot.c
9431 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
9432 test that was incorrectly reintroduced in r3214.
9433 Reported by: Ian Dall. Fixes Savannah bug #33133.
9434
b13f79a4
CW
94352011-04-21 Colin Watson <cjwatson@ubuntu.com>
9436
9437 Fix stack pointer handling in 16-bit relocator.
9438
9439 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
9440 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
9441 Fixes Ubuntu bug #683904.
9442
9b710a88
VS
94432011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9444
9445 * configure.ac: Bump version to 1.99~rc2.
9446
d97e7b59
VS
94472011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9448
9449 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
9450 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
9451 * grub-core/lib/x86_64/setjmp.S: Likewise.
9452 * grub-core/lib/mips/setjmp.S: Likewise.
9453 * grub-core/lib/powerpc/setjmp.S: Likewise.
9454 * grub-core/lib/sparc64/setjmp.S: Likewise.
9455
0624551c
VS
94562011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
9459 * grub-core/lib/efi/datetime.c: Likewise.
9460
e8f28d4c
VS
94612011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9462
9463 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
9464 New function.
9465 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
9466 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
9467 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
9468
bba79a15
VS
94692011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
9472 bitmap.
9473 (grub_gfxterm_term_init): Likewise.
9474
abc474ef
VS
94752011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9476
9477 Take into account the decorations the computing menu entry width.
9478
9479 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
9480 (grub_gfxmenu_create_box): Register get_border_width.
9481 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
9482 if available.
9483 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
9484 get_border_width.
9485
e74b3947
EP
94862011-04-18 Endres Puschner <code@e7p.de>
9487
9488 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9489 Don't skip first class.
9490
34faa595
VS
94912011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9494 chunks.
9495 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9496
93a777e3
VS
94972011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 Complete 64-bit division support.
9500
9501 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9502 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9503 * include/grub/misc.h (grub_divmod64): Rename to ...
9504 (grub_divmod64_full): ... this.
9505 (grub_divmod64): New inline function.
9506
a5102d94
VS
95072011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9510
f3fb7b36
VS
95112011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9514 performing the necessary test.
9515
9ac718b0
VS
95162011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9519 (kfreebsd.elf): Likewise.
9520 (pc-chainloader.elf): Likewise.
9521 (ntldr.elf): Likewise.
9522
50d2cc5a
VS
95232011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 Identify RAID by its UUID rather than (guessed) name.
9526
9527 * grub-core/disk/raid.c (ascii2hex): New function.
9528 (grub_raid_open): Accept mduuid/%s specification.
9529 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9530 (get_mdadm_uuid): ... this.
9531 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9532
e03f7bea
VS
95332011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9536 to negative size.
9537
e74c3112
CW
95382011-04-13 Colin Watson <cjwatson@ubuntu.com>
9539
9540 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9541 btrfs subvolume.
9542 * util/grub.d/20_linux_xen.in: Likewise.
9543
78fa584f
CW
95442011-04-13 Colin Watson <cjwatson@ubuntu.com>
9545
9546 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9547 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9548
9549 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9550 Build a list of relevant visible mounts using the mnt_id and
9551 parent_mnt_id fields, and then scan that list at the end.
9552
9d5f8162
CW
95532011-04-12 Colin Watson <cjwatson@ubuntu.com>
9554
9555 * docs/grub.texi (normal): New section.
9556 (normal_exit): New section.
9557 (Embedded configuration): Add reference to normal.
9558 (GRUB only offers a rescue shell): Likewise.
9559 * docs/grub-dev.texi (Error Handling): Fix typo.
9560
09a9d66f
CW
95612011-04-12 Colin Watson <cjwatson@ubuntu.com>
9562
9563 * NEWS: Drop obsolete entry about probe-only btrfs support.
9564
0c676933
CW
95652011-04-12 Colin Watson <cjwatson@ubuntu.com>
9566
9567 * util/import_gcry.py: Fix typo.
9568
ec9f5e0d
VS
95692011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * NEWS: Add btrfs support.
9572
fe6b2cba
VS
95732011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
95742011-04-11 Colin Watson <cjwatson@ubuntu.com>
9575
9576 BtrFS support. Written by me (Vladimir) with important bugfixes and
9577 even more important testing by Colin.
9578
9579 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9580 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9581 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9582 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9583 mem_input_off and mem_input. All users updated to accept in-RAM input.
9584 (gzio_seek): New function.
9585 (test_zlib_header): Likewise.
9586 (grub_gzio_read): Likewise.
9587 (grub_zlib_decompress): Likewise.
9588 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9589 Accept partial and non-virtual mounts.
9590 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9591 avoid receiving /dev/dm-X as device.
9592 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9593 Handle bind and partial mounts.
9594 * grub-core/lib/crc.c: New file.
9595 * include/grub/deflate.h: Likewise.
9596 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9597 proto.
9598 * include/grub/lib/crc.h: New file.
9599
e745cf0c
VS
96002011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 Implement automatic module license checking according to new GNU
9603 guidelines.
9604
9605 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9606 (grub_dl_load_core): Use grub_dl_check_license.
9607 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9608 (GRUB_MOD_LICENSE): Likewise.
9609 (GRUB_MOD_DUAL_LICENSE): Likewise.
9610 All modules updated.
9611
2a9bc016
CW
96122011-04-11 Colin Watson <cjwatson@ubuntu.com>
9613
9614 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9615 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9616 loaders.
9617 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9618
8a3bc88e
VS
96192011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9622
af869a4a
VS
96232011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9626 failed.
9627
9ee8d94f
VS
96282011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9631 parenthesis in the middle of the filename.
9632
b01abe3e
VS
96332011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9636 rather than trying to put initrd way too high.
9637 Reported by: Ryan Lortie <desrt@desrt.ca>
9638
335bda1e
VS
96392011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9642 improperly removed string.
9643
5ca1a64d
VS
96442011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9647 is_disk.
9648 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9649 (open_device) Likewise.
9650 (grub_util_biosdisk_close): Likewise.
d8ce9995 9651 Reported by: Mark Korenberg.
5ca1a64d 9652
cbac5b1e
AK
96532011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9654
9655 * util/grub-mkconfig_lib.in: Add missing quotes.
9656
088cdb65
CW
96572011-04-10 Colin Watson <cjwatson@ubuntu.com>
9658
9659 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
9660 is NULL.
9661
8b8a81fa
VS
96622011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 Dynamically count the number of lines for the lower banner.
9665
9666 * grub-core/normal/menu_entry.c (per_term_screen): New member
9667 num_entries.
9668 (print_down): Use num_entries.
9669 (update_screen): Likewise.
9670 (grub_menu_entry_run): Set num_entries.
9671 * grub-core/normal/menu_text.c (menu_viewer_data): New member
9672 num_entries.
9673 (grub_print_message_indented): Move real part to ...
9674 (grub_print_message_indented_real): ... here. Additional argument
9675 dry_run.
9676 (draw_border): Additional argument num_entries.
9677 (print_message): Additional argument dry_run.
9678 (print_entries): Receive menu viewer data.
9679 (grub_menu_init_page): New argment num_entries.
9680 (menu_text_set_chosen_entry): Use num_entries.
9681 (grub_menu_try_text): Likewise.
9682 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
9683 All users updated.
9684 (grub_ucs4_count_lines): New function.
9685 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
9686 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
9687 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
9688 (grub_term_border_height): Likewise.
9689 (grub_term_num_entries): Likewise.
9690
277f955b
VS
96912011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
9694 Remove now unused string.
9695
536ce85a
CW
96962011-04-09 Colin Watson <cjwatson@ubuntu.com>
9697
9698 * docs/grub-dev.texi (Finding your way around): Update for 1.99
9699 build system.
9700 (Getting started): GRUB is developed in Bazaar now, not Subversion.
9701
9702 (Comment): Fix typo.
9703 (Getting started): General copy-editing.
9704 (Typical Development Experience): Likewise.
9705 (Error Handling): Likewise.
9706 (Video API): Likewise.
9707
2cf09e32
CW
97082011-04-09 Colin Watson <cjwatson@ubuntu.com>
9709
9710 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
9711 throughout.
9712
1ec652f4
VS
97132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 * util/grub-mkimage.c (main): Handle special naming of yeeloong
9716 directory.
9717
2c583728
CW
97182011-04-08 Colin Watson <cjwatson@ubuntu.com>
9719
9720 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
9721 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
9722 "development".
9723
d7a565e9
VS
97242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9725
9726 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
9727 grub_strcpy since the lines aren't necessarily 0-terminated.
9728
7c2e4909
VS
97292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
9732 root on legacy.
9733
34c09785
VS
97342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * grub-core/commands/probe.c (options): Argument to set isn't optional.
9737 (GRUB_MOD_INIT): DEVICE isn't optional.
9738
6a6f8058
VS
97392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9742 word on new line if it's too long anyway. Fixes a hang.
9743
2e335e90
VS
97442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9747 const.
9748 * util/grub-setup.c (main): Reuse md device name if available.
9749 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9750 not GRUB name as argument.
9751 Based on patch by: Florian Wagner <fwagner>.
9752
10a7a867
VS
97532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9754
9755 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9756 Place mbi on low memory for better compatibility.
9757
7a3d6cd9
VS
97582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9761
18dd6b47
VS
97622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
97632011-04-08 Colin Watson <cjwatson@ubuntu.com>
9764
9765 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 9766 * conf/Makefile.common: Likewise.
18dd6b47 9767
3c0e3f14
VS
97682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9769
f7148863
VS
9770 * grub-core/normal/menu.c: Add missing include.
9771
97722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 9775
6d1fa41f
MZ
97762011-04-08 Martin Zuther <mzuther@mzuther.de>
9777
9778 * util/grub-mkconfig.in: Ignore emacsen backup.
9779
478182a8
VS
97802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
9783 on open.
9784 (grub_util_biosdisk_close): Likewise.
9785
72a89a54
VS
97862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9787
9788 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
9789 const attribute and use grub_isdigit.
9790
b5ebecfa
A
97912011-04-06 Andrey <dev_null@ukr.net>
9792
9793 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
9794 gcc warning.
9795
7755f66e
VS
97962011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
9799 useful grub_dprintf's.
9800
461121ff
VS
98012011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9804
2a961775
VS
98052011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
9808
adf594cc
VS
98092011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 Output errors if theme loading failed.
9812
9813 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
9814 grub_gfxterm_fullscreen on error paths to ...
9815 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
9816 theme loading error.
9817
665900a3
VS
98182011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9819
9820 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
9821 space for older compilers.
9822 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9823
a562b479
VS
98242011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
9827 and report them as not RAID members since they are useless for GRUB.
9828 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9829
850e9373
VS
98302011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 Increase LVM implementation robustness in order not to crash on
9833 configurations like pvmove. Previously code assumed that in some places
9834 only lvs or only pvs are used whereas it seems that they are used
9835 interchangeably.
9836
9837 * grub-core/disk/lvm.c (read_node): New function.
9838 (read_lv): Use read_node.
9839 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
9840 Match volumes only at the end when all lvs are found. Take both
9841 pvs (first) and lvs (second) into account.
9842 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
9843 mirror_* into node_*. All users updated.
9844 (grub_lvm_stripe): Merge this ...
9845 (grub_lvm_mirror): ... and this ...
9846 (grub_lvm_node): ... into this. All users updated.
9847
6f332153
VS
98482011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
9851 of function to allow further scanning for LVMs.
9852
829ea451
VS
98532011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
9856 on failed seek as it breaks open fd reusage.
9857
09ceb9a5
VS
98582011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 * util/grub-install.in: Add a recommendation to use --recheck before
9861 reporting bugs.
9862
67e11623
VS
98632011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9864
9865 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
9866 are obtained.
9867
caee5efd
VS
98682011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 GRUB developper manual based on existing Internals section and
9871 contributions by the various authors with active copyright assignment.
9872
9873 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
9874 * docs/font_char_metrics.png: New file.
9875 * docs/font_char_metrics.txt: Likewise.
9876 * docs/grub-dev.texi: Likewise.
9877 * docs/grub.texi (Internals): Move from here ...
9878 * docs/grub-dev.texi: ... here.
9879
2cccc747
CW
98802011-04-01 Colin Watson <cjwatson@ubuntu.com>
9881
9882 Store the loopback device as data on loopback grub_disk structures,
9883 rather than the file it points to. This fixes use of freed memory
9884 if an existing loopback device is replaced.
9885
9886 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
9887 disk->data, not dev->file.
9888 (grub_loopback_read): Adjust file assignment to match.
9889 Fixes Ubuntu bug #742967.
9890
186ae367
CW
98912011-04-01 Colin Watson <cjwatson@ubuntu.com>
9892
9893 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
9894 when replacing an existing device.
9895
cfed2ad0
VS
98962011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
9899 memory corruptions.
9900
9901 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
9902 unsigned.
9903 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
9904 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
9905 (grub_jfs_read_inode): Likewise.
9906 (grub_jfs_opendir): Likewise. Remove now useless casts.
9907 (grub_jfs_getent): Likewise.
9908 Make ino a grub_uint32_t rather than int.
9909 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
9910 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
9911 division and module with bit operations.
9912 (grub_jfs_find_file): Make ino a grub_uint32_t.
9913 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
9914
05d2ed32
CW
99152011-04-01 Colin Watson <cjwatson@ubuntu.com>
9916
9917 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
9918 warning. (This was in fact always initialised before use, but GCC
9919 wasn't smart enough to prove that.)
9920 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9921
91dc6073
VS
99222011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
9925 stack alignment.
9926 (efi_wrap_1): Likewise.
9927 (efi_wrap_2): Likewise.
9928 (efi_wrap_3): Likewise.
9929 (efi_wrap_4): Likewise.
9930 (efi_wrap_5): Likewise.
9931 (efi_wrap_6): Likewise.
9932 (efi_wrap_10): Likewise.
9933 Based on information by: Red Hat/Peter Jones.
9934
a8afc1d1
CW
99352011-03-31 Colin Watson <cjwatson@ubuntu.com>
9936
9937 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
9938 set-but-not-used variable.
9939
a826cc7d
CW
99402011-03-31 Colin Watson <cjwatson@ubuntu.com>
9941
9942 * docs/grub.texi (Simple configuration): Be more explicit about
9943 GRUB_DEFAULT, and add an example.
9944 Reported by: Leslie Rhorer.
9945
875b67ba
CW
99462011-03-30 Colin Watson <cjwatson@ubuntu.com>
9947
9948 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
9949 shell".
9950
fd7cd914
AS
99512011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9952
9953 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
9954 * util/grub.d/20_linux_xen.in: Likewise.
9955
090b1b6a
VS
99562011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * util/grub.d/10_linux.in: Try alternative config filenames where
9959 we parse config file.
9960 * util/grub.d/20_linux_xen.in: Likewise.
9961
baad885c
AS
99622011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9963
9964 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
9965 * util/grub.d/20_linux_xen.in: Likewise.
9966
241e41f5
VS
99672011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * grub-core/disk/raid.c (insert_array): Add few potentially
9970 useful grub_util_info.
9971 (grub_raid_register): Likewise.
9972
56445fb2
VS
99732011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
9976 Preserve partition number in mdadm code path.
9977
c871b1c6
VS
99782011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
9981 few potentially useful grub_util_info.
9982
5e631b4f
CW
99832011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
9986
2d5d0333
CW
99872011-03-30 Colin Watson <cjwatson@ubuntu.com>
9988
9989 * docs/grub.texi (default): Use @example rather than nested
9990 itemized lists to avoid breaking gendocs.
9991
3d7ed04e
CW
99922011-03-30 Colin Watson <cjwatson@ubuntu.com>
9993
9994 * docs/grub.texi (Future): Update.
9995
abf04200 99962011-03-30 Colin Watson <cjwatson@ubuntu.com>
9997
9998 * docs/grub.texi (Environment): New chapter.
9999 (Changes from GRUB Legacy): Link to "Environment block" section for
10000 details of limitations.
10001 (Simple configuration): Likewise. Link to documentation of gfxmode
10002 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
10003 respectively.
10004 (Shell-like scripting): Note that normal variables are stored in the
10005 environment.
10006 (gettext): Link to documentation of lang and locale_dir.
10007 (list_env): New section.
10008 (load_env): New section.
10009 (save_env): New section.
10010
10011 (Reporting bugs): Fix typo.
10012
e1ad0edd
VS
100132011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
10016 the example.
10017
5d803174
VS
100182011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * grub-core/term/at_keyboard.c (set_scancodes)
10021 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
10022
2a2da1d0
CW
100232011-03-30 Colin Watson <cjwatson@ubuntu.com>
10024
10025 * docs/grub.texi (Menu-specific commands): Remove some semantics
10026 that were true in GRUB Legacy but not in GRUB 2.
10027 (submenu): New section.
10028 (false): New section.
10029 (read): New section.
10030 (true): New section.
10031
a7527639
CW
100322011-03-30 Colin Watson <cjwatson@ubuntu.com>
10033
10034 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
10035
100362011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
10037
10038 * docs/grub.texi (Simple configuration): Explain some of the
10039 current limitations of grub-mkconfig.
8a748df2 10040 Reported by: Leslie Rhorer.
e30af029 10041
fc858482
VS
100422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 Old macs search for boot.efi rather than for bootia32.efi.
10045
10046 * util/grub-install.in: Copy bootia32.efi to boot.efi.
10047 * util/grub-mkrescue.in: Likewise.
10048 Suggested by: Peter Jones.
10049
e1eb511d
VS
100502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
10053
70e75364
VS
100542011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
10057 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
10058 (grub_lvm_mirror): New struct.
10059 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
10060 (grub_lvm_iterate): Iterate only visible volumes.
10061 (grub_lvm_read): Factor out to ..
10062 (read_lv): ... this. Support mirrors.
10063 (grub_lvm_read): New wrapper function.
10064 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
10065 stripped or mirrored.
10066
fc18f6a3
VS
100672011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
10070
5c650f4c
CW
100712011-03-29 Colin Watson <cjwatson@ubuntu.com>
10072
10073 * docs/grub.texi (loopback): New section.
10074
61d7156b
CW
100752011-03-29 Colin Watson <cjwatson@ubuntu.com>
10076
10077 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
10078 removed -p option.
10079
994b8264
CW
100802011-03-29 Colin Watson <cjwatson@ubuntu.com>
10081
10082 * docs/grub.texi (BIOS installation): New section, partly based on
10083 previous text in other sections.
10084 (Installing GRUB using grub-install): Replace BIOS discussion with a
10085 cross-reference.
10086 (Images): Likewise.
10087
9e4d19e0
VS
100882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * grub-core/kern/emu/hostdisk.c (find_partition_start)
10091 [HAVE_DIOCGDINFO]: Add safety checks.
10092
a307c0b2
VS
100932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
10096 per default compiled in kernel and prior to 8.0 isn't shipped at all.
10097
b4db4f39
CW
100982011-03-29 Colin Watson <cjwatson@ubuntu.com>
10099
10100 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
10101 real_sb->size is zero (e.g. RAID-0), get the disk size from
10102 real_sb->data_size instead.
10103 Fixes Ubuntu bug #743136.
10104
35e5f84c
VS
101052011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
10108 printf clauses for printing size and start.
10109
d2e29d81
VS
101102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
10113 Reported and tested by: Timothy Nikkel.
10114
ed5587af
VS
101152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
10118 (dirty_region_add_real): ... this.
10119 (dirty_region_add): Don't discard margin refresh when performing
10120 scheduled repaint.
10121
a1dc717c
VS
101222011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * grub-core/lib/relocator.c (allocate_regstart)
10125 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
10126 terminals are capabple of malloc-free operation.
10127 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10128 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10129
9f3677d3
VS
101302011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
10131
10132 * util/grub-setup.c: Copy the partition table zone if floppy support
10133 is disabled, even if no partition table is found.
10134
10135 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
10136 during POST if an invalid partition table is contained in the PBR
10137 of the active partition when GRUB is installed to a partition.
10138
24148725
CW
101392011-03-28 Colin Watson <cjwatson@debian.org>
10140
10141 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
10142 comment.
10143
f329eda7
CW
101442011-03-28 Colin Watson <cjwatson@debian.org>
10145
10146 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
10147 to be specific about what kind of RAID device we're scanning for.
10148
c482ad98
SG
101492011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
10150
10151 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
10152 return freed string.
10153
5ee04984
VS
101542011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
10157
f4727da9
VS
101582011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 Use libgeom on FreeBSD to detect partitions.
10161
10162 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
10163 (grub-mkrelpath): Likewise.
10164 (grub-script-check): Likewise.
10165 (grub-editenv): Likewise.
10166 (grub-mkpasswd-pbkdf2): Likewise.
10167 (grub-fstest): Likewise.
10168 (grub-mkfont): Likewise.
10169 (grub-mkdevicemap): Likewise.
10170 (grub-probe): Likewise.
10171 (grub-setup): Likewise.
10172 (grub-ofpathname): Likewise.
10173 (grub-mklayout): Likewise.
10174 (example_unit_test): Likewise.
10175 (grub-menulst2cfg): Likewise.
10176 * grub-core/Makefile.core.def (grub-emu): Likewise.
10177 (grub-emu-lite): Likewise.
10178 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
10179 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
10180 define HAVE_DIOCGDINFO.
10181 (follow_geom_up) [FreeBSD]: New function.
10182 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
10183 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
10184 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
10185 unconditionally of HAVE_DIOCGDINFO.
10186
82fe6c75
VS
101872011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 Fix FreeBSD compilation problem.
10190
10191 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
10192 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
10193
4c6c9431
CW
101942011-03-24 Colin Watson <cjwatson@ubuntu.com>
10195
10196 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
10197 Switch back to page zero before loading a kernel, since some kernel
10198 drivers expect that.
10199 Thanks to: Felix Kuehling.
10200
c7064d94
VS
102012011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
10204 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
10205 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
10206
3f71cded
VS
102072011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
10210 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
10211
ef6de21a
VS
102122011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
10215 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
10216 malloc is disabled.
10217
8bc66a2c
VS
102182011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
10221 for modules headers when counting the needed allocation size.
10222
5657722c
VS
102232011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
10226 if no ASCII character is found to prevent crash.
10227
41a85f55
AK
102282011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
10229
10230 * grub-core/video/bitmap.c (match_extension): Ignore case.
10231
59e1e5f1
VS
102322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
10235
bd4d051a
VS
102362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * grub-core/script/parser.y: Declare "time" as valid argument.
10239
bae7fcc1
PJ
102402011-03-23 Peter Jones <pjones@redhat.com>
10241
10242 Fix incorrect assert failure reporting.
10243
10244 * grub-core/tests/example_functional_test.c (example_test): Add
10245 a failure comment.
10246 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
10247 (failure_start): ...this. Check that malloc succeeded.
10248 Don't call xvasprintf. Return failure struct.
10249 (failure_append_vtext): New function.
10250 (failure_append_text): Likewise.
10251 (add_failure): Likewise.
10252 (grub_test_assert_helper): Likewise.
10253 * include/grub/test.h (grub_test_assert_helper): New declaration.
10254 (grub_test_assert): Macro rewritten.
10255
537dc9be
VS
102562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10257
10258 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
10259
fa3e01bf
VS
102602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
10263
b1d28404
VS
102642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
10267 into GRUB-style one.
10268
2e3e2e09
VS
102692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10270
10271 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
10272 error and not grub_errno.
10273 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
10274
ed57e557
VS
102752011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
10278 GRUB_USB_SPEED_NONE in case of failure and not the error code.
10279
d1611f01
VS
102802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 * grub-core/efiemu/i386/pc/cfgtables.c
10283 (grub_machine_efiemu_init_tables): Make declaration a prototype.
10284 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
10285 (grub_xnu_unlock): Likewise.
10286 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
10287
7d4e39d6
VS
102882011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
10291 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
10292 * grub-core/commands/hashsum.c (aliases): Likewise.
10293 * grub-core/commands/setpci.c (pci_registers): Likewise.
10294 * grub-core/disk/usbms.c (attach_hook): Likewise.
10295 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
10296 (zio_checksum_table): Likewise.
10297 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
10298 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
10299 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
10300 * grub-core/lib/relocator.c (leftovers): Likewise.
10301 (extra_blocks): Likewise.
10302 * grub-core/loader/i386/bsd.c (relocator): Likewise.
10303 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
10304 (modules_last): Likewise.
10305 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
10306 (devices): Likewise.
10307 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
10308 (modules_last): Likewise.
10309 * grub-core/normal/auth.c (users): Likewise.
10310 * grub-core/normal/context.c (initial_menu): Likewise.
10311 (current_menu): Likewise.
10312 * grub-core/normal/crypto.c (crypto_specs): Likewise.
10313 * grub-core/term/serial.c (grub_serial_ports): Likewise.
10314 (grub_serial_terminfo_input_template): Likewise.
10315 (grub_serial_terminfo_output_template): Likewise.
10316 (grub_serial_terminfo_input): Likewise.
10317 (grub_serial_terminfo_output): Likewise.
10318 (registered): Likewise.
10319 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
10320
40fc4659
VS
103212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10322
10323 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
10324 grub_video_mode_type_t.
10325 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
10326 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
10327 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
10328
2da48d28
VS
103292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * util/grub-install.in: Correct the x86-64 name as x86_64.
10332
9b43bf39
CW
103332011-03-11 Colin Watson <cjwatson@ubuntu.com>
10334
10335 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
10336 initial chunk read from the kernel always includes GRUB's multiboot
10337 header, which is now outside the first sector.
10338
be1a7ce0
CW
103392011-03-09 Colin Watson <cjwatson@ubuntu.com>
10340
10341 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
10342 cached mmap_size, so that this works correctly when called multiple
10343 times.
10344 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
10345
83a3c48d
CW
103462011-03-09 Colin Watson <cjwatson@ubuntu.com>
10347
10348 * docs/grub.texi (Simple configuration): Tidy up formatting.
10349
57d75699
SJ
103502011-03-07 Szymon Janc <szymon@janc.net.pl>
10351
10352 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
10353 Set-but-not-used variable removed.
10354
028501a0
VS
103552011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 Workaround yet another IEEE1275 bug.
10358
10359 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10360 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
10361 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
10362 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
10363 is set.
10364 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10365 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
10366
d998657d
VS
103672011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10368
10369 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
10370 error.
10371
fee7cdd4
CW
103722011-02-11 Colin Watson <cjwatson@ubuntu.com>
10373
10374 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
10375 empty, since in that case we can only generate either nothing or a
10376 syntactically invalid configuration file.
10377 Reported by: Michal Suchanek. Fixes Debian bug #612898.
10378
97286eb5
CW
103792011-02-09 Colin Watson <cjwatson@ubuntu.com>
10380
10381 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
10382 (Making a GRUB bootable CD-ROM): Likewise.
10383 (Invoking grub-mkrescue): New section.
10384 Reported by: Yann Dirson. Fixes Debian bug #612585.
10385
22b28eb3
CW
103862011-02-09 Colin Watson <cjwatson@ubuntu.com>
10387
10388 * util/grub-install.in: Remove unnecessary brackets from tr
10389 arguments.
10390 * util/grub.d/10_hurd.in: Likewise.
10391 * util/grub.d/10_kfreebsd.in: Likewise.
10392 * util/grub.d/10_linux.in: Likewise.
10393 * util/grub.d/20_linux_xen.in: Likewise.
10394 Reported by: Jamie Heilman. Fixes Debian bug #612564.
10395
7e735e43
CW
103962011-02-08 Colin Watson <cjwatson@ubuntu.com>
10397
10398 * include/grub/file.h (not_easly_seekable): Rename to ...
10399 (not_easily_seekable): ... this. Update all users.
10400
800f1881
CW
104012011-01-28 Colin Watson <cjwatson@ubuntu.com>
10402
10403 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
10404 grub-mkrescue.
10405
3281d3d6
VS
104062011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * util/grub-mkimage.c (generate_image): Refuse to create the images
10409 bigger than the actual flash (512K) in Loongson machines. 512K is also
10410 the biggest chip supported by them.
10411
3533413c
VS
104122011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
10415
73ae4f4f
VS
104162011-01-22 Anthony DeRobertis <anthony@derobert.net>
10417
10418 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
10419 super_offset field.
10420
37f4f608
VS
104212011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * util/grub-install.in: Ignore install device on platforms
10424 where it doesn't make sense. Always use UUIDs except on pc, efi and
10425 sparc64.
10426 Reported by: Daniel Kahn Gillmor.
10427
03a4ccb5
VS
104282011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
10431
ffc8f4d8
VS
104322011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
10435 (iterate_real): Don't rely on partition being non-NULL.
10436
80f23be7
VS
104372011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
10440 supported platforms. Put a compile time assert for this rather than
10441 generate a warning with 32-bit shift.
10442
5d4f4dd5
VS
104432011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10444
10445 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
10446 logical expression more readable.
10447
e489601a
VS
104482011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10449
10450 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
10451 even if some elements have a name.
10452 Reported by: Alexander GQ Gerasiov.
10453
96e0a6ea
CW
104542011-01-22 Colin Watson <cjwatson@ubuntu.com>
10455
10456 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
10457 path unreadable if `grub-probe -t abstraction' fails, for example if
10458 memberlist fails on an LVM volume group.
10459 Reported by: Darius Jahandarie.
10460
81431e2b
CW
104612011-01-22 Colin Watson <cjwatson@ubuntu.com>
10462
10463 * docs/grub.texi (Simple configuration): Document
10464 GRUB_PRELOAD_MODULES.
10465
5e79d66a
CW
104662011-01-17 Colin Watson <cjwatson@ubuntu.com>
10467
10468 * .bzrignore: Remove nonexistent grub-pbkdf2.
10469
646ada34
VS
104702011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * configure.ac: Bump version to 1.99~rc1.
10473
04360337
VS
104742011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
10477 for safety.
10478
46c9db88
VS
104792011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
10482 module.
10483
104842011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
10485
10486 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10487
4fbf1852
VS
104882011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10491 diskdevid.
10492
f1632d4d
VS
104932011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 Fix compilation on cygwin.
10496
10497 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10498 -R .drectve on cygwin.
10499 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10500 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10501 (COND_CYGWIN): New condition.
10502 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10503 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10504 not @TARGET_OBJ2ELF@.
10505 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10506 type to determine whether aux is to be used.
10507
0b5e127b
VS
105082011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10511 realpath'ed device string.
10512 Handle floppy (somewhat).
10513 Issue error in unknown case rather than garbage.
10514 Reported by: Axel Beckert.
10515
173b71e9
VS
105162011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 * util/grub.d/00_header.in (load_video): Handle the case when no video
10519 drivers available.
10520 Thanks to: Axel Beckert.
10521
f8f479db
VS
105222011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10525 variable. Fixes problem on big endian platforms.
10526
8fc0a245
VS
105272011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10530 It doesn't work well there.
10531
b8494fbe
VS
105322011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10535 warning.
10536 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10537 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10538 counter.
10539
b44a558c
VS
105402011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 Use alias->path rather than buggy "canon".
10543
10544 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10545 (ofdisk_hash_add): New argument curcan. All users updated.
10546
51fa856c
CW
105472011-01-11 Colin Watson <cjwatson@ubuntu.com>
10548
10549 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10550
9da068a5
VS
105512011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10554 loadmask before doing any calculations. Use correct type for offset.
10555 (grub_linux_load64): Likewise.
10556
86205c94
CW
105572011-01-11 Colin Watson <cjwatson@ubuntu.com>
10558
10559 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10560 with NULL.
10561 (console_grub_equivalences_unshift): Likewise.
10562 Reported by: Daniel Dehennin.
10563
4531a206
VS
105642011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10565
10566 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10567 (set_env_limn_ro): Likewise.
10568 (GRUB_MOD_INIT): Likewise.
10569 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10570 ARRAY_SIZE while on it.
10571 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10572 * grub-core/normal/context.c (grub_env_export): Move from here ...
10573 * grub-core/kern/env.c (grub_env_export): ... here.
10574 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10575 prefix.
10576 * grub-core/kern/main.c (grub_main): Export root and prefix.
10577 * include/grub/env.h (grub_env_export): Export.
10578 Reported by: Seth Goldberg.
10579
45146057
VS
105802011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10581
10582 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10583 Take into account space used by ELF sections and multiboot palette.
10584 Reported by: Grégoire Sutre.
10585
f093110b
VS
105862011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 * BUGS: New file.
10589
3395fe52
VS
105902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 Pass more appropriate video id to Linux.
10593
10594 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10595 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10596 fill have_vga.
10597 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10598 shift params->lfb_size.
10599 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10600
c2fa6cbb
VS
106012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10602
10603 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10604
b3ff6ff0
VS
106052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10606
10607 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10608 separator and pass bootpath/devid even if only one of them is available.
10609 Reported by: Seth Goldberg.
10610
ae67942e
VS
106112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10614 implementations bug on them.
10615
10616 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10617 memory.
10618 (filter_memory_map): Likewise.
10619
d570097a
VS
106202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10621
10622 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10623 Reported by: nebuchadnezzar.
10624
a508e776
VS
106252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10628 Reported by: nebuchadnezzar.
10629
dcb883b1
VS
106302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 Submenu default support.
10633
10634 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10635 auto_boot. All users updated.
10636 Declared static.
10637 Handle chosen and default with submenus.
10638 (grub_menu_execute_with_fallback): Declared static.
10639 Don't notify failure if autobooted. Upper level does it.
10640 (menuentry_eq): New function.
10641 (get_entry_number): Use menuentry_eq.
10642 (show_menu): New parameter "autobooted". All users updated.
10643 (grub_show_menu): Likewise.
10644 * include/grub/normal.h (grub_show_menu): Likewise.
10645 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10646 (grub_menu_execute_with_fallback): Likewise.
10647
6fef99b4
VS
106482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 * util/grub-mklayout.c (usage): Update help text.
10651
47a77af5
VS
106522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10653
10654 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10655
ce6bb3ee
VS
106562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10657
10658 * util/grub-menulst2cfg.c (main): Trim the line.
10659
db87be2a
VS
106602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10661
10662 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
10663 (grub_machine_init): Don't check amount of low memory as reportedly
10664 INT 12h can be broken and if low memory is too low we wouldn't have
10665 gotten into grub_machine_init anyway.
10666
c49849cc
VS
106672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
10670 (grub_machine_mmap_iterate): Take low memory into account
10671
b1969b30
VS
106722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
10675 badfs.
10676 Reported by: TiCPU.
10677
cf0eaf13
VS
106782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10679
10680 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10681 members errors.
10682
1f060f39
GS
106832011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10684
10685 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
10686 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
10687
a21e5672
GS
106882011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10689
10690 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
10691 openbsd and netbsd types being in part_bsd module.
10692
c88172fa
VS
106932011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10694
10695 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
10696 (_FILE_OFFSET_BITS): Likewise.
10697 Reported by: Seth Goldberg.
10698
53798c4b
GS
106992011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10700
10701 * configure.ac: Check for libdevmapper header.
10702
e7121b69
VS
107032011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
10706 avoid aliasing.
10707 (fzap_lookup): Likewise.
10708 (dnode_get): Likewise.
10709 (make_mdn): Likewise.
10710 (zfs_mount): Likewise.
10711 (fzap_iterate): Use temporary pointer to avoid aliasing.
10712 (grub_zfs_read): Likewise.
10713 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
10714 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
10715 pointers to avoid aliasing.
10716 (grub_cmd_xnu_kernel64): Likewise.
10717 (grub_xnu_load_driver): Likewise.
10718
fc836af9
VS
107192011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
10722 aliasing warning.
10723 (grub_cmd_terminal_output): Likewise.
10724 Reported and tested by: Grégoire Sutre.
10725
f9f37648
VS
107262011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
10729 warning.
10730 Reported and tested by: Grégoire Sutre.
10731
ec1dfd63
VS
107322011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * configure.ac: Do CPU substitution even if it's specified explicitly.
10735 Reported and tested by: Alain Greppin.
10736
9462775a
VS
107372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10740 Reported and tested by: Alain Greppin.
10741
0fd48e35
VS
107422011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 Satisfy some bison versions need for inttypes.h.
10745
10746 * grub-core/lib/posix_wrap/inttypes.h: New file.
10747 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10748 (int16_t): Likewise.
10749 (int32_t): Likewise.
10750 (int64_t): Likewise.
10751 Reported and tested by: Alain Greppin.
10752
43f1bc83
VS
107532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10756 Silence spurious warning.
10757 Reported and tested by: Alain Greppin.
10758
64d1f041
SJ
107592011-01-07 Szymon Janc <szymon@janc.net.pl>
10760
10761 * docs/grub.texi (Support automatic decompression): Update with xz
10762 decompression support.
10763
25953e10
SJ
107642011-01-07 Szymon Janc <szymon@janc.net.pl>
10765
10766 Improve loaders' kernel command line handling.
10767
10768 * grub-core/lib/cmdline.c: New file.
10769 * include/grub/lib/cmdline.h: Likewise.
10770 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
10771 grub_create_loader_cmdline to create kernel command line.
10772 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10773 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
10774 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
10775 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
10776 (linux): Add lib/cmdline.c on common.
10777
e72d259f
VS
107782011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
10781 inopos might be unaligned.
10782
c0cf26da
VS
107832011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10786 endian transformations.
10787 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10788 Based on report by: Doug Nazar.
10789
0ca09e6c
DN
107902011-01-07 Doug Nazar <nazard.michi@gmail.com>
10791
10792 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
10793 array->members[i].start_sector.
10794 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
10795
014b6806
VS
107962011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
10799 Reported and tested by: Grégoire Sutre.
10800
415502c2
CW
108012011-01-06 Colin Watson <cjwatson@ubuntu.com>
10802
10803 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
10804 avoid causing test failures by clearing the screen.
10805
71b6a2b7
CW
108062011-01-06 Colin Watson <cjwatson@ubuntu.com>
10807
10808 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10809 Fix prefix check to handle the case where dir ends with a slash
10810 (most significantly, "/" itself).
10811 Reported by: Michael Vogt.
10812
b3f8d28a
VS
108132011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 Run terminfo_cls on initing terminfo output to clear the screen and
10816 move the cursor to (0,0).
10817
10818 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
10819 Call grub_terminfo_output_init.
10820 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
10821 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
10822 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
10823
4c3e4f37
VS
108242011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
10827 only when needed.
10828
488f71f1
VS
108292011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
10832 CTRL.
10833
18a38098
VS
108342011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 The E820 type 5 is BADRAM, not EXEC_CODE.
10837
10838 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10839 (GRUB_E820_BADRAM): New define.
10840 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
10841 into reserved. Propagate BADRAM.
10842 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10843 (GRUB_E820_BADRAM): New define.
10844
9eae2084
VS
108452011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10846
10847 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
10848 Ignore the memory post-4G.
10849 (grub_relocator_firmware_alloc_region): Additional debug statement.
10850
ebc71d28
VS
108512011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
10854 names.
10855 Reported by: David Pravec.
10856
446fa400
VS
108572011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
10860 BIOSes.
10861
a0159f37
VS
108622011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
10865 Prevent overflow.
10866 (grub_reed_solomon_recover): Likewise.
10867
e5146ca1
VS
108682011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
10871
108722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
10873
10874 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
10875 variable.
10876
5b1bdf12
CW
108772011-01-04 Colin Watson <cjwatson@ubuntu.com>
10878
10879 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
10880 descriptions of extract_legacy_entries_source and
10881 extract_legacy_entries_configfile.
10882 Reported by: Seung Soo, Ha.
10883
99d925aa
CW
108842011-01-03 Colin Watson <cjwatson@ubuntu.com>
10885
10886 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
10887 on devices that do not implement function 0.
10888
4af0504b
DV
108892011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
10890
10891 * grub-core/fs/hfsplus.c: Make parent unsigned.
10892 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
10893 overflows.
10894 (grub_hfsplus_cmp_extkey): Likewise
10895
469ee10a
VS
108962011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10897
10898 * util/grub-install.in: Correctly use bootloader_id and not
10899 GRUB_DISTRIBUTOR on efibootmgr line.
10900
323a8e9c
VS
109012011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
10904
1b394975
IC
109052010-12-31 Ian Campbell <ijc@hellion.org.uk>
10906
10907 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
10908 Xen and reorder menu item wording to make it clearer that this entry
10909 will launch Xen. Print separate messages when loading Xen and
10910 Linux.
10911
275bff5f
VS
109122010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
10915 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
10916 loop in case of incorrect amiga partmap.
10917
307806cb
VS
109182010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10919
10920 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
10921 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
10922 Reported by:EHeM.
10923
b12b923e
VS
109242010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
10927 spurious warning.
10928 Reported by: crocket
10929
14b48a19
VS
109302010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
10933 Preload EFIemu.
10934 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
10935
693db2df
VS
109362010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10937
10938 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
10939 is loaded
10940 (grub_cmd_xnu_kextdir): Likewise.
10941 (grub_cmd_xnu_splash): Likewise.
10942
c7638645
VS
109432010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 Avoid using Reed-Solomon with 0 redundancy.
10946
10947 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
10948 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
10949 or 0 redundancy.
10950 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
10951 (grub_reed_solomon_recover): Likewise.
10952
25dd4780
VS
109532010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 Don't use disk subsystem in freebsd_boot.
10956
10957 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
10958 (freebsd_biosdev): Likewise.
10959 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
10960 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
10961
0b2db943
VS
109622010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 Handling of files of unknown size is currently limited. They can't be
10965 used e.g. for initrd or modules. Moreover gzip handling of not
10966 easily seekable files is buggy. Disable unknown file size for now. May
10967 be inefficient but works.
10968
10969 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
10970 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
10971
5c408d0f
MP
109722010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
10973
10974 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
10975 floppy probe.
10976
190a011a
JD
109772010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
10978
10979 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
10980
022d01b8
SL
109812010-12-25 Shea Levy <shlevy>
10982
10983 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
10984
c4855fdc
VS
109852010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
10988 Windows Server 2008.
10989 Reported by: Devin Giddings.
10990
0354b867
VS
109912010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
10994 writing an error message because of async power management.
10995 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
10996 (grub_reboot): Likewise.
10997
ab66c69f
JU
109982010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
10999
11000 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
11001 keep unit tests from failing when they shouldn't.
11002
1426ef35
CW
110032010-12-21 Colin Watson <cjwatson@ubuntu.com>
11004
11005 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
11006 previous patch increased the size of the RS code by 20 bytes (at
11007 least with gcc-4.4), so increase this by 20 bytes to match.
11008 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11009
20641b6b
CW
110102010-12-21 Colin Watson <cjwatson@ubuntu.com>
11011
11012 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
11013 scratch area. Make sure to initialise chosen in standalone mode as
11014 well as non-standalone.
11015 Reported by: Robert Hooker and Andy Whitcroft.
11016 Tested by: Andy Whitcroft.
11017
d060ad60
CW
110182010-12-21 Colin Watson <cjwatson@ubuntu.com>
11019
11020 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
11021 constructing a new unescaped string and passing it to grub_xputs in
11022 one go, rather than passing characters to grub_printf one at a time.
11023
b889cfad
CW
110242010-12-21 Colin Watson <cjwatson@ubuntu.com>
11025
11026 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
11027 initialising utf16.
11028
4e01b6c8
CW
110292010-12-21 Colin Watson <cjwatson@ubuntu.com>
11030
11031 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
11032 comment. Add an extra layer of quotation, requiring the output of
11033 this function to be used in a printf format string.
11034 (gettext_printf): New function.
11035 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
11036 Extract translatable strings from here-documents and use a temporary
11037 variable instead, so that xgettext can find them.
11038 * util/grub.d/10_kfreebsd.in: Likewise.
11039 * util/grub.d/10_linux.in: Likewise.
11040 * util/grub.d/20_linux_xen.in: Likewise.
11041
11042 * po/grub.d.sed: New file.
11043 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
11044 arguments. Set c-format flags on all strings extracted from
11045 util/grub.d/ (xgettext refuses to include these itself for strings
11046 it extracted from a shell file, but these really are c-format).
11047
5318fe98
VS
110482010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
11051 Avoid next pointing to nowhere.
11052
6c85b743
VS
110532010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
11056 rather than assuming than rootblock is exactly in the middle.
11057 (grub_affs_label): Likewise.
11058
a2a08a35
VS
110592010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11060
11061 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
11062 reserved_first_sector to 0.
11063 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
11064 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
11065 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
11066
7059d1ec
VS
110672010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11068
11069 Fix handling of UTF-16 UDF labels.
11070
11071 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
11072 (read_string): .. here.
11073 (grub_udf_label): Use read_string.
11074
30aff4cb
BC
110752010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
11076
11077 * grub-core/normal/menu_entry.c (run): Execute commands from menu
11078 editor under argument scope.
11079 Reported by: Jordan Uggla
11080
5cf86f4b
VS
110812010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
11084
32570200
CW
110852010-12-18 Colin Watson <cjwatson@ubuntu.com>
11086
11087 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
11088 line, and other keys scroll an entire page (previous handling was
11089 for \r and \n to scroll a page and other keys to scroll two lines).
11090
e1dffcf2
VS
110912010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11092
11093 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11094 Set ptrdest to correct get_physical_target_address rather than
11095 incorrect get_virtual_current_address.
11096
b04298cf 110972010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
11098
11099 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
11100 correct cat to grub_uint8_t * rather than grub_uint32_t *.
11101
5367ecd3
CW
111022010-12-10 Colin Watson <cjwatson@ubuntu.com>
11103
11104 * .bzrignore: Ignore grub-core/rs_decoder.S.
11105
1fb430f8
CW
111062010-12-10 Colin Watson <cjwatson@ubuntu.com>
11107
11108 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
11109 .mo/.mo.gz opening sequence to ...
11110 (grub_mofile_open_lang): ... here.
11111 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
11112 * util/grub.d/00_header.in (grub_lang): Include country part of
11113 locale.
11114 Reported by: Mario Limonciello.
11115
a94a6671
RM
111162010-12-09 Robert Millan <rmh@gnu.org>
11117
11118 * NEWS: Document addition of ZFS support.
11119
24b7938b
CW
111202010-12-04 Colin Watson <cjwatson@ubuntu.com>
11121
11122 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
11123 rather than `/ 2', as the latter requires -Wa,--divide which would
11124 require bumping our minimum binutils version.
11125
bddc3ef6
BC
111262010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
11127
11128 * util/grub-script-check.c (main): Print script line number on
11129 error.
11130
bf78d5b2
RM
111312010-12-01 Robert Millan <rmh@gnu.org>
11132
11133 * grub-core/fs/zfs/zfs.c: New file.
11134 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
11135 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
11136 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
11137 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11138
11139 * include/grub/zfs/dmu.h: Likewise.
11140 * include/grub/zfs/dmu_objset.h: Likewise.
11141 * include/grub/zfs/dnode.h: Likewise.
11142 * include/grub/zfs/dsl_dataset.h: Likewise.
11143 * include/grub/zfs/dsl_dir.h: Likewise.
11144 * include/grub/zfs/sa_impl.h: Likewise.
11145 * include/grub/zfs/spa.h: Likewise.
11146 * include/grub/zfs/uberblock_impl.h: Likewise.
11147 * include/grub/zfs/vdev_impl.h: Likewise.
11148 * include/grub/zfs/zap_impl.h: Likewise.
11149 * include/grub/zfs/zap_leaf.h: Likewise.
11150 * include/grub/zfs/zfs.h: Likewise.
11151 * include/grub/zfs/zfs_acl.h: Likewise.
11152 * include/grub/zfs/zfs_znode.h: Likewise.
11153 * include/grub/zfs/zil.h: Likewise.
11154 * include/grub/zfs/zio.h: Likewise.
11155 * include/grub/zfs/zio_checksum.h: Likewise.
11156
11157 * Makefile.util.def: Build ZFS into libgrubmods.
11158 * grub-core/Makefile.core.def: Build zfs.mod.
11159
3f0f3831
SJ
111602010-11-30 Szymon Janc <szymon@janc.net.pl>
11161
11162 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
11163 variable.
11164 * grub-core/commands/wildcard.c (match_files): Likewise.
11165
3a4253b2
RM
111662010-11-30 Robert Millan <rmh@gnu.org>
11167
11168 * grub-core/loader/i386/bsd.c
11169 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
11170 whether kernel is loaded using grub_loader_is_loaded(), rather
11171 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
11172 certain error conditions.
11173
8c317b27
RM
111742010-11-30 Robert Millan <rmh@gnu.org>
11175
c5c9cd3e
RM
11176 * grub-core/commands/echo.c: Include `<grub/term.h>'.
11177 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 11178
49d3ab46
VS
111792010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 Avoid using tricks for initialising endian variables.
11182
11183 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
11184 Make const.
11185 (GRUB_MOD_INIT): Don't byte-swap.
11186 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11187 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
11188 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
11189 (grub_swap_bytes32_compile_time): Likewise.
11190 (grub_cpu_to_le32_compile_time): Likewise.
11191 (grub_cpu_to_le16_compile_time): Likewise.
11192
f420a804
VS
111932010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 * util/grub-setup.c (setup): Stop recommending --force. People who
11196 understand the dangers of blocklists are able to find this option
11197 anyway and the ones who don't shouldn't use it anyway.
11198
4e7db17b
RM
111992010-11-26 Robert Millan <rmh@gnu.org>
11200
11201 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
11202 Update all users.
11203
9be57a0d
CW
112042010-11-26 Colin Watson <cjwatson@ubuntu.com>
11205
11206 Fix LVM-on-RAID probing.
11207
11208 * util/grub-probe.c (probe): Remember which disk was detected as
11209 RAID (perhaps an LVM physical volume). Use that disk's raidname
11210 rather than that of the top-level disk.
11211
2c7859b3 112122010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 11213
d7647bb6
BC
11214 Fix cmdline argument quotes for setparams command of menuentry
11215 definitions.
7e623b0d
BC
11216
11217 * grub-core/commands/menuentry.c (setparams_prefix): Use single
11218 quotes for arguments.
f866fe80 11219 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 11220 grub_strchrsub function instead.
f866fe80 11221
7955bea0 11222 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 11223
74f72a64
CW
112242010-11-24 Colin Watson <cjwatson@ubuntu.com>
11225
11226 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
11227 effort by skipping "." and ".." entries up-front.
11228 Suggested by: Michael Lazarev.
11229
5a407278
CW
112302010-11-24 Colin Watson <cjwatson@ubuntu.com>
11231
11232 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
11233 ldflags to ldadd, to fix link line ordering.
11234 (none_decompress): Likewise.
11235
3030d8ec
CW
112362010-11-24 Colin Watson <cjwatson@ubuntu.com>
11237
11238 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
11239 platforms.
11240 (grub-emu-lite): Remove kern/emu/cache.S.
11241
b7fbac12
CW
112422010-11-23 Colin Watson <cjwatson@ubuntu.com>
11243
11244 * util/deviceiter.c (compare_devices): If the by-id link for a
11245 device couldn't be resolved, fall back to sorting by the by-id link
11246 rather than segfaulting.
11247 Reported and tested by: Daniel Mierswa.
11248
5225f328
CW
112492010-11-23 Colin Watson <cjwatson@ubuntu.com>
11250
11251 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
11252 ldflags, to fix link line ordering.
11253
038b3ce8
CW
112542010-11-23 Colin Watson <cjwatson@ubuntu.com>
11255
11256 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
11257 linkers are picky about this.
11258
bf16e98e
CW
112592010-11-23 Colin Watson <cjwatson@ubuntu.com>
11260
11261 * grub-core/Makefile.am (command.lst): Adjust sed expression
11262 ordering so that extended and priority commands aren't treated as
11263 ordinary commands.
11264
7242bab6
CW
112652010-11-23 Colin Watson <cjwatson@ubuntu.com>
11266
11267 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11268 Remove byte-swapping function calls, which are not valid in
11269 structure initialisers.
11270 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
11271 non-const.
11272 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
11273 grub_gpt_partition_type_bios_boot.
11274
14e8b279
CW
112752010-11-22 Colin Watson <cjwatson@ubuntu.com>
11276
11277 Fix test program build on GNU/kFreeBSD.
11278
11279 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
11280 $(LIBNVPAIR)' library dependencies.
11281
e6f63338 112822010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
11283
11284 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
11285
cf8ffc38
CW
112862010-11-22 Colin Watson <cjwatson@ubuntu.com>
11287
11288 * util/grub-install.in: Remove excessive quoting that broke
11289 installations to RAID devices.
11290
7f8b0fd7
VS
112912010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
11294 bootloader version instead of 0.
11295
dfd240b1
VS
112962010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
11299 warning.
11300
7b61e609
VS
113012010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
11304 retrieve the metadat sector if size isn't known.
11305 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11306
9dfe92d0
RM
113072010-11-18 Robert Millan <rmh@gnu.org>
11308
11309 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
11310 with grub_memcmp().
11311
41cc919e
VS
113122010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
11315 arrow.
11316 Reported by: Jordan Uggla.
11317
1afcc914
VS
113182010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11319
11320 Make better UTF compliant.
11321
11322 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
11323 sequences as incorrect.
11324 (grub_is_valid_utf8): Likewise.
11325 (grub_utf8_to_ucs4): Likewise.
11326 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
11327 (grub_ucs4_to_utf8_alloc): Likewise.
11328 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
11329
f1808884
VS
113302010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11331
11332 Make legacy_source behave like source.
11333
11334 * grub-core/commands/legacycfg.c (legacy_file): Don't call
11335 grub_show_menu.
11336 (grub_cmd_legacy_source): Call grub_show_menu if needed.
11337
24ec575b
CW
113382010-11-16 Colin Watson <cjwatson@debian.org>
11339
11340 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
11341 (-Wunused implies -Wunused-parameter, but not vice versa).
11342
72b7c7aa
CW
113432010-11-16 Colin Watson <cjwatson@ubuntu.com>
11344
11345 * configure.ac: Make error messages less confusing by testing for
11346 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
11347 accepted, but produces a diagnostic if something else is wrong).
11348
e98937aa
VS
113492010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
11352 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
11353 (now unused).
11354 (grub_keyboard_controller_init)
11355 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
11356 read the initial state since controller isn't inited yet.
11357
f6bbabc3
VS
113582010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
11361 allocate_regbeg may need to create new chunk header.
11362
22e7dbb2
VS
113632010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11364
11365 Fix quoting in legacy parser.
11366
11367 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
11368 single quotes.
11369 (grub_legacy_parse): Likewise.
11370 Reported by: Jordan Uggla.
11371 Tested by: Jordan Uggla.
11372
03f80960
VS
113732010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 Don't add -lgcc on i386 and x86_64.
11376
11377 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
11378 * conf/Makefile.common (LDADD_KERNEL): Likewise.
11379 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
11380
779dc15b
VS
113812010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11382
11383 * configure.ac: Add -Wno-trampolines when supported.
11384
d20a3b37
MV
113852010-11-14 Modestas Vainius <modax@debian.org>
11386
11387 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
11388 fakeraid.
11389
e5360933
GC
113902010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11391
11392 Add generic logical block size support for UDF.
11393
11394 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
11395 (GRUB_UDF_BLKSZ): Removed.
11396 (struct grub_udf_data): New field "lbshift" to hold the logical block
11397 size of the file system in log2 format. All users updated.
11398 (sblocklist): Change type to unsigned.
11399 (grub_udf_mount): Change type of "sblklist" to unsigned.
11400 Move AVDP search before VRS recognition, because the latter requires
11401 knowledge of the logical block size, which is detected during the
11402 former.
11403 Detect and validate logical block size during AVDP search, adding
11404 support for block sizes 512, 1024 and 4096.
11405 Make VRS recognition independent of block size.
11406
cb0229c5
GC
114072010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11408
11409 Properly handle deleted files on UDF.
11410
11411 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
11412 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
11413 set.
11414
406858a8
GC
114152010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11416
11417 Support reading files larger than 2 GiB.
11418
11419 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
11420 "offset" to grub_off_t.
11421 (grub_udf_read_file): Likewise for parameter "pos".
11422
130da6a7
VS
114232010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
11426 unavailable.
11427 (Simple configuration): Refer to Changes from GRUB Legacy about
11428 save_env availability.
11429
65e93f6b
VS
114302010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11431
11432 * util/grub-install.in: Ignore empty partition table detection
11433 instead of trying to include part_ module.
11434
1fd08bf1
VS
114352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
11438 LVM on RAID support.
11439
de1a024f
VS
114402010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 Properly define WORDS_BIGENDIAN in wrapped environments.
11443
11444 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
11445 definition.
11446 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
11447
11448 Reported by: Manoel Rebelo Abranches.
11449 Tested by: Manoel Rebelo Abranches.
11450
bc5dd0b9
VS
114512010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11452
11453 * util/grub-mkconfig.in: Fix quoting.
11454
58c184be
VS
114552010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 Support big ext2 files.
11458
11459 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
11460 (grub_ext2_read_block): Support triple indirect blocks.
11461 (grub_ext2_read_file): Use 64-bit types and read size_high.
11462 (grub_ext2_open): Read size_high.
11463 Reported by: Ximin Luo.
11464 Tested by: Manoel Rebelo Abranches.
11465
5f0c02b3
VS
114662010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 * util/grub-install.in: Handle filenames containing spaces.
11469 Reported by: Jordan Uggla.
11470 Tested by: Jordan Uggla.
11471
4417aae6
VS
114722010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 * util/grub-mkconfig.in (grub_script_check): New variable.
11475 Use grub_script_check instead of grub-script-check.
11476 Reported by: Barry Jackson.
11477
7625a68e
VS
114782010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * docs/grub.texi (menu): Correct the order.
11481 Reported by: D. Hugh Redelmeier.
11482
10001ac5
VS
114832010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11486 jump.
11487
9c4cf53b
MRA
114882010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11489
10001ac5
VS
11490 * include/grub/elfload.h (grub_elf32_size): New parameter.
11491 All users updated.
9c4cf53b
MRA
11492 Return maximum segments alignment.
11493 (grub_elf64_size): Likewise.
11494 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11495 Return maximum segments alignment.
11496 (grub_elf64_size): Likewise.
11497 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
11498 (grub_linux_claimmap_iterate): New function. Uses the
11499 "available" property in the "memory" node for memory allocation
11500 for kernel in the PowerPC loader.
9c4cf53b
MRA
11501 (grub_linux_load32): Correctly find linux entry point offset.
11502 (grub_linux_load64): Likewise.
11503
d2bf06bf
RM
115042010-11-07 Robert Millan <rmh@gnu.org>
11505
11506 On mips-yeeloong, build with -march=loongson2f when this flag is
11507 available (GCC >= 4.4).
11508 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11509 `-march=mips3'.
11510 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11511 or otherwise add -march=mips3.
11512
898c99a2
BC
115132010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11514
87220a68
BC
11515 Suppress shell expansion on echo '*' and echo "*" like cases.
11516 Reported by: Jordan Uggla.
898c99a2
BC
11517
11518 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11519 string arguments before shell expansion.
11520 * tests/grub_cmd_echo.in: New testcases.
11521
4f9b406a
RM
115222010-11-07 Robert Millan <rmh@gnu.org>
11523
11524 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11525 transition.
11526
80c6d25e
VS
115272010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11528
11529 * grub-core/kern/emu/hostdisk.c
11530 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11531
4a1a0153
VS
115322010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11533
11534 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11535 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11536 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11537
34706ddc
VS
115382010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11541
6972dea9
VS
115422010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 * util/grub-install.in: Replace useless recomendation to pass
11545 --modules with a recomendation to report a bug.
11546
9c693bd6
VS
115472010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 Properly register serial terminfo.
11550 Reported by: Jordan Uggla
11551
11552 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11553 const.
11554 (grub_serial_terminfo_output_template): Likewise.
11555 (grub_cmd_serial): Register "serial" with terminfo.
11556 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11557 grub_serial_terminfo_output.
11558
6c9e4c0c
RM
115592010-11-05 Robert Millan <rmh@gnu.org>
11560
11561 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11562 needed).
11563
b9b3839f
RM
115642010-11-05 Robert Millan <rmh@gnu.org>
11565
11566 On Yeeloong, pass machine type information to Linux.
11567
11568 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11569 (LOONGSON_MACHTYPE): New macro, set to
11570 "machtype=lemote-yeeloong-2f-8.9inches".
11571 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11572 additional argument to Linux.
11573
1a3aaff4
RM
115742010-11-04 Robert Millan <rmh@gnu.org>
11575
11576 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11577 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11578 (its SATA disks are detected as slaveless IDE master drives on
11579 kFreeBSD).
11580 Reported by Carsten Aulbert.
11581
a75f4f62
CW
115822010-11-02 Colin Watson <cjwatson@ubuntu.com>
11583
11584 * util/bin2h.c (main): Fix spelling error in generated output.
11585
33b4b0c6
GS
115862010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11587
11588 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11589
2b36fbf4
VS
115902010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11593 vga= option is supplied.
11594
74aaf558
VS
115952010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11598 * util/grub.d/10_kfreebsd.in: Likewise.
11599 * util/grub.d/10_linux.in: Likewise.
11600 * util/grub.d/20_linux_xen.in: Likewise.
11601
6428dec3
VS
116022010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11605 argument as an argument to no-argument option.
11606
f8729d98
VS
116072010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * util/grub.d/10_linux.in: Add missing load_video with explicit
11610 GRUB_GFXPAYLOAD_LINUX.
11611
89d68fa6
VS
116122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11615
3a1197cd
VS
116162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11619 elements with invlid index.
11620 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11621 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11622 members.
11623 * include/grub/raid.h (grub_raid_member): New struct.
11624 (grub_raid_array): Transform devices and start_sector into usage of
11625 grub_raid_member. All users updated
11626 (allocated_devs): New member.
11627
71574288
VS
116282010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11631 is modified
11632
8d40ec65
BC
116332010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11634
11635 NetBSD build fix for getline function conflict from gnulib.
11636
11637 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11638 components that depend on gnulib headers.
11639 (libgrubmods.a): Renamed from earlier libgrub.a.
11640 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11641
95b9257e
VS
116422010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11645 install rather than creating a broken install.
11646
26c53dc6
VS
116472010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * util/grub-setup.c (argp): Remove misleading example of installing to
11650 a partition.
11651
4171b3c5
VS
116522010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * util/grub-setup.c (setup): Clarify the error message.
11655
18568d18
VS
116562010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11657
11658 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
11659
4f6a2e21
VS
116602010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11661
11662 * grub-core/kern/emu/misc.c
11663 (grub_make_system_path_relative_to_its_root)
11664 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
11665
116662010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
11667
11668 * grub-core/kern/emu/misc.c
11669 (grub_make_system_path_relative_to_its_root): Revert r2882.
11670
e138c458
VS
116712010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
11674 useless field head. All users updated.
11675 (free_subchunk): Correct handling of IN_REGION subchunk.
11676
0cbcdf0e
CW
116772010-10-22 Colin Watson <cjwatson@ubuntu.com>
11678
11679 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
11680 (Supported kernels): Likewise.
11681
b65ea155
GS
116822010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11683
11684 Make mktemp invocations portable.
11685
11686 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
11687 exit if mktemp fails.
11688 * tests/grub_script_blockarg.in: Likewise.
11689 * tests/partmap_test.in: Likewise.
11690 * tests/util/grub-shell-tester.in: Likewise.
11691 * tests/util/grub-shell.in: Likewise.
11692 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11693 * Makefile.am: Likewise, and chain shell commands with `&&'
11694 instead of ';'.
11695 * util/grub-mkrescue.in: Use the same explicit template as above, and
11696 exit if mktemp fails.
11697
05f43cdd
BC
116982010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
11699
11700 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
11701 Linux kernel, reported by Dennis Schridde.
11702
800e6a9b
SJ
117032010-10-17 Szymon Janc <szymon@janc.net.pl>
11704
11705 * grub-core/normal/auth.c (grub_auth_check_authentication):
11706 Set-but-not-used variable removed.
11707
d82df574
VS
117082010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 * docs/grub.texi (GNU/Linux): Document APM unavailability with
11711 32-bit linux protocol.
11712
7bced458
VS
117132010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11714
11715 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
11716 cursor shape for sanity.
11717
5b027690
VS
117182010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11719
11720 * docs/grub.texi (Installation): Document buggy BIOS install.
11721
ba5f65cf
VS
117222010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11723
11724 * docs/grub.texi (Installation): Indent.
11725
fdf2ec9c
VS
117262010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * util/grub-setup.c (setup): New parameter allow_floppy.
11729 (arguments): New member allow_floppy.
11730 (argp_parser): Handle --allow-floppy.
11731 (main): Pass allow_floppy.
11732 * util/grub-install.in: New option --allow-floppy passed though to
11733 grub-setup.
11734
861dfd4c
VS
117352010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 * util/grub-install.in: Handle partitionless disks.
11738
f77a8c24
VS
117392010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 * util/grub-setup.c (setup): Don't clean blocklists before readability
11742 verfification.
11743
27d9ee32
VS
117442010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 * docs/grub.texi (Installation): Document embedding zone. Remove
11747 obsolete grub-install example.
11748
6bdda8f8
SJ
117492010-10-16 Szymon Janc <szymon@janc.net.pl>
11750
11751 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11752 Set-but-not-used variable ifdef'ed.
11753 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11754 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11755 variable removed.
11756 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11757 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11758 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11759 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11760 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11761 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11762 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11763 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11764 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11765 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
11766 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
11767 Likewise.
11768
e19b016b
VS
117692010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11770
11771 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
11772 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
11773 enum value.
11774
6c8d3002
VS
117752010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11776
11777 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
11778 synonym to _S5_. Needed for some DSDTs.
11779
c32b51c9
VS
117802010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 Userspace ACPI parser debugging.
11783
11784 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11785 headers and add relevant defines. Don't include standard headers.
11786 (main) [GRUB_DSDT_TEST]: New function.
11787 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
11788 Don't declare functions.
11789
fbfbeb39
VS
117902010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 Remove dead grub_efi_mm_fini.
11793
11794 * grub-core/kern/efi/mm.c (allocated_page): Removed.
11795 (ALLOCATED_PAGES_SIZE): Likewise.
11796 (MAX_ALLOCATED_PAGES): Likewise.
11797 (allocated_pages): Likewise.
11798 (grub_efi_allocate_pages): Don't record allocated pages.
11799 (grub_efi_free_pages): Likewise.
11800 (grub_efi_mm_init): Likewise.
11801 (grub_efi_mm_fini): Removed.
11802
65f7ed7c
VS
118032010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11804
11805 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
11806 (grub_efi_mm_init): Take into account the memory map size increase.
11807
24977b44
VS
118082010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
11811 (serial_hw_put): Wait based on real time rather than port reads. Don't
11812 roken ports.
11813 * include/grub/serial.h (grub_serial_port): New field broken.
11814
1eb01cd2
RM
118152010-10-16 Robert Millan <rmh@gnu.org>
11816
11817 * grub-core/kern/emu/misc.c
11818 (grub_make_system_path_relative_to_its_root): Fix premature return
11819 when processing non-root ZFS filesystems.
5f8b440b 11820 Reported by Sergio Talens-Oliag.
1eb01cd2 11821
2d5fed60
RM
118222010-10-15 Robert Millan <rmh@gnu.org>
11823
11824 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
11825 guarantee compressed ones are processed first.
11826
d0f4c1ea
VS
118272010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
11830 grub_efiemu_autocore.
11831
d87c681f
VS
118322010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
11835 rather than 0x1b.
11836 (grub_console_getkey): Use correct jae opcode rather than ja.
11837
219b3564
RM
118382010-10-12 Robert Millan <rmh@gnu.org>
11839
11840 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
11841 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
11842 variable. All references updated.
11843
11844 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
11845
20c6bb7e
VS
118462010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 Correctly distinguish mdraid flavours.
11849
11850 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
11851 (insert_array): New argument raid.
11852 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
11853 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
11854 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
11855
74baff84
VS
118562010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
11857
11858 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
11859 handling of special keys.
11860
3ef068df 118612010-10-02 Aleš Nesrsta <starous@volny.cz>
11862
c7980ad9
VS
11863 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
11864 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 11865
a9455194 118662010-10-02 Aleš Nesrsta <starous@volny.cz>
11867
c7980ad9
VS
11868 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
11869 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
11870 users updated.
a9455194 11871 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 11872 Use right endpoint when querying descriptor.
a9455194 11873
441cfe65
VS
118742010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11875
11876 Clear out 0x80 color bit on EFI.
11877 Tested by: decoder
11878 Reported by: decoder and meta tech.
11879
11880 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
11881 (grub_console_setcolorstate): Clear out 0x80 bit.
11882 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
11883 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
11884 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
11885
bf26bcc4
VS
118862010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11887
11888 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
11889 Set to "auto".
11890
6e3c515d
VS
118912010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11892
11893 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
11894 mo_file after freeing.
11895
e6d983ba
VS
118962010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
11899
74ccb5b5
VS
119002010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11901
11902 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
11903 flags.
11904
17821956
VS
119052010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
11908 usage.
11909
ee74fa48
VS
119102010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 Put terminfo into core on ieee1275 and yeeloong (needed for console).
11913
11914 * gentpl.py: New groups terminfoinkernel and terminfomodule.
11915 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
11916 and terminfo.h when needed.
11917 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
11918 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
11919 (terminfo): Enable only on terminfokernel.
11920 (extcmd): Likewise.
11921 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
11922 * include/grub/lib/arg.h: Likewise.
11923 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
11924 incorrect usage of ->.
11925
aa438e68
VS
119262010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
11929 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
11930
57994012
VS
119312010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 Fix coreboot compilation.
11934
11935 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11936 Take VBE info into account even if only text is supported.
11937 (fill_vbe_info): Take into account the case when only VGA text
11938 is supported.
11939 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
11940 on coreboot, multiboot and qemu.
11941
2a406611
VS
119422010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
11945 debug messages.
11946 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
11947
d33613fc
VS
119482010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11949
11950 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
11951 parameters.
11952
44a1b432
VS
119532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11954
11955 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
11956 if they were BSD-style.
11957
edde54e6
VS
119582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * grub-core/boot/i386/pc/lnxboot.S: Replace
11961 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
11962 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
11963
b65830fa
VS
119642010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11965
11966 Write embedding zone using Reed-Solomon.
11967
11968 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
11969 * grub-core/Makefile.am (rs_decoder.S): New target.
11970 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
11971 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
11972 (multiboot): Move to RS part.
11973 (post_reed_solomon): New label.
11974 (grub_boot_drive): Move to non-RS part since it's modified in memory
11975 on boot.
11976 Include rs_decoder.S.
11977 * grub-core/lib/reed_solomon.c: New file.
11978 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
11979 New definition.
11980 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
11981 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
11982 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
11983 * include/grub/partition.h (grub_partition_map): Change prototype of
11984 embed to allow returning additional sectors.
11985 * include/grub/reed_solomon.h: New file.
11986 * util/grub-setup.c (setup): Handle Reed-Solomon.
11987
0b4b227f
CW
119882010-09-28 Colin Watson <cjwatson@ubuntu.com>
11989
11990 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11991 i386 and x86-64 definedness tests.
11992
f772623b
YB
119932010-09-27 Yves Blusseau <blusseau@zetam.org>
11994
11995 Fix generation of kernel_syms.lst
11996
11997 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
11998 ASM_PREFIX
11999
8e57a6ca
RM
120002010-09-26 Robert Millan <rmh@gnu.org>
12001
12002 Support degraded ZFS arrays in "grub-probe -t device" resolution.
12003
12004 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
12005 the pool is an array of devices, iterate through it and return the
12006 first device that passes a stat() test (instead of blindly returning
12007 the first one).
12008
f9130836
RM
120092010-09-26 Robert Millan <rmh@gnu.org>
12010
12011 Build fixes for GNU/kFreeBSD.
12012
12013 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
12014 to programs that require ZFS conversion.
12015 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
12016 kernels that don't have FLOPPY_MAJOR.
12017
96510faf
BC
120182010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12019
12020 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
12021
449333eb
BC
120222010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12023
12024 Fix grub-emu build.
12025
12026 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
12027 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
12028 mdraid09 and mdraid1x.
12029
e1fd1939
CW
120302010-09-24 Colin Watson <cjwatson@ubuntu.com>
12031
12032 Re-enable grub-extras.
12033
12034 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
12035 avoid confusing Automake. Run autogen only twice, once for the top
12036 level and once for grub-core. Add Makefile.util.def and
12037 Makefile.core.def from extra modules to the appropriate autogen
12038 invocations. If Makefile.common exists in an extra module, include
12039 it in both Makefile.util.am and grub-core/Makefile.core.am;
12040 similarly, include any Makefile.util.common file in Makefile.util.am
12041 and any Makefile.core.common file in grub-core/Makefile.core.am.
12042 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
12043 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
12044 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
12045 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
12046
12047 * gentpl.py (gvar_add): Turn GVARS into a set.
12048 (global_variable_initializers): Sort global variables on output.
12049 (vars_init): New function.
12050 (first_time): Likewise.
12051 (library): Ensure that non-global variable initialisations are
12052 emitted before the first time we emit code for a library block.
12053 Append to variables rather than setting them. Only emit
12054 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
12055 each conditional path.
12056 (program): installdir() emits an Autogen macro, so must be passed to
12057 var_add rather than gvar_add.
12058 (data): Likewise.
12059 (script): Likewise.
12060 (rules): New function, centralising handling for different target
12061 types. Set up Guile association lists for first_time and vars_init,
12062 and send most output to a diversion so that variable initialisations
12063 can be emitted first.
12064 (module_rules): Use new rules function.
12065 (kernel_rules): Likewise.
12066 (image_rules): Likewise.
12067 (library_rules): Likewise.
12068 (program_rules): Likewise.
12069 (script_rules): Likewise.
12070 (data_rules): Likewise.
12071
12072 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
12073
12074 * .bzrignore: Add contrib and grub-core/contrib. Remove
12075 grub-core/Makefile.gcry.am.
12076
1d12cf29
YB
120772010-09-24 Yves Blusseau <blusseau@zetam.org>
12078
12079 * grub-core/lib/LzFind.c: Add missing include.
12080 * grub-core/lib/LzmaEnc.c: Likewise.
12081 * grub-core/script/lexer.c: Likewise.
12082 * grub-core/script/yylex.l: Likewise.
12083 * util/grub-macho2img.c: Likewise.
12084 * util/grub-menulst2cfg.c: Likewise.
12085 * util/grub-mklayout.c: Likewise.
12086 * util/grub-mkpasswd-pbkdf2.c
12087 * util/grub-mkrelpath.c: Likewise.
12088 * util/resolve.c: Likewise.
12089
dd363028
BC
120902010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
12091
12092 * Makefile.util.def (example_unit_test): Add
12093 grub-core/gnulib/libgnu.a.
12094
f5a109e2
GS
120952010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
12096
12097 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
12098
6d0fa83c
VS
120992010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
12100
12101 Support xz compression on yeeloong.
12102
12103 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
12104 * configure.ac: Check for LZMA.
12105 * grub-core/Makefile.core.def (xz_decompress): New target.
12106 (none_decompress): Likewise.
12107 * grub-core/boot/decompressor/minilib.c: New file.
12108 * grub-core/boot/decompressor/none.c: Likewise.
12109 * grub-core/boot/decompressor/xz.c: Likewise.
12110 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
12111 * grub-core/kern/mips/cache_flush.S: Likewise.
12112 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
12113 * grub-core/kern/mips/startup.S: Move first stage to ...
12114 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
12115 nomacro.
12116 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
12117 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
12118 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
12119 Allocate statically.
12120 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
12121 Allocate statically or use scratch. Don't check CRC32.
12122 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
12123 Allocate statically. Don't check CRC32.
12124 * include/grub/decompressor.h: New file.
12125 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
12126 Removed.
12127 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
12128 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
12129 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
12130 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
12131 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
12132 * util/grub-mkimage.c (grub_compression_t): New type.
12133 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
12134 (image_target_desc): New field default_compression.
12135 (image_targets): Adjust yeeloong targets.
12136 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
12137 (compress_kernel): New parameter comp.
12138 (generate_image): Likewise. Handle new compression case.
12139 (options): New option --compression
12140 (help): Likewise.
12141 (main): Handle new option.
12142
1b655af6
GS
121432010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
12144
12145 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
12146
8f03f0b5
CW
121472010-09-22 Colin Watson <cjwatson@ubuntu.com>
12148
12149 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12150 typo in __i386__ conditional.
12151
7835dfd3
VS
121522010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
12155 include.
12156
e255597e
VS
121572010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12158
6d0fa83c 12159 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
12160
12161 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
12162 new tags as supported.
12163 (acpiv2_size): New function.
12164 (grub_multiboot_get_mbi_size): Take new tags into account.
12165 (grub_multiboot_make_mbi): Add new tags.
12166 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 12167
6cc14051 121682010-09-21 Aleš Nesrsta <starous@volny.cz>
12169
12170 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
12171 Added missing configuration of USB device.
12172
df7769d8
CW
121732010-09-21 Colin Watson <cjwatson@ubuntu.com>
12174
12175 * grub-core/normal/menu_entry.c (run): Make sure we always return
12176 a value.
12177
b031012d
CW
121782010-09-21 Colin Watson <cjwatson@ubuntu.com>
12179
12180 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
12181 NumberOfPages is UINT64 according to the UEFI specification, not
12182 UINTN. Fix printf format.
12183
174de8f3
CW
121842010-09-21 Colin Watson <cjwatson@ubuntu.com>
12185
12186 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
12187 `err' to grub_usb_err_t.
12188 Reported and tested by: KESHAV P.R.
12189
d7dbe923
CW
121902010-09-21 Colin Watson <cjwatson@ubuntu.com>
12191
12192 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
12193 tpart non-const, so that we can assign to it. (Since this is a
12194 typedef, the constness refers to the pointer rather than what it
12195 points to.)
12196
8d5e2af3
CW
121972010-09-21 Colin Watson <cjwatson@ubuntu.com>
12198
12199 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
12200 $(top_srcdir)/grub-core/gnulib as well as
12201 $(top_builddir)/grub-core/gnulib.
12202 Reported by: KESHAV P.R.
12203
5c527783
CW
122042010-09-21 Colin Watson <cjwatson@ubuntu.com>
12205
12206 * util/grub-install.in: Fix the bootloader ID option to be
12207 consistently --bootloader-id, not --bootloader_id.
12208 Reported by: KESHAV P.R.
12209
d309a16e
CW
122102010-09-21 Colin Watson <cjwatson@ubuntu.com>
12211
12212 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
12213 check hash checksum." consistently translatable.
12214
b830cd16
YB
122152010-09-21 Yves Blusseau <blusseau@zetam.org>
12216
12217 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
12218 $(top_builddir).
12219
c4fe27a8
CW
122202010-09-21 Colin Watson <cjwatson@ubuntu.com>
12221
12222 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
12223 (GRUB_MOD_INIT): Register sha1sum command.
12224 (GRUB_MOD_FINI): Unregister sha1sum command.
12225
a4c1d277
YB
122262010-09-21 Yves Blusseau <blusseau@zetam.org>
12227
12228 Keep boot and grub directory names in sync with utils scripts
12229
12230 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
12231 * config.h.in: Add previous macros.
12232 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
12233 * util/grub-install.in: Use $bootdir and $grubdir variables.
12234
4eff79d2
CW
122352010-09-21 Colin Watson <cjwatson@ubuntu.com>
12236
12237 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
12238 convert partition names to disk names if the new `convert' parameter
12239 is set.
12240 (grub_util_biosdisk_get_grub_dev): If opening the disk device
12241 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
12242 disk in its own right. This can happen with Xen disk images.
12243
934d7e44
YB
122442010-09-21 Yves Blusseau <blusseau@zetam.org>
12245
12246 * util/grub-editenv.c: Update strings to avoid warnings when generating
12247 grub.pot file.
12248 * util/grub-setup.c: Likewise.
934d7e44 12249
df3367cc
VS
122502010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12251
12252 * configure.ac: Change version to 1.99~beta0.
12253
77a94e98
VS
122542010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12255
12256 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12257 Add BADRAM.
12258 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
12259 Likewise.
12260 * include/multiboot.h: Resynced with specification.
12261 * include/multiboot2.h: Likewise.
12262
269004c1
CW
122632010-09-21 Colin Watson <cjwatson@ubuntu.com>
12264
12265 Fix po directory handling.
12266
12267 * configure.ac: Create po/Makefile.in rather than po/Makefile.
12268 * grub-core/gnulib/Makefile.am: Import gettext module.
12269 * m4/gnulib-cache.m4: Likewise.
12270 * m4/gnulib-comp.m4: Likewise.
12271 * m4/gettext.m4: New file, from gnulib.
12272 * m4/glibc2.m4: Likewise.
12273 * m4/iconv.m4: Likewise.
12274 * m4/intdiv0.m4: Likewise.
12275 * m4/intl.m4: Likewise.
12276 * m4/intldir.m4: Likewise.
12277 * m4/intlmacosx.m4: Likewise.
12278 * m4/intmax.m4: Likewise.
12279 * m4/inttypes-pri.m4: Likewise.
12280 * m4/lcmessage.m4: Likewise.
12281 * m4/lib-ld.m4: Likewise.
12282 * m4/lib-link.m4: Likewise.
12283 * m4/lib-prefix.m4: Likewise.
12284 * m4/lock.m4: Likewise.
12285 * m4/nls.m4: Likewise.
12286 * m4/po.m4: Likewise.
12287 * m4/printf-posix.m4: Likewise.
12288 * m4/progtest.m4: Likewise.
12289 * m4/threadlib.m4: Likewise.
12290 * m4/uintmax_t.m4: Likewise.
12291 * m4/visibility.m4: Likewise.
12292 * po/Makefile.am: Remove.
12293 * po/Makefile.in.in: New file, from gettext.
12294 ($(DOMAIN).pot-update): Support POTFILES-shell.
12295 * po/Makevars: New file.
12296 * po/POTFILES-shell: Rename to ...
12297 * po/POTFILES-shell.in: ... this. Update.
12298 * po/POTFILES: Rename to ...
12299 * po/POTFILES.in: ... this. Update.
12300 * po/Rules-quot: New file, from gettext.
12301 * po/boldquot.sed: Likewise.
12302 * po/en@boldquot.header: Likewise.
12303 * po/en@quot.header: Likewise.
12304 * po/insert-header.sin: Likewise.
12305 * po/quot.sed: Likewise.
12306 * po/remove-potcdate.sin: Likewise.
12307
3e0fa5d0
VS
123082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12309
12310 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
12311
ade9bd66
VS
123122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12313
12314 * util/grub.d/20_linux_xen.in: Use submenus.
12315
fc55cc4c
VS
123162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 Support submenus.
12319
12320 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
12321 parameter submenu. All users updated.
12322 * grub-core/normal/main.c (free_menu): Rename to ...
12323 (grub_normal_free_menu): ... this. Made global.
12324 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
12325 if requested.
12326 * grub-core/normal/menu_entry.c (screen): New field submenu.
12327 (make_screen): Set submenu.
12328 (run): Open new context if requested.
12329 * include/grub/menu.h (grub_menu_entry): New field submenu.
12330 * include/grub/normal.h (grub_normal_free_menu): New proto.
12331
600cedf7
VS
123322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12333
12334 Menu entries extractor.
12335
12336 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
12337 variants.
12338 (GRUB_MOD_INIT): Register new variants.
12339 (GRUB_MOD_FINI): Unregister new variants.
12340 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
12341 into grub_cmd_legacy_source.
12342 (grub_cmd_legacy_source): Implement extractor variants.
12343 (GRUB_MOD_INIT): Register new variants.
12344 (GRUB_MOD_FINI): Unregister new variants.
12345 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
12346 as an extractor.
12347 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
12348 search as an extractor.
12349 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
12350 test as an extractor.
12351 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
12352 as an extractor.
12353 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
12354 (grub_env_new_context): New function.
12355 (grub_env_context_open): Likewise.
12356 (grub_env_extractor_open): Likewise.
12357 (grub_env_extractor_close): Likewise.
12358 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12359 grub_extractor_level.
12360 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
12361 * include/grub/env.h (grub_env_extractor_open): New proto.
12362 (grub_env_extractor_close): Likewise.
12363 * include/grub/normal.h (grub_extractor_level): New external variable.
12364
7bda3a87
VS
123652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12366
12367 Make cutmem accept a region specification.
12368 Suggested by: Samuel Thibault
12369
12370 * grub-core/mmap/mmap.c (parsemem): New function.
12371 (grub_cmd_cutmem): Handle new arguments.
12372
2ea57f88
VS
123732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12374
12375 New command cutmem.
12376
12377 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
12378 (GRUB_MOD_INIT): Register new command.
12379 (GRUB_MOD_FINI): Unregister new command.
12380
74342e31
VS
123812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 Support some annoying BSD and Minix subpartitions.
12384
12385 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
12386 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
12387 Properly handle concatenation.
12388 * grub-core/kern/device.c (grub_device_iterate): Likewise.
12389 * grub-core/normal/completion.c (iterate_partition): Likewise.
12390 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
12391 contain partition. All users updated.
12392 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
12393 struct.
12394 (grub_openbsdlabel_partition_map): Likewise.
12395 (bsdlabel_partition_map_iterate): Rename to ..
12396 (iterate_real): ... this. New arguments sector, freebsd and pmap.
12397 (bsdlabel_partition_map_iterate): New function.
12398 (netopenbsdlabel_partition_map_iterate): Likewise.
12399 (netbsdlabel_partition_map_iterate): Likewise.
12400 (openbsdlabel_partition_map_iterate): Likewise.
12401 (GRUB_MOD_INIT): Register new partmaps.
12402 (GRUB_MOD_FINI): Unregister new partmaps.
12403 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
12404 (grub_partition_msdos_iterate): ... this. All users updated.
12405 Don't support embedding other than in a minix partition.
12406 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
12407 proto.
12408 * include/grub/partition.h (grub_partition): New field msdostype.
12409 * util/grub-install.in: Handle openbsd and netbsd types being in
12410 part_bsd module.
12411
1e8d555b
VS
124122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12413
12414 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
12415
12416 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
12417 * grub-core/Makefile.core.def (mdraid): Renamed to ...
12418 (mdraid09): ... this.
12419 (mdraid1x): New module.
12420 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
12421 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
12422
899d8af4
VS
124232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
12426 vsprintf.
12427
40901acd
CW
124282010-09-20 Colin Watson <cjwatson@ubuntu.com>
12429
12430 * grub-core/commands/efi/lsefimmap.c: Correct header.
12431 * NEWS: Update.
12432
dfe3b247
CW
124332010-09-20 Colin Watson <cjwatson@ubuntu.com>
12434
12435 * util/grub-editenv.c (argp_parser): Don't pass translated strings
12436 as printf format strings; the translations might contain '%' which
12437 could cause a crash.
12438 (main): Likewise.
12439 * util/grub-fstest.c (argp_parser): Likewise.
12440 * util/grub-setup.c (argp_parser): Likewise.
12441 (main): Likewise.
12442
3286a4b4
VS
124432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 Use argp in grub-fstest.
12446
12447 * util/grub-fstest.c: Don't include getopt.h.
12448 Include argp.h.
12449 (root): New variable.
12450 (args_count): Likewise.
12451 (nparm): Likewise.
12452 (num_disks): Likewise.
12453 (images): Likewise.
12454 (cmd): Likewise.
12455 (debug_str): Likewise.
12456 (args): Likewise.
12457 (options): Transformed to argp.
12458 (usage): Removed.
12459 (main): Split argument parsing into ...
12460 (argp_parser): ... this. Changed to argp format.
12461 (argp): New variable.
12462 (main): Use argp_parse.
12463
3dccbe4b
TG
124642010-09-20 Tristan Gingold <gingold@free.fr>
124652010-09-20 Robert Millan <rmh.grub@aybabtu.com>
124662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 * grub-core/commands/efi/lsefimmap.c: New file.
12469 * grub-core/Makefile.core.def (lsefimmap): New module.
12470 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
12471
38c259a7
VS
124722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 Pause the execution (10s max) if any errors are displayed so the user
12475 has a chance to see them.
12476
12477 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
12478 (grub_print_error): Increment grub_err_printed_errors.
12479 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
12480 execution if any errors were displayed.
12481 (show_menu): Remove old code for pause.
12482 * grub-core/normal/menu_entry.c (run): Likewise.
12483 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
12484 users updated.
12485 (grub_normal_get_char_counter): Likewise.
12486 * include/grub/err.h (grub_err_printed_errors): New external variable.
12487 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12488
f218b09c
VS
124892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 Support multiboot VBE info.
12492
12493 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12494 Take VBE info into account.
12495 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12496 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12497 Call fill_vbe_info when appropriate.
12498 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12499 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12500 as supported.
12501 (grub_multiboot_get_mbi_size): Take new tags into account.
12502 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12503 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12504 Call fill_vbe_tag when appropriate.
12505 (grub_multiboot_make_mbi): Properly align tags.
12506 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12507 function.
12508 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12509 proto.
12510 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12511
a9cc5438
VS
125122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12513
12514 Suport manual terminal geometry specification.
12515
12516 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12517 Save state in grub_ofconsole_terminfo_output.
12518 (grub_ofconsole_term): Use grub_terminfo_getwh.
12519 (grub_ofconsole_getwh): Removed.
12520 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12521 (grub_serial_term): Use grub_terminfo_getwh.
12522 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12523 (options): New struct.
12524 (OPTION_*): New enum.
12525 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12526 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12527 width and height.
12528 (grub_terminfo_getwh): New proto.
12529 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12530
1a8fed20
VS
125312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 Handle legacy "terminal" command.
12534
12535 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12536 and FLAG_TERMINAL.
12537 (legacy_commands): Add terminal and title.
12538 (grub_legacy_parse): Handle terminal. Simplify title handling.
12539
41e9c57d
VS
125402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12543 parameters overflow.
12544
61c874c5
CW
125452010-09-20 Colin Watson <cjwatson@ubuntu.com>
12546
12547 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12548 widthspec.h.
12549
12550 * docs/grub.texi (Shell-like scripting): Document `!'.
12551 (Network): Simplify using new i386-pc-pxe format. Mention
12552 grub-mknetdir.
12553
12554 * NEWS: Update.
12555
943682b4
CW
125562010-09-20 Colin Watson <cjwatson@ubuntu.com>
12557
12558 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12559 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12560 when needed.
12561
6d3d698d
CW
125622010-09-20 Colin Watson <cjwatson@ubuntu.com>
12563
12564 * grub-core/commands/efi/lsefisystab.c: Correct header.
12565 * grub-core/commands/efi/lssal.c: Likewise.
12566 * grub-core/commands/testload.c: Likewise.
12567
c982589f
CW
125682010-09-20 Colin Watson <cjwatson@ubuntu.com>
12569
12570 * util/grub-mkrescue.in: Add explicit root argument to --set to
12571 prevent the UUID being interpreted as an argument to --set (matches
12572 previous change to prepare_grub_to_access_device).
12573
a63c31b6
CW
125742010-09-20 Colin Watson <cjwatson@ubuntu.com>
12575
12576 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12577 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12578 the verbosity of later #ifs.
12579 (find_partition_start): Define this function on FreeBSD too.
12580 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12581 function.
12582 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12583 on FreeBSD.
12584
6439b8ee
YB
125852010-09-20 Yves Blusseau <blusseau@zetam.org>
12586
12587 * util/grub-editenv.c: Use argp instead of getopt.
12588
c5930ec8
YB
125892010-09-20 Yves Blusseau <blusseau@zetam.org>
12590
12591 * util/grub-setup.c: Use argp instead of getopt.
12592
15c69261
YB
125932010-09-20 Yves Blusseau <blusseau@zetam.org>
12594
12595 Use gnulib-tool to create gnulib source files.
12596
12597 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12598 grub-core/gnulib directories
12599 * .bzignore: Add **/.deps and autogenerated gnulib files
12600 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12601 of gnulib macros, add grub-core/gnulib/Makefile
12602 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12603 include m4 directory to aclocal.
12604 * Makefile.util.def: Remove direct compilation of gnulib source files
12605 and use the new grub-core/gnulib/libgnu.a.
12606 * build-aux/config.rpath: move config.rpath from top directory to
12607 build-aux
12608 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12609 in gnulib headers
12610 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12611 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12612 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12613 header.
12614 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12615 string.
12616
e511c9f5
YB
126172010-09-20 Yves Blusseau <blusseau@zetam.org>
12618
12619 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12620 grub-core/genmod.sh and grub-core/gensyminfo.sh
12621
c2dede05
BC
126222010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12623
12624 Add a test for echo command options.
12625
12626 * tests/grub_cmd_echo.in: New test.
12627 * Makefile.util.def: Rules for new test.
12628
c55f5018
SJ
126292010-09-20 Szymon Janc <szymon@janc.net.pl>
12630
12631 Remove crc.mod and move crc command to hashsum.mod.
12632 Remove lib/crc.c - users updated to use gcrypt implementation.
12633
12634 * grub-core/commands/crc.c: Removed.
12635 * grub-core/Makefile.core.def (crc): Module removed.
12636 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12637 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12638 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12639 * grub-core/lib/crc.c: Removed.
12640 * include/grub/lib/crc.h: Removed.
12641 * Makefile.util.def (crc): Remove lib/crc.c
12642 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12643 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12644 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12645 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12646 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12647 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12648
e0337366
VS
126492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12652
742f9232
VS
126532010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 Split config.h for util and core.
12656
12657 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
12658 (ADDR32): Likewise.
12659 (DATA32): Likewise.
12660 (BSS_START_SYMBOL): Likewise.
12661 (END_SYMBOL): Likewise.
12662 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
12663 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
12664 * config.h.in: New file.
12665 * configure.ac: Use config-util.h as config define file.
12666 Rename MACHINE into GRUB_MACHINE. All users updated.
12667 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
12668 updated.
12669 (NESTED_FUNC_ATTR): Likewise.
12670 Substitue new variables.
12671 (COND_HAVE_ASM_USCORE): New conditional.
12672 * grub-core/Makefile.am (ASM_PREFIX): New variable.
12673 (kernel_syms.lst): Use ASM_PREFIX.
12674 * grub-core/kern/emu/console.c: Include config-util.h.
12675 * grub-core/kern/emu/misc.c: Likewise.
12676 * grub-core/kern/emu/mm.c: Likewise.
12677 * include/grub/emu/misc.h: Likewise.
12678 * include/grub/libgcc.h: Likewise.
12679
39feb0e8
VS
126802010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12681
12682 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
12683 constants usage.
12684 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
12685 Fix GRUB_TERM_KEY_* constants usage.
12686 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
12687
9af6dac3
VS
126882010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12689
12690 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
12691 print pointer.
12692 * grub-core/bus/usb/uhci.c: Remove empty define.
12693 (grub_uhci_check_transfer): Add missing cast.
12694 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
12695 print pointer.
12696 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
12697 PRIuGRUB_SIZE.
12698 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
12699
d6d94820
VS
127002010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * grub-core/Makefile.core.def (legacycfg): Add
12703 lib/i386/pc/vesa_modes_table.c on emu.
12704
3572f2b6
BC
127052010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12706
12707 Reduce number of temporary files generated by build system.
12708
12709 * grub-core/gencmdlist.sh: Removed.
12710 * grub-core/genfslist.sh: Removed.
12711 * grub-core/genhandlerlist.sh: Removed.
12712 * grub-core/genmodsrc.sh: Removed.
12713 * grub-core/genpartmaplist.sh: Removed.
12714 * grub-core/genparttoollist.sh: Removed.
12715 * grub-core/gentermiinallist.sh: Removed.
12716 * grub-core/genvideolist.sh: Removed.
12717
12718 * grub-core/genmod.sh.in: New file.
12719 * grub-core/gensyminfo.sh.in: New file.
12720
12721 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
12722 * conf/Makefile.extra-dist: Update with new files.
12723 * gentpl.py: Remove rules related to unnecessary temporary files.
12724 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
12725 and und-* files.
12726 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
12727 genmod.sh scripts.
12728 * grub-core/bus/usb/uhci.c: Remove empty #define.
12729 * grub-core/genmoddep.awk: Updated with new syminfo format.
12730 * util/bash-completion.d/Makefile.am: Add config.log to
12731 CLEANFILES.
12732
c836b030
YB
127332010-09-19 Yves Blusseau <blusseau@zetam.org>
12734
12735 * Makefile.util.def: Add forgotten $(LIBINTL) library.
12736
2f4e8053
BC
127372010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12738
12739 * util/grub-mkconfig.in: Check the config script for syntax errors
12740 before saving.
12741
75831c34
CW
127422010-09-19 Colin Watson <cjwatson@ubuntu.com>
127432010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12746 platforms.
12747 * util/grub-install.in: Add EFI and IEEE1275 support.
12748 * util/i386/efi/grub-install.in: Removed.
12749 * util/ieee1275/grub-install.in: Likewise.
12750
eaf41b25
VS
127512010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12752
12753 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12754 (grub_cmd_cmosclean): Likewise.
12755 (GRUB_MOD_INIT): Register command cmosclean.
12756 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12757 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12758
1a9130dd
CPE
127592010-09-18 Carles Pina i Estany <carles@pina.cat>
127602010-09-18 Aleš Nesrsta <starous@volny.cz>
127612010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 Add keyboard layouts support.
12764
12765 * Makefile.util.def (grub-mklayout): New file.
12766 (grub-kbdcomp): New script.
12767 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
12768 Add keyboard_layouts.h.
12769 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
12770 commands/boot.c on yeeloong.
12771 (keylayouts): New module.
12772 * grub-core/bus/usb/ohci.c
12773 * grub-core/bus/usb/uhci.c
12774 * grub-core/bus/usb/usbhub.c (rescan): New variable.
12775 (grub_usb_add_hub): Poll interrupt pipe for device handling.
12776 (attach_root_port): Likewise.
12777 (poll_nonroot_hub): Likewise.
12778 (grub_usb_poll_devices): Likewise.
12779 (detach_device): Close transfer.
12780 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
12781 function.
12782 (grub_usb_bulk_setup_readwrite): Likewise.
12783 (grub_usb_bulk_finish_readwrite): Likewise.
12784 * grub-core/commands/keylayouts.c: New file.
12785 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
12786 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
12787 aliases.
12788 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
12789 support scancode 2.
12790 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
12791 * include/grub/keyboard_layouts.h: New file.
12792 * util/grub-mklayout.c: New file.
12793 * util/grub-kbdcomp.in: Likewise.
12794
a1d84a5e
VS
127952010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12796
12797 Unify memory types.
12798
12799 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
12800 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
12801 types.
12802 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
12803 (grub_upper_mem): Likewise.
12804 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
12805 * include/grub/memory.h (grub_memory_type_t): New enum.
12806 All users updated.
12807
9696382e
VS
128082010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 * grub-core/Makefile.core.def (lsapm): New module.
12811 * grub-core/commands/i386/pc/lsapm.c: New file.
12812 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
12813 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
12814 Likewise.
12815 * include/grub/i386/pc/apm.h: New file.
12816 * include/multiboot.h (multiboot_apm_info): New struct.
12817
128182010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12819
12820 GRUB-legacy configuration file support.
12821
12822 * Makefile.util.def (grub-menulst2cfg): New util.
12823 * docs/man/grub-menulst2cfg.h2m: New file.
12824 * grub-core/Makefile.core.def (legacycfg): New module.
12825 * grub-core/commands/legacycfg.c: New file.
12826 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
12827 (grub_normal_add_menu_entry): ... this.
12828 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
12829 (grub_normal_set_password): ...this.
12830 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
12831 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
12832 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
12833 * grub-core/lib/legacy_parse.c: New file.
12834 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
12835 * include/grub/i386/pc/vesa_modes_table.h: New file.
12836 * include/grub/legacy_parse.h: Likewise.
12837 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
12838 * util/grub-menulst2cfg.c: New file.
12839
bf8d1338
CW
128402010-09-17 Colin Watson <cjwatson@ubuntu.com>
12841
12842 * grub-core/kern/emu/hostdisk.c
12843 (convert_system_partition_to_system_disk): Initialise node.
12844
9c0bad2e
CW
128452010-09-17 Colin Watson <cjwatson@ubuntu.com>
12846
12847 * grub-core/kern/emu/hostdisk.c
12848 (convert_system_partition_to_system_disk): Fix devmapper memory pool
12849 leak.
12850 Reported and based on patch by: Modestas Vainius.
12851
a939d135
CW
128522010-09-17 Colin Watson <cjwatson@ubuntu.com>
12853
12854 Fix DM-RAID probing with recent versions of device-mapper udev
12855 rules.
12856
12857 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
12858 canonicalise device paths under /dev/mapper/.
12859 (convert_system_partition_to_system_disk): Compare the
12860 uncanonicalised path to /dev/mapper/ rather than the canonicalised
12861 path, since device nodes under /dev/mapper/ are often symlinks.
12862
0f7ee3c9
YB
128632010-09-17 Yves Blusseau <blusseau@zetam.org>
12864
12865 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
12866
10854d0d
YB
128672010-09-16 Yves Blusseau <blusseau@zetam.org>
12868
12869 * configure.ac: Avoid some annoying error messages if freetype-config
12870 program is not found.
12871
108538d8
CW
128722010-09-16 Colin Watson <cjwatson@ubuntu.com>
12873
12874 Support RAID on virtio devices, and others.
12875
12876 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
12877 Rename to ...
12878 [__MINGW32__] (grub_find_device): ... this.
12879 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
12880 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
12881 reasonable default if dir is NULL.
12882 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
12883 ...
12884 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
12885 (grub_guess_root_device): Update callers.
12886 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
12887
12888 * util/raid.c (grub_util_getdiskname): Remove.
12889 (grub_util_raid_getmembers): Use grub_find_device rather than
12890 grub_util_getdiskname.
12891
e5bfc130
CW
128922010-09-16 Colin Watson <cjwatson@ubuntu.com>
12893
12894 * docs/grub.texi (serial): Remove obsolete comment about GRUB
12895 needing to be compiled with serial support.
12896 (ls): Indicate that multiple files are accepted.
12897 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
12898 indicate that multiple files are accepted.
12899
be458ae2
CW
129002010-09-16 Colin Watson <cjwatson@ubuntu.com>
12901
12902 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
12903 libgrub_a_init.c, and util/bash-completion.d/grub.
12904
cb731b5e
VS
129052010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * util/grub-setup.c (setup): Fix incorrect container semantics.
12908
35139e8a
VS
129092010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
12912 misusage.
12913 Reported by: J. Nick Terry
12914
e50fca4a
VS
129152010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 Move embedding routines to partmap sources files.
12918
12919 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
12920 [GRUB_UTIL]: New variable.
12921 (gpt_partition_map_iterate): Set part.parent.
12922 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
12923 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
12924 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
12925 New function.
12926 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
12927 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
12928 (grub_partition_map) [GRUB_UTIL]: New field embed.
12929 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
12930 (setup): Use ->embed.
12931
f00478b7
VS
129322010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12933
12934 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
12935 function.
12936 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
12937 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
12938
2b94e3ff
YB
129392010-09-15 Yves Blusseau <blusseau@zetam.org>
12940
12941 Add function to get completions from usage.
12942
12943 * util/bash-completion.d/grub-completion.bash.in: Add function to get
12944 completions from usage. Use LC_ALL=C to get options properly.
12945
2e04a006
VS
129462010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12947
12948 * grub-core/gnulib/basename-lgpl.c: Imported.
12949 * grub-core/gnulib/basename.c: Likewise.
12950 * grub-core/gnulib/dirname-lgpl.c: Likewise.
12951 * grub-core/gnulib/dirname.c: Likewise.
12952 * grub-core/gnulib/dirname.h: Likewise.
12953 * grub-core/gnulib/stripslash.c: Likewise.
12954
5dcdf93a
VS
129552010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12956
12957 * grub-core/gnulib/error.c: Resynced.
12958 * grub-core/gnulib/getopt.c: Likewise.
12959 * grub-core/gnulib/getopt_int.h: Likewise.
12960 * grub-core/gnulib/regex.h: Likewise.
12961 * grub-core/gnulib/regex_internal.c: Likewise.
12962 * grub-core/gnulib/regex_internal.h: Likewise.
12963
014f47b7
SJ
129642010-09-15 Szymon Janc <szymon@janc.net.pl>
12965
12966 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
12967 CRC calculations and validity checks.
12968 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
12969 calculations.
12970
dd521a4a
SJ
129712010-09-15 Szymon Janc <szymon@janc.net.pl>
12972
12973 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
12974
79c4eeb9
VS
129752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12976
12977 Fix incorrect echo options handling.
12978 Reported by: Yves Blusseau.
12979
12980 * include/grub/command.h (grub_command_flags_t): New flags
12981 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
12982 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
12983 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
12984
ed80f7d5
VS
129852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
12988 users updated.
12989 (GRUB_COMMAND_FLAG_MENU): Likewise.
12990 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12991 (GRUB_COMMAND_FLAG_TITLE): Removed.
12992 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12993 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
12994 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
12995 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
12996 (grub_command_flags_t): New enum. All users updated.
12997
5fe7620a
SG
129982010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
12999
13000 Fix solaris compilation.
13001
13002 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
13003 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
13004 (grub-emu-list): Likewise.
13005
545b752f
VS
130062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13007
13008 Remove deprecated root command.
13009
13010 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
13011 updated.
13012
6c1a338c
VS
130132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13014
13015 * util/i386/pc/grub-setup.c: Merge this ...
13016 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
13017 * util/grub-setup.c: ... into this.
13018 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
13019 New struct.
13020
130212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13022
13023 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
13024 possible.
13025
d2ea4551
VS
130262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13027
13028 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
13029 allocate p.
13030
3c3b5040
VS
130312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13032
13033 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13034 explicit root argument to set to prevent UUID to be interpreted as
13035 argument to set.
13036
b71c3fae
VS
130372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
13040
275433e6
VS
130412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 Don't export grub_gate_a20.
13044
13045 * grub-core/kern/i386/pc/init.c: Remove leftovers.
13046 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
13047 to ...
13048 (grub_gate_a20): ... this. All users updated.
13049 * include/grub/i386/pc/init.h: Removed. All users updated.
13050
a5dbb1f1
VS
130512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13052
13053 Create euro.pf2 which supports most European languages.
13054
13055 * Makefile.am (grubdata_DATA): Add euro.pf2.
13056 (euro.pf2): New target.
13057 (CLEANFILES): Add euro.pf2.
13058
62a747cb
VS
130592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * configure.ac: Disable emu-usb by default to prevent inadvertent
13062 device takeover.
13063
608e43b1
VS
130642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 Disable usbserial on grub-emu since our libusb code isn't good enough
13067 yet.
13068
13069 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
13070 (usbserial_pl2303): Likewise.
13071 (usbserial_ftdi): Likewise.
13072
94564f81
VS
130732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13074
13075 * include/grub/disk.h (grub_disk): Remove has_partitions.
13076 All users updated.
13077 * disk/loopback.c (grub_loopback): Remove has_partitions.
13078 All users updated.
13079 (options): Remove partitions. All users updated.
13080 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
13081 * util/i386/pc/grub-setup.c (setup): copy partition table only when
13082 actual partition table is found.
13083
3352800b
VS
130842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 Remove readability checks (too many false negatives).
13087
13088 * util/grub-install.in: Remove readability checks.
13089 * util/grub-mkconfig.in: Likewise.
13090 * util/grub.d/10_hurd.in: Likewise.
13091 * util/grub.d/10_kfreebsd.in: Likewise.
13092 * util/grub.d/10_linux.in: Likewise.
13093 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
13094 way.
13095
2419f17a
VS
130962010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13097
13098 Enable acpi shutdown on all ACPI platforms.
13099
13100 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
13101 on coreboo, multiboot and EFI.
13102 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
13103 (grub_acpi_halt): Likewise.
13104 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
13105 (grub_cmd_halt): Don't call grub_acpi_halt directly.
13106 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
13107 * grub-core/lib/i386/halt.c (grub_halt)
13108 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
13109
0575c7c3
VS
131102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
13113 context.
13114
54ac3cd1
VS
131152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * grub-core/video/efi_gop.c: Fix over-80-chars line.
13118 * grub-core/video/efi_uga.c: Likewise.
13119
b2a30ac5
VS
131202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13121
13122 Filter devaliases and never open same device twice.
13123
13124 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
13125 (last_ihandle): Likewise.
13126 (ofdisk_hash_ent): New member shortest.
13127 (ofdisk_hash_add): Add canonical path too.
13128 (scan): New function.
13129 (grub_ofdisk_iterate): Iterate over hashed entries.
13130 (compute_dev_path): Don't add :0.
13131 (grub_ofdisk_open): Don't really open the disk.
13132 (grub_ofdisk_close): Avoid closing unrelated disk.
13133 (grub_ofdisk_read): Implement reopen logic.
13134 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
13135 New function.
13136 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
13137 New proto.
13138
fb53b340
VS
131392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13140
13141 Fix sparc64.
13142
13143 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
13144 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
13145 right address. Add sparc64_ieee1275_ldflags.
13146 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
13147 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
13148 to grub_host_to_target_addr
13149 (load_image): Likewise.
13150
f452b040
VS
131512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13152
13153 * grub-core/normal/completion.c (complete_file): Handle device
13154 containing slash.
13155 Fix based on patch by Doug Nazar.
13156
9b5b2541
VS
131572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13158
13159 grub-mknetdir script.
13160
13161 * Makefile.util.def (grub-mknetdir): New module.
13162 * tests/util/grub-shell.in: Support boot=net
13163 * util/grub-mknetdir.in: New file.
13164
9d2be652
VS
131652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13166
13167 videoinfo on non-vbe.
13168
13169 * grub-core/Makefile.core.def (vbeinfo): Removed.
13170 (vbetest): Removed.
13171 (videoinfo): New module.
13172 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
13173 * grub-core/commands/i386/pc/vbetest.c: Removed.
13174 * grub-core/commands/videoinfo.c: New file.
13175 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
13176 specification.
13177 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
13178 as vbetest.
13179 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
13180 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
13181 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
13182 mode_number. New parameter mode. All users updated.
13183 (grub_video_gop_iterate): New function.
13184 (grub_video_efi_gop): New member iterate.
13185 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
13186 (grub_vbe_set_video_mode): Remove setting useless fields.
13187 (vbe2videoinfo): New function.
13188 (grub_video_vbe_iterate): Likewise.
13189 (grub_video_vbe_setup): Use vbe2videoinfo.
13190 (grub_video_vbe_print_adapter_specific_info): New function.
13191 (grub_video_vbe_adapter): New fields iterate and
13192 print_adapter_specific_info.
13193 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
13194 All users updated.
13195 (grub_video_mode_info): New field mode_number.
13196 (grub_video_adapter): New fields iterate and
13197 print_adapter_specific_info.
13198
179503f5
TG
131992010-09-13 Tristan Gingold <gingold@free.fr>
132002010-09-13 Robert Millan <rmh.grub@aybabtu.com>
132012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13202
13203 * grub-core/commands/efi/lsefisystab.c: New file.
13204 * grub-core/commands/efi/lssal.c: Likewise.
13205 * grub-core/Makefile.core.def (lsacpi): New module.
13206 (lsefisystab): Likewise.
13207 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
13208 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
13209 (grub_efi_sal_system_table): New struct.
13210 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
13211 (grub_efi_sal_system_table_memory_descriptor): Likewise.
13212 (grub_efi_sal_system_table_platform_features): Likewise.
13213 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
13214 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
13215 (grub_efi_sal_system_table_ap_wakeup): Likewise.
13216 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
13217
cf9827de
VS
132182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 Support explicit user claim that a device is BIOS-visible.
13221
13222 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
13223 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
13224 * grub-core/kern/emu/hostdisk.c
13225 (convert_system_partition_to_system_disk): Support mdX.
13226 (find_system_device): New parameter add. All users updated.
13227 (grub_util_biosdisk_is_present): New function.
13228 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
13229 proto.
13230
53f0eb1f
VS
132312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13232
13233 Search hints support.
13234
13235 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
13236 All users updated.
13237
b23ffd70
YB
132382010-09-13 Yves Blusseau <blusseau@zetam.org>
13239
13240 Bash completion script for util commands
13241
13242 * Makefile.am: Add util/bash-completion.d directory
13243 * configure.ac: Likewise.
13244 * util/bash-completion.d/Makefile.am: New file.
13245 * util/bash-completion.d/grub-completion.bash.in: Likewise.
13246
d547dc28
VS
132472010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13248
13249 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
13250 (print_backlog): set backlog_ucs4 and backlog_glyphs.
13251 Reported by: Yves Blusseau.
13252
2fc8ccb9
VS
132532010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13254
13255 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
13256 partition size and offset.
13257
d8a84076
VS
132582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13259
13260 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
13261
84fb3b3d
VS
132622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13263
13264 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
13265
768ec2e2
VS
132662010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
13269 (grub_xvasprintf): Likewise.
13270
4870900f
VS
132712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
13274
faca6bec
VS
132752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
13278 args ending with NULL.
13279
132802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
13281
13282 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
13283 pointer.
13284
3c70f225
SJ
132852010-09-11 Szymon Janc <szymon@janc.net.pl>
13286
13287 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
13288
4df7996d
VS
132892010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13290
13291 Shutdown using ACPI.
13292
13293 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
13294 * grub-core/commands/acpihalt.c: New file.
13295 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
13296 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
13297 (grub_acpi_halt): New proto.
13298 (GRUB_ACPI_SLP_EN): New const.
13299 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
13300 (GRUB_ACPI_OPCODE_*): New enum.
13301 (GRUB_ACPI_EXTOPCODE_*): Likewise.
13302
126b4c32
TG
133032010-09-11 Tristan Gingold <gingold@free.fr>
133042010-09-11 Robert Millan <rmh.grub@aybabtu.com>
133052010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13306
13307 * commands/lsacpi.c: New file.
13308 * grub-core/Makefile.core.def (lsacpi): New module.
13309 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
13310 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
13311 (grub_acpi_madt_entry_header): New struct.
13312 (grub_acpi_madt): Likewise.
13313 (grub_acpi_madt_entry_interrupt_override): Likewise.
13314 (grub_acpi_madt_entry_sapic): Likewise.
13315 (grub_acpi_madt_entry_lsapic): Likewise.
13316 (grub_acpi_madt_entry_platform_int_source): Likewise.
13317 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
13318 (PRIuGRUB_UINT32_T): Likewise.
13319 (PRIxGRUB_UINT64_T): Likewise.
13320
1aa4fe88
VS
133212010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 Implement loading palette on ieee1275_fb.
13324
13325 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
13326 (have_setcolors): Likewise.
13327 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
13328 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
13329 (grub_video_ieee1275_set_palette): Implement.
13330
25761e13
VS
133312010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
133322010-09-11 Colin Watson <cjwatson@ubuntu.com>
13333
13334 * util/grub-install.in (grub_partition): New variable.
13335 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
13336 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
13337 Fixes a bug reported by Yves Blusseau.
13338
050abaea
VS
133392010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13340
13341 Fix emu on mipsel.
13342
13343 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
13344 =grub_cpu_flush_cache on all mips and not only yeeloong.
13345 * configure.ac (COND_mips): New conditional.
13346 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
13347 platforms.
13348 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
13349 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
13350 [GRUB_LINKER_HAVE_INIT]: New function.
13351 (grub_emu_post_init): Likewise.
13352 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
13353 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
13354 * include/grub/cache.h (_mips): Include mips/cache.h.
13355 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
13356 LVM and RAID prototypes.
13357 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
13358 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
13359 function.
13360
5ed7d816
CW
133612010-09-10 Colin Watson <cjwatson@ubuntu.com>
13362
13363 * util/grub-install.in: Don't try to verify core.img until after
13364 running grub-mkimage to create it.
13365
90367e04
RM
133662010-09-10 Robert Millan <rmh@gnu.org>
13367
13368 * util/grub.d/10_hurd.in: Add misc readability checks.
13369 * util/grub.d/10_kfreebsd.in: Likewise.
13370 * util/grub.d/10_linux.in: Likewise.
13371
c452fa66
CW
133722010-09-10 Colin Watson <cjwatson@ubuntu.com>
13373
13374 * util/grub-install.in: ${imgext} won't be defined here until the
13375 install branch is merged. For the meantime, only verify core.img on
13376 i386-pc and sparc64-ieee1275 platforms.
13377
c38fe9f4
RM
133782010-09-10 Robert Millan <rmh@gnu.org>
13379
13380 Solaris support in grub_find_zpool_from_dir(). Thanks
13381 Seth Goldberg for referring to getextmntent() facility.
13382
13383 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
13384 `sys/mkdev.h'.
13385 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
13386 `<sys/mnttab.h>'.
13387 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
13388 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
13389 method for finding zpool name.
13390
905f7773
CW
133912010-09-10 Colin Watson <cjwatson@ubuntu.com>
13392
13393 grub-fstest needs the host and hostfs modules while other utilities
13394 actively require those modules to be absent, so grub-fstest needs
13395 its own initialisation and finalisation code.
13396
13397 * Makefile.am (grub_fstest.pp): New target.
13398 (grub_fstest_init.lst): Likewise.
13399 (grub_fstest_init.c): Likewise.
13400 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
13401
fb90b546
RM
134022010-09-10 Robert Millan <rmh@gnu.org>
13403
13404 * configure.ac: Check for `struct statfs.f_fstypename' and
13405 `struct statfs.f_mntfromname'.
13406
13407 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
13408 kFreeBSD-specific code.
13409
66d4bea5
RM
134102010-09-10 Robert Millan <rmh@gnu.org>
13411
13412 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
13413 on ZFS. Now non-main filesystems are supported as / too.
13414
b6a690ee
CW
134152010-09-09 Colin Watson <cjwatson@ubuntu.com>
13416
13417 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
13418 and grub-core/disk/host.c to ...
13419 (grub-fstest): ... here. Having the host disk implementation
13420 present confuses grub-probe and other utility programs.
13421
13422 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
13423 when writing to a file, not when writing to stdout.
13424
8901b00c 134252010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
13426
13427 * tests/partmap_test.in: New test for partitions.
13428 * Makefile.util.def: Rules for new test.
13429
7bf45fdd
RM
134302010-09-09 Robert Millan <rmh@gnu.org>
13431
13432 * util/grub-probe.c (probe): Fix a pair of unhandled error
13433 conditions.
13434
4dfbc574
RM
134352010-09-09 Robert Millan <rmh@gnu.org>
13436
13437 Basic Btrfs support (detection and UUID).
13438
13439 * grub-core/fs/btrfs.c: New file.
13440 * Makefile.util.def (library): Register btrfs.c.
13441 * grub-core/Makefile.core.def: Likewise.
13442
6b8e78ae
RM
134432010-09-08 Robert Millan <rmh@gnu.org>
13444
13445 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
13446 with (optional) parameters to specify device and relative path.
13447 * util/grub-install.in: Use is_path_readable_by_grub() to
13448 verify readability of a few critical files.
13449 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
13450 verify readability of grub.cfg.new.
13451
27f21a8b
VS
134522010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13453
13454 Split minix.mod into minix.mod and minix2.mod.
13455
13456 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
13457 * grub-core/Makefile.core.def (minix2): New module.
13458 * grub-core/fs/minix.c: Use definitions instead of runtime version
13459 checking.
13460 * grub-core/fs/minix2.c: New file.
13461
c0e53ea5
YB
134622010-09-08 Yves Blusseau <blusseau@zetam.org>
13463
13464 Add new --boot-directory option to replace --root-directory
13465
13466 * util/grub-install.in: Add new --boot-directory option
13467 * util/grub-reboot.in: Likewise.
13468 * util/grub-set-default.in: Likewise.
13469
b9fe6ea2
YB
134702010-09-08 Yves Blusseau <blusseau@zetam.org>
13471
13472 * util/grub-mkconfig.in: Use new variable.
13473
d87aedff
YB
134742010-09-08 Yves Blusseau <blusseau@zetam.org>
13475
13476 * configure.ac: Define some useful variables.
13477
e55e8495
VS
134782010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13479
13480 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13481 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
13482 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
13483 Use terminfo and don't use cursor-on/cursor-off unless it's known
13484 to work.
13485 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13486 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13487
6fa6d675
CW
134882010-09-08 Colin Watson <cjwatson@ubuntu.com>
13489
13490 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13491 starts with "(,", fill the drive containing the loaded image in
13492 between those two characters, but expect that a full partition
13493 specification including partition map names will follow.
13494
92f2aef0
RM
134952010-09-08 Robert Millan <rmh@gnu.org>
13496
13497 * configure.ac: Remove `--enable-grub-fstest' option.
13498 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13499
13500 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13501 `grub-fstest' instead of `grub-probe' for readability verification.
13502 * util/grub-probe.c (probe): Remove readability verification kludge.
13503
99fd620d
RM
135042010-09-08 Robert Millan <rmh@gnu.org>
13505
13506 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13507 initializing `GRUB_FS'.
13508
058e30ac 135092010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13510
13511 Not command (!) support to GRUB script.
13512
13513 * tests/grub_script_not.in: New test.
13514 * Makefile.util.def: Rules for new test.
13515
13516 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13517 ! command as a special case.
13518 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13519
b61d05ed 135202010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13521
058e30ac 13522 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13523 grub_free.
b61d05ed 13524
4d69c786 135252010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13526
13527 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13528
aa3119c4 135292010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13530
13531 * docs/grub.texi (Shell-like scripting): Documentation for break,
13532 continue, shift and return commands.
13533
db0f7e3d
VS
135342010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13535
13536 Rename CD-ROM to cd on BIOS.
13537
13538 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13539 "cd".
13540 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13541
88b87c93
VS
135422010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13545 * util/grub-probe.c (main): Likewise.
13546 * util/i386/pc/grub-setup.c (main): Likewise.
13547 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13548 Reported and debugged by: alexxy
13549
294f324d
VS
135502010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13551
13552 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13553 diagnostic info.
13554
d7ee3441
JS
135552010-09-05 Jo Shields <directhex@apebox.org>
13556
13557 * util/grub.d/30_os-prober.in: Add missing classes.
13558
d7e06c1f
VS
135592010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13560
13561 * docs/grub.texi (Theme file format): Document new position format.
13562
fc157e53
VS
135632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13566 a table. Use @code instead of @verbatim.
13567
506e9a1c
CB
135682010-09-05 Colin D Bennett <colin@gibibit.com>
13569
13570 Gfxmenu documentation.
13571
13572 * docs/grub.texi (Theme file format): New chapter.
13573
f0aff67c
SJ
135742010-09-05 Szymon Janc <szymon@janc.net.pl>
13575
13576 * grub-core/Makefile.core.def (xzio): New module.
13577 * grub-core/io/xzio.c: New file.
13578 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13579 * grub-core/lib/xzembed/xz_config.h: Likewise.
13580 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13581 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13582 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13583 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13584 * grub-core/lib/xzembed/xz_private.h: Likewise.
13585 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13586 * include/grub/file.h (grub_file_filter_id): New compression filter
13587 GRUB_FILE_FILTER_XZIO.
13588
82a85062
VS
135892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13592 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13593 size.
13594
3579415d
VS
135952010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13596
13597 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13598 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13599
5124ae6d
VS
136002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 Uncompressed checksum support.
13603
13604 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13605 (check_list): New parameter uncompress.
13606 (grub_cmd_hashsum): Handle --uncompress.
13607
9aadb3d1
VS
136082010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 Reintroduce testload.
13611
13612 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13613 from here ...
13614 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13615 (GRUB_MOD_INIT): New function.
13616 (GRUB_MOD_FINI): Likewise.
13617 * grub-core/Makefile.core.def (testload): New module.
13618
a17792c3
SJ
136192010-09-05 Szymon Janc <szymon@janc.net.pl>
13620
13621 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13622 (uint8_t): New type.
13623 (uint16_t): Likewise.
13624 (uint32_t): Likewise.
13625 (uint64_t): Likewise.
13626
b81e40a3
SJ
136272010-09-05 Szymon Janc <szymon@janc.net.pl>
13628
13629 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13630
fc2ef117
VS
136312010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13634 Made static.
13635 (grub_gzfile_open): Removed. All users updated.
13636 (GRUB_MOD_INIT): New function.
13637 (GRUB_MOD_FINI): Likewise.
13638 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13639 (grub_file_filters_enabled): Likewise.
13640 (grub_file_open): Handle filters.
13641 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13642 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13643 * include/grub/file.h (grub_file_filter_id_t): New type.
13644 (grub_file_filter_t): Likewise.
13645 (grub_file_filters_all): New extern variable.
13646 (grub_file_filters_enabled): Likewise.
13647 (grub_file_filter_register): New inline function.
13648 (grub_file_filter_unregister): Likewise.
13649 (grub_file_filter_disable): Likewise.
13650 (grub_file_filter_disable_compression): Likewise.
13651 * include/grub/gzio.h: Removed.
13652
35ee15e0
BC
136532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13654
13655 Filename expansion support for wildcards in GRUB script.
13656
13657 * tests/grub_script_expansion.in: New test.
13658 * Makefile.util.def: Rule for new test.
13659
13660 * grub-core/commands/wildcard.c: New file, implements filename
13661 expansion support for GRUB script.
13662 * grub-core/Makefile.core.def: Rule update for regexp.mod.
13663 * grub-core/script/argv.c: Cosmetic changes.
13664 * grub-core/script/execute.c (grub_script_arglist_to_argv):
13665 Refactored to perform wildcard expansion on arguments.
13666 * include/grub/script_sh.h (grub_script_wildcard_translator): New
13667 struct.
13668
13669 * tests/util/grub-shell.in: Fix quoting for read input.
13670
5f0c4aca
BC
136712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13672
13673 Support for updating environment variables with matched substrings
13674 of regexp.
13675
13676 * tests/grub_cmd_regexp.in: New test.
13677 * Makefile.util.def: Rule for new test.
13678
13679 * grub-core/commands/regexp.c: New option -s to update environment
13680 variables with regexp matches.
13681
3759a35f
SJ
136822010-09-04 Szymon Janc <szymon@janc.net.pl>
13683
13684 * include/grub/file.h (grub_file): New member not_easly_seekable.
13685 (grub_file_seekable): New inline function.
13686 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
13687 easily seekable.
13688 (grub_gzio_open): Set not_easly_seekable.
13689 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
13690 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
13691
ed8c6dec
BC
136922010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13693
13694 Support for options to appear multiple times on cmdline.
13695
13696 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
13697 * grub-core/commands/extcmd.c: Support for repeatable option.
13698 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
13699 repeatable option support.
13700
13701 Refactor menuentry into a regular command.
13702
13703 * grub-core/commands/menuentry.c: New file, menuentry command
13704 implementation.
13705 * grub-core/Makefile.core.def: Rule update for normal.mod.
13706 * grub-core/normal/main.c: Moved menuentry creation to
13707 grub-core/commands/menuentry.c.
13708 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
13709 (grub_menu_execute_entry_real): Removed.
13710 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
13711 function.
13712 (grub_script_execute_menuentry): Removed.
13713 * grub-core/script/parser.y (menuentry): Removed.
13714 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
13715 * grub-core/script/yylex.l (menuentry): Removed.
13716 * include/grub/menu.h (grub_menu_init): New prototype.
13717 (grub_menu_fini): New prototype.
13718 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
13719 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
13720 (grub_script_execute_sourcecode): New prototype.
13721
dacd0cf0
BC
137222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13723
13724 "return" command for GRUB script functions.
13725
13726 * tests/grub_script_return.in: New test.
13727 * Makefile.util.def: Rules for new test.
13728
13729 * grub-core/script/execute.c (grub_script_return): New function.
13730 * grub-core/script/main.c: Register/unregister return commaond.
13731 * include/grub/script_sh.h (grub_script_return): New prototype.
13732
52e72f9d
BC
137332010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13734
13735 "setparams" command to update positional parameters.
13736
13737 * tests/grub_script_setparams.in: New test.
13738 * Makefile.util.def: Rules for new test.
13739
13740 * grub-core/script/argv.c (grub_script_argv_make): New function.
13741 * grub-core/script/execute.c (replace_scope): New function.
13742 (grub_script_setparams): New function.
13743 * grub-core/script/lexer.c: Remove unused variables.
13744 * grub-core/script/main.c: Register/unregister setparams command.
13745 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13746 (grub_script_setparams): New prototype.
13747
25b60c91
BC
137482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13749
13750 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13751 grub_free order.
13752
37e7bf68
BC
137532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13754
13755 Support for passing block of commands as an argument to extcmds.
13756
13757 * Makefile.util.def: Rules for new test.
13758 * tests/grub_script_blockarg.in: New test.
13759 * grub-core/tests/test_blockarg.c: New file, block argument
13760 command used in the test.
13761
13762 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13763 (grub_register_extcmd_prio): New function prototype.
13764 (grub_extcmd_dispatcher): New function prototype.
13765 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
13766 type.
13767 * include/grub/script_sh.h (struct grub_script): New members
13768 `children', `next_siblings' and `refcnt' for block arguments and
13769 reference counting.
13770 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
13771 (grub_script_arg): New member `script' for block argument.
13772 (grub_script_argv): New member `script' for block argument.
13773 (grub_parser_param): New member `scripts' for block argument.
13774 (grub_script_mem_free): New extern function prototype.
13775 (grub_script_ref): New function prototype.
13776 (grub_script_unref): New function prototype.
13777
13778 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
13779 extcmd form to support block arguments.
13780 * grub-core/script/argv.c: Block arguments support.
13781 * grub-core/script/execute.c: Likewise.
13782 * grub-core/script/lexer.c: Likewise.
13783 * grub-core/script/main.c: Likewise.
13784 * grub-core/script/script.c: Likewise.
13785 * grub-core/script/parser.y: Likewise. New `block' and `block0'
13786 non-terminals.
13787
13788 * grub-core/commands/acpi.c: Update extcmd implementations with
13789 grub_extcmd_context_t.
13790 * grub-core/commands/cat.c: Likewise.
13791 * grub-core/commands/echo.c: Likewise.
13792 * grub-core/commands/extcmd.c: Likewise.
13793 * grub-core/commands/hashsum.c: Likewise.
13794 * grub-core/commands/hdparm.c: Likewise.
13795 * grub-core/commands/help.c: Likewise.
13796 * grub-core/commands/hexdump.c: Likewise.
13797 * grub-core/commands/i386/cpuid.c: Likewise.
13798 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13799 * grub-core/commands/i386/pc/halt.c: Likewise.
13800 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13801 * grub-core/commands/iorw.c: Likewise.
13802 * grub-core/commands/keystatus.c: Likewise.
13803 * grub-core/commands/loadenv.c: Likewise.
13804 * grub-core/commands/ls.c: Likewise.
13805 * grub-core/commands/lspci.c: Likewise.
13806 * grub-core/commands/memrw.c: Likewise.
13807 * grub-core/commands/probe.c: Likewise.
13808 * grub-core/commands/search_wrap.c: Likewise.
13809 * grub-core/commands/setpci.c: Likewise.
13810 * grub-core/commands/sleep.c: Likewise.
13811 * grub-core/disk/loopback.c: Likewise.
13812 * grub-core/hello/hello.c: Likewise.
13813 * grub-core/loader/i386/bsd.c: Likewise.
13814 * grub-core/loader/xnu.c: Likewise.
13815 * grub-core/term/gfxterm.c: Likewise.
13816 * grub-core/term/serial.c: Likewise.
13817 * grub-core/tests/lib/functional_test.c: Likewise.
13818
888d1500
BC
138192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13820
13821 Multi-line quoted strings support.
13822
13823 * grub-core/script/lexer.c (append_newline): Removed.
13824 (grub_script_lexer_yywrap): Refactored.
13825 (grub_script_lexer_init): Refactored.
13826 * grub-core/script/yylex.l (yywrap): New function.
13827 (grub_lexer_resplit): New function.
13828 (grub_lexer_unput): New function.
13829 * include/grub/script_sh.h (grub_lexer_param): New members, unput
13830 and resplit.
13831 * tests/grub_script_echo1.in: Added few more testcases.
13832
dda060dd
VS
138332010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13834
13835 * grub-core/kern/misc.c: Don't add abort alias in utils.
13836 Reported by: echoline.
13837
6556eba9
BC
138382010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
13839
13840 Add missing files into "make dist" tarball for other platforms.
13841
13842 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
13843 * conf/Makefile.common (dist_noinst_DATA): New variable.
13844 * conf/Makefile.extra-dist: Added missing make dist files.
13845 * grub-core/Makefile.core.def: Likewise.
13846
c8e7bf5f
VS
138472010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13848
13849 Compress grub_prefix.
13850
13851 * grub-core/boot/i386/pc/lnxboot.S: Use
13852 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
13853 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
13854 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
13855 GRUB_MACHINE_PREFIX_END. All users updated.
13856 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
13857 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
13858 + 0x40.
13859 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13860 * util/grub-mkimage.c (image_target_desc): Change data_end to
13861 prefix_end. All users updated.
13862
a7c00cdb
VS
138632010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
13866 value.
13867 (grub_openbsd_boot): Likewise.
13868 (grub_netbsd_boot): Likewise.
13869 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
13870 (grub_xnu_boot): Likewise.
13871
9f915872
VS
138722010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13873
13874 * configure.ac: Clean LIBS variable after tests.
13875
efa1bee7
CW
138762010-09-02 Colin Watson <cjwatson@ubuntu.com>
13877
13878 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
13879
61d720e5
VS
138802010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13881
13882 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
13883 echo if libdevmapper will be used.
13884
ef8e0ec8
IT
138852010-09-02 Ian Turner <Ian.Turner@deshaw.com>
13886
13887 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
13888 constant for the same file.
13889
03e261d8
VS
138902010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13891
13892 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
13893
c2a4eba6
CW
138942010-09-02 Colin Watson <cjwatson@ubuntu.com>
13895
13896 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
13897 grub-core/*.pp.
13898
9056cbf3
CW
138992010-09-02 Colin Watson <cjwatson@ubuntu.com>
13900
13901 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
13902 required by the boot protocol.
13903
13904 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
13905 ebp and edi members.
13906 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
13907 state.ebp and state.edi.
13908 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
13909 %ebp and %edi according to grub_relocator32_ebp and
13910 grub_relocator32_edi respectively.
13911 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
13912 and state.edi.
13913
529cc99a
VS
139142010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 Add i386-pc-pxe image target.
13917
13918 * util/grub-mkimage.c (image_target_desc): New enum value
13919 IMAGE_I386_PC_PXE.
13920 (image_targets): New target i386-pc-pxe.
13921 (generate_image): Handle i386-pc-pxe image.
13922
9a093920
VS
139232010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 Fix grub_pxe_scan.
13926
13927 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
13928 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
13929 All users updated.
13930 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
13931 (grub_pxe_pxenv): Correct type.
13932
f9cefc4e
CW
139332010-09-01 Colin Watson <cjwatson@ubuntu.com>
13934
13935 * NEWS: Document most of the important changes since 1.98.
13936
4066f57f
CW
139372010-09-01 Colin Watson <cjwatson@ubuntu.com>
13938
13939 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
13940 generated manual page) a little.
13941
da2891f9
CW
139422010-09-01 Colin Watson <cjwatson@ubuntu.com>
13943
13944 * docs/grub.texi: Add myself as an author.
13945
ad717fae
VS
139462010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13947
13948 * Makefile.util.def (libgrub.a): Add missing sunpc.
13949 Reported by: Seth Goldberg.
13950
eefe8abd
VS
139512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13952
13953 Interrupt wrapping and code simplifications.
13954
9494ef9a
VS
13955 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
13956 x86_noieee1275 which are functionaly equivalent in this case.
13957 (grub-install): Make source on each platform explicit. Enable on
13958 all noemu.
13959 * gentpl.py (x86_efi_pc): Removed group.
13960 (x86_noefi): Likewise.
13961 (i386_noefi): Likewise.
13962 (x86_noieee1275): Likewise.
13963 (i386_noieee1275): Likewise.
13964 (i386_noefi_noieee1275): Likewise.
13965 (i386_pc_qemu_coreboot): Likewise.
13966 (i386_coreboot_multiboot): Likewise.
13967 (i386_pc_coreboot_multiboot_qemu): Likewise.
13968 (x86_noefi_mips): Likewise.
13969 (noieee1275): Likewise.
13970 (ieee1275_mips): Likewise.
13971 (noemu_noieee1275): Likewise.
13972 (cmos): New group.
13973 (usb): Likewise.
13974 (videoinkernel): Likewise.
13975 (videomodules): Likewise.
eefe8abd 13976 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
13977 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
13978 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
13979 include/grub/loader.h, include/grub/msdos_partition.h,
13980 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
13981 include/grub/machine/console.h, include/grub/machine/vga.h,
13982 include/grub/machine/vbe.h, include/grub/machine/init.h,
13983 include/grub/machine/kernel.h, include/grub/cpu/time.h,
13984 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 13985 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
13986 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
13987 * grub-core/Makefile.core.def (kernel): Explicit the source for
13988 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
13989 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
13990 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
13991 Use videoinkernel tag.
13992 (usb): Enable on all usb.
13993 (usbserial_common): Likewise.
13994 (usbserial_pl2303): Likewise.
13995 (usbserial_ftdi): Likewise.
13996 (uhci): Enable on all x86.
13997 (ohci): Enable on all pci.
13998 (cmostest): Enable on all CMOS.
13999 (acpi): Include commands/acpi.c on all platforms.
14000 (halt): Add relevant lib/*/halt.c.
14001 (hdparm): Enable on all pci.
14002 (lspci): Likewise.
14003 (usbtest): Enable on all usb.
14004 (ata): Enable on all pci.
14005 (ata_pthru): Likewise.
14006 (usbms): Enable on all usb.
14007 (usb_keyboard): Likewise.
14008 (font): Use tag videomodules.
14009 (bufio): Likewise.
14010 (datetime): Use tag cmos. Enable on all noemu.
14011 (mmap): Use tags common and x86.
14012 (gfxterm): Use tag videomodules.
14013 (bitmap): Likewise.
14014 (bitmap_scale): Likewise.
14015 (video_fb): Likewise.
14016 (video): Likewise.
14017 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
14018 adjust padding accordingly. All users updated.
14019 (grub_ohci_transaction): Fix bad format specification.
14020 (GRUB_MOD_INIT): Add asserts for struct size.
14021 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
14022 (grub_alloc_td): Likewise.
14023 (grub_free_queue): Likewise.
14024 (grub_uhci_transfer): Likewise.
14025 (grub_uhci_transaction): Fix bad format specification.
14026 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14027 (grub_usb_bulk_readwrite): Likewise.
14028 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
14029 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
14030 Made static.
14031 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
14032 Made static.
14033 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
14034 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
14035 Transformed into C.
14036 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
14037 Moved from here ...
14038 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
14039 ... here. Transformed into C. Made static.
14040 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
14041 Moved from here ...
14042 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
14043 ... here. Transformed into C. Made static.
14044 * grub-core/kern/i386/pc/startup.S
14045 (grub_biosdisk_check_int13_extensions): Moved from here ...
14046 * grub-core/disk/i386/pc/biosdisk.c
14047 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
14048 Made static.
14049 * grub-core/kern/i386/pc/startup.S
14050 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
14051 * grub-core/disk/i386/pc/biosdisk.c
14052 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
14053 Transformed into C. Made static.
14054 * grub-core/kern/i386/pc/startup.S
14055 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
14056 * grub-core/disk/i386/pc/biosdisk.c
14057 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
14058 Transformed into C. Made static.
14059 * grub-core/kern/i386/pc/startup.S
14060 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
14061 * grub-core/disk/i386/pc/biosdisk.c
14062 (grub_biosdisk_get_diskinfo_standard): ... here.
14063 Transformed into C. Made static.
14064 * grub-core/kern/i386/pc/startup.S
14065 (grub_biosdisk_get_num_floppies): Moved from here ...
14066 * grub-core/disk/i386/pc/biosdisk.c
14067 (grub_biosdisk_get_num_floppies): ... here.
14068 Transformed into C. Made static.
14069 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
14070 New function.
14071 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
14072 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
14073 Transformed into C. Made static.
14074 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
14075 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
14076 Transformed into C. Made static.
14077 * grub-core/kern/i386/ieee1275/init.c: Removed.
14078 * grub-core/kern/i386/misc.S: Likewise.
14079 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
14080 Splitted from here ...
14081 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
14082 Transformed into C. Made static. All users updated.
14083 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
14084 Transformed into C. Made static. All users updated.
14085 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
14086 Moved from here...
14087 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
14088 Transformed into C. Made static. All users updated.
14089 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
14090 Moved from here...
14091 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
14092 Transformed into C. Made static. All users updated.
14093 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
14094 Removed (replaced by C version).
14095 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
14096 Moved from here...
14097 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
14098 Transformed into C. Made static.
14099 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
14100 Moved from here...
14101 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
14102 ... here. Transformed into C.
14103 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
14104 Moved from here...
14105 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
14106 ... here. Transformed into C.
14107 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
14108 Moved from here...
14109 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
14110 ... here. Transformed into C. Made static.
14111 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
14112 Moved from here...
14113 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
14114 ... here. Transformed into C.
21ed554b
VS
14115 * grub-core/kern/i386/pc/startup.S
14116 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
14117 * grub-core/video/i386/pc/vbe.c
14118 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
14119 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
14120 Moved from here...
14121 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
14122 ... here. Transformed into C.
14123 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
14124 Moved from here...
14125 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
14126 ... here. Transformed into C.
14127 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
14128 Moved from here...
14129 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
14130 ... here. Transformed into C.
14131 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
14132 Moved from here...
14133 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
14134 ... here. Transformed into C.
14135 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
14136 Moved from here...
14137 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
14138 ... here. Transformed into C. Made static.
14139 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
14140 Moved from here...
14141 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
14142 ... here. Transformed into C. Made static.
14143 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
14144 Moved from here...
14145 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
14146 ... here. Transformed into C. Made static.
14147 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
14148 pxe_rm_entry as third argument.
14149 (grub_bios_interrupt): New function.
14150 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
14151 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
14152 of calling grub_stop.
14153 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
14154 * grub-core/lib/efi/halt.c (grub_halt): ...here.
14155 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
14156 * grub-core/lib/emu/halt.c (grub_halt): ... here.
14157 * grub-core/lib/i386/halt.c: Moved from here ...
14158 * grub-core/lib/i386/halt.c: ... here.
14159 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
14160 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
14161 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
14162 grub_stop_floppy.
14163 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
14164 * include/grub/i386/coreboot/init.h: Removed.
14165 * include/grub/i386/multiboot/init.h: Likewise.
14166 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
14167 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
14168 * include/grub/i386/pc/int.h: New file.
14169 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
14170 (grub_pxe_scan): Removed.
14171 (grub_pxe_call): Update prototype.
14172 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
14173 prototypes.
14174 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
14175 * include/grub/i386/qemu/init.h: Removed.
14176 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
14177 noreturn.
14178 (grub_halt): Likewise.
14179 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
14180 (grub_reboot): Likewise.
14181 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
14182 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
14183 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
14184
215dd471
RM
141852010-08-30 Robert Millan <rmh@gnu.org>
14186
14187 * NEWS: Document addition of ZFS support in `grub-install' and
14188 `grub-mkconfig'.
14189
ebd65b82
BC
141902010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
14191
14192 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
14193 dprintf output.
14194
11721d19
VS
141952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14196
14197 Remove leftover embedding of font objects.
14198
14199 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14200 * util/grub-install.in (font): Removed.
14201 * util/grub-mkimage.c (generate_image): Remove font support. All users
14202 updated.
14203
37837d4e
VS
142042010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 Remove leftover embedding of font objects.
14207
14208 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14209 * util/grub-install.in (font): Removed.
14210 * util/grub-mkimage.c (generate_image): Remove font support. All users
14211 updated.
14212
b4c1aae0
VS
142132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14214
14215 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 14216 Reported by: Ian Turner
b4c1aae0 14217
8920a08d
VS
142182010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
14221 timeout to avoid indefinite boot stalling.
14222
f21db033
VS
142232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
14226 (grub_env_write_color_highlight): Likewise.
14227
9a9de209
VS
142282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 * grub-core/normal/term.c (print_more): Return to normal and not
14231 to standard state after printing "---MORE---".
14232
3dca01d7
VS
142332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14234
14235 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
14236 Mask out the bit 0x80 since it has other meaning that specifiing color.
14237
0b986c40
VS
142382010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14239
14240 New relocator. Allows for more kernel support and more straightforward
14241 loader writing.
14242
14243 * Makefile.am (BOOTTARGET): New variable.
14244 (QEMU32): Likewise.
14245 (linux.init.x86_64): New target.
14246 (linux.init.i386): Likewise.
14247 (multiboot.elf): Likewise.
14248 (kfreebsd.elf): Likewise.
14249 (kfreebsd.aout): Likewise.
14250 (pc-chainloader.elf): Likewise.
14251 (pc-chainloader.bin): Likewise.
14252 (ntldr.elf): Likewise.
14253 (ntldr.bin): Likewise.
14254 (multiboot2.elf): Likewise.
14255 (kfreebsd.init.x86_64): Likewise.
14256 (kfreebsd.init.i386): Likewise.
14257 (knetbsd.init.i386): Likewise.
14258 (kopenbsd.init.i386): Likewise.
14259 (knetbsd.init.x86_64): Likewise.
14260 (kopenbsd.init.x86_64): Likewise.
14261 (linux-initramfs.i386): Likewise.
14262 (linux-initramfs.x86_64): Likewise.
14263 (kfreebsd-mfsroot.i386.img): Likewise.
14264 (knetbsd.image.i386): Likewise.
14265 (kopenbsd.image.i386): Likewise.
14266 (kopenbsd.image.x86_64): Likewise.
14267 (knetbsd.miniroot-image.i386.img): Likewise.
14268 (kfreebsd-mfsroot.x86_64.img): Likewise.
14269 (knetbsd.image.x86_64): Likewise.
14270 (knetbsd.miniroot-image.x86_64.img): Likewise.
14271 (kfreebsd-mfsroot.i386.gz): Likewise.
14272 (bootcheck-kfreebsd-i386): Likewise.
14273 (kfreebsd-mfsroot.x86_64.gz): Likewise.
14274 (bootcheck-kfreebsd-x86_64): Likewise.
14275 (knetbsd.miniroot-image.i386.gz): Likewise.
14276 (bootcheck-knetbsd-i386): Likewise.
14277 (bootcheck-kopenbsd-i386): Likewise.
14278 (bootcheck-kopenbsd-x86_64): Likewise.
14279 (knetbsd.miniroot-image.x86_64.gz): Likewise.
14280 (bootcheck-knetbsd-x86_64): Likewise.
14281 (bootcheck-linux-i386): Likewise.
14282 (bootcheck-linux-x86_64): Likewise.
14283 (bootcheck-linux16-i386): Likewise.
14284 (bootcheck-linux16-x86_64): Likewise.
14285 (bootcheck-multiboot): Likewise.
14286 (bootcheck-multiboot2): Likewise.
14287 (bootcheck-kfreebsd-aout): Likewise.
14288 (bootcheck-pc-chainloader): Likewise.
14289 (bootcheck-ntldr): Likewise.
14290 (CLEANFILES): Add new targets.
14291 (BOOTCHECKS): New variable.
14292 (.PHONY): Add bootchecks.
14293 (SUCCESSFUL_BOOT_STRING): New variable.
14294 (BOOTCHECK_TIMEOUT): Likewise.
14295 (bootcheck): New target
14296 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
14297 * configure.ac: Correct efiemu excuse.
14298 * docs/grub.texi (Supported kernels): New chapter.
14299 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
14300 include/grub/mm_private.h. Simplify inclusion of
14301 include/grub/boot.h, include/grub/loader.h
14302 and include/grub/msdos_partition.h
14303 (KERNEL_HEADER_FILES) [i386_coreboot]:
14304 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
14305 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
14306 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
14307 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
14308 include/grub/machine/loader.h.
14309 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
14310 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
14311 extra_dist.
14312 (pci.mod): Enable on i386-multiboot.
14313 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
14314 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
14315 i386-qemu.
14316 (relocator.mod): Rewritten.
14317 (aout.mod): Enable on all x86.
14318 (bsd.mod): Likewise.
14319 (ntldr.mod): New module.
14320 (linux.mod): Use loader/i386/linux.c on all x86.
14321 (xnu.mod): Enable on all x86.
14322 (vga_text.mod): disable on EFI and QEMU.
14323 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
14324 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
14325 * grub-core/efiemu/loadcore.c: Likewise.
14326 * grub-core/efiemu/main.c: Likewise.
14327 (grub_efiemu_exit_boot_services): Removed.
14328 (grub_efiemu_finish_boot_services): Likewise.
14329 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
14330 function.
14331 * grub-core/efiemu/i386/nocfgtables.c: New file.
14332 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
14333 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
14334 (grub_efi_finish_boot_services): Moved from here ...
14335 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
14336 Fille finish memory map and related data.
14337 (finish_mmap_buf): New variable.
14338 (grub_efi_uintn_t finish_mmap_size): Likewise.
14339 (grub_efi_uintn_t finish_key): Likewise.
14340 (grub_efi_uintn_t finish_desc_size): Likewise.
14341 (grub_efi_uint32_t finish_desc_version): Likewise.
14342 (grub_efi_is_finished): Likewise.
14343 (grub_efi_get_memory_map): Use saved memory map if EFI is already
14344 finished.
14345 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
14346 (grub_elf64_phdr_iterate): Likewise.
14347 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
14348 (grub_os_area_size): Likewise.
14349 (grub_machine_init): Don't reserve os area.
14350 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
14351 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14352 * grub-core/kern/i386/loader.S: Removed.
14353 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
14354 (grub_os_area_size): Likewise.
14355 (grub_machine_init): Don't reserve os area.
14356 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14357 Don't call grub_dl_unload_all.
14358 Don't include loader.S.
14359 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
14360 Declare the memory after _end as available.
14361 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 14362 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 14363 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
14364 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
14365 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
14366 * include/grub/mm_private.h (grub_mm_header): ... here.
14367 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
14368 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
14369 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
14370 (grub_mm_region): ..here. Removed addr. Added pre_size.
14371 All users updated.
14372 * grub-core/kern/mm.c (base): Renamed to ...
14373 (grub_mm_base): ... this. Made global.
14374 (grub_real_malloc): Alloc from end of region.
14375 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
14376 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
14377 * grub-core/kern/powerpc/cache_flush.S: ... here.
14378 * grub-core/lib/efi/relocator.c: New file.
14379 * grub-core/lib/i386/relocator.c: Rewritten.
14380 * grub-core/lib/i386/relocator16.S: New file.
14381 * grub-core/lib/i386/relocator32.S: Likewise.
14382 * grub-core/lib/i386/relocator64.S: Likewise.
14383 * grub-core/lib/i386/relocator_asm.S: Rewritten.
14384 * grub-core/lib/i386/relocator_common.S: New file.
14385 * grub-core/lib/ieee1275/relocator.c: Likewise.
14386 * grub-core/lib/mips/relocator.c: Rewritten.
14387 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
14388 stylistic adjustments.
14389 * grub-core/lib/powerpc/relocator.c: New file.
14390 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
14391 * grub-core/lib/relocator.c: Rewritten.
14392 * grub-core/lib/x86_64/relocator_asm.S: New file.
14393 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
14394 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
14395 (bsd_tag): New struct.
14396 (tags): New variable.
14397 (tags_last): Likewise.
14398 (netbsd_module): New struct.
14399 (netbsd_mods): New variable.
14400 (netbsd_mods_last): Likewise.
14401 (openbsd_opts): New parameter "serial".
14402 (OPENBSD_SERIAL_ARG): New definition.
14403 (netbsd_opts): New parameter "serial".
14404 (NETBSD_SERIAL_ARG): New definition.
14405 (grub_freebsd_add_meta): Reorganised into ...
14406 (grub_bsd_add_meta): ...this. All users updated.
14407 (grub_freebsd_add_mmap): Reorganised into ...
14408 (generate_e820_mmap): ...this...
14409 (grub_bsd_add_mmap): ...and this. All users updated.
14410 (grub_freebsd_list_modules): Use tags.
14411 (grub_netbsd_add_meta_module): New function.
14412 (grub_netbsd_list_modules): Likewise.
14413 (grub_freebsd_boot): Use relocator and finish EFI.
14414 (grub_openbsd_boot): Likewise.
14415 (grub_netbsd_setup_video): New function.
14416 (grub_netbsd_add_modules): Likewise.
14417 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
14418 and finish EFI.
14419 (grub_bsd_unload): Unload tags.
14420 (grub_bsd_load_aout): Use relocator.
14421 (grub_bsd_elf32_size_hook): New function.
14422 (grub_bsd_elf32_hook): Use relocator.
14423 (grub_bsd_elf64_size_hook): New function.
14424 (grub_bsd_elf64_hook): Use relocator.
14425 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
14426 (grub_bsd_load): Zero-out openbsd_ramdisk.
14427 (grub_bsd_load): Use relocator.
14428 (grub_cmd_openbsd): Support serial.
14429 (grub_cmd_netbsd): Support modules.
14430 (grub_cmd_freebsd_module): Use relocator.
14431 (grub_netbsd_module_load): New function.
14432 (grub_cmd_netbsd_module): Likewise.
14433 (grub_cmd_openbsd_ramdisk): Likewise.
14434 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
14435 kopenbsd_ramdisk.
14436 (GRUB_MOD_FINI): Unregister new commands.
14437 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
14438 (grub_freebsd_load_elfmodule_obj): Use relocator.
14439 (grub_freebsd_load_elfmodule): Likewise.
14440 (grub_freebsd_load_elf_meta): Likewise.
14441 (grub_netbsd_load_elf_meta): New function.
14442 (grub_openbsd_find_ramdisk): Likewise.
14443 * grub-core/loader/i386/bsd_helper.S: Removed.
14444 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
14445 * grub-core/loader/i386/bsd_trampoline.S: Removed.
14446 * grub-core/loader/i386/efi/linux.c: Likewise.
14447 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
14448 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
14449 (DEFAULT_VIDEO_MODE): Likewise.
14450 (real_mode_target): New variable.
14451 (prot_mode_target): Likewise.
14452 (initrd_mem_target): Likewise.
14453 (relocator): Likewise.
14454 (efi_mmap_buf): Likewise.
14455 (efi_mmap_size): Likewise.
14456 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
14457 (free_pages): Use relocator.
14458 (allocate_pages): Account for efi_mmap and use relocator. Return error.
14459 (grub_linux_setup_video): Return error.
14460 (grub_linux_trampoline_start): Removed.
14461 (grub_linux_trampoline_end): Likewise.
14462 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
14463 andd video parameters depending on firmware.
14464 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
14465 [GRUB_MACHINE_EFI]: Pass EFI parameters.
14466 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
14467 (grub_cmd_initrd): Use relocator.
14468 * grub-core/loader/i386/linux_trampoline.S: Removed.
14469 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
14470 (elf_sec_entsize): Likewise.
14471 (elf_sec_shstrndx): Likewise.
14472 (elf_sections): Likewise.
14473 (grub_multiboot_load): Use relocator.
14474 (grub_multiboot_get_mbi_size): Account for sections.
14475 (grub_multiboot_make_mbi): Use relocator and support sections.
14476 (grub_multiboot_add_elfsyms): New function.
14477 (grub_multiboot_free_mbi): Free sections.
14478 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
14479 (grub_linux_real_target): Likewise.
14480 (grub_linux_real_chunk): Likewise.
14481 (grub_linux16_prot_size): Likewise.
14482 (grub_linux16_boot): Use relocator.
14483 (grub_linux_unload): Unload relocator.
14484 (grub_cmd_linux): Use relocator.
14485 (grub_cmd_initrd): Likewise.
14486 * grub-core/loader/i386/pc/ntldr.c: New file.
14487 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14488 Don't try to guess CPU frequency.
14489 (grub_xnu_set_video): Stretch bitmap.
14490 (grub_xnu_boot): Use relocator.
14491 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14492 (grub_linux_unload): Free relocator.
14493 (grub_linux_load32): Use relocator.
14494 (grub_linux_load64): Likewise.
14495 (grub_cmd_initrd): Likewise.
14496 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14497 (grub_multiboot_unload): Unload relocator.
14498 (grub_cmd_multiboot): Use relocator.
14499 (grub_cmd_module): Likewise.
14500 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14501 Use relocator and support sections.
14502 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14503 (elf_sec_entsize): Likewise.
14504 (elf_sec_shstrndx): Likewise.
14505 (elf_sections): Likewise.
14506 (grub_multiboot_load): Use relocator.
14507 (grub_multiboot_get_mbi_size): Account for sections.
14508 (grub_multiboot_make_mbi): Use relocator and support sections.
14509 (grub_multiboot_add_elfsyms): New function.
14510 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14511 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14512 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14513 Prototype changed. All users updated.
14514 (grub_xnu_align_heap): Simplified.
14515 (grub_xnu_writetree_toheap): Likewise.
14516 (grub_xnu_unload): Unload relocator.
14517 (grub_cmd_xnu_kernel): Use relocator.
14518 (grub_cmd_xnu_kernel64): Likewise.
14519 (grub_xnu_register_memory): Simplified.
14520 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
14521 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14522 EFI is finished.
14523 (grub_console_checkkey): Likewise.
14524 (grub_console_getkey): Likewise.
14525 (grub_console_getwh): Likewise.
14526 (grub_console_getxy): Likewise.
14527 (grub_console_gotoxy): Likewise.
14528 (grub_console_cls): Likewise.
14529 (grub_console_setcolorstate): Likewise.
14530 (grub_console_setcursor): Likewise.
14531 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14532 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14533 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14534 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14535 * grub-core/tests/boot/kernel-8086.S: Likewise.
14536 * grub-core/tests/boot/kernel-i386.S: Likewise.
14537 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14538 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14539 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14540 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14541 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14542 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14543 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14544 * grub-core/tests/boot/linux.cfg: Likewise.
14545 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14546 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14547 * grub-core/tests/boot/linux16.cfg: Likewise.
14548 * grub-core/tests/boot/multiboot.cfg: Likewise.
14549 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14550 * grub-core/tests/boot/ntldr.cfg: Likewise.
14551 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14552 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14553 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14554 New definition.
14555 * include/grub/dl.h (grub_dl_unload_all): Removed.
14556 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14557 (grub_efi_finish_boot_services): Change prototype.
14558 (grub_efi_is_finished): New variable.
14559 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14560 Changed prototype.
14561 (grub_efiemu_finish_boot_services): Removed.
14562 (grub_machine_efiemu_init_tables): New prototype.
14563 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14564 (grub_elf64_phdr_iterate): Likewise.
14565 * include/grub/i386/bsd.h: Include relocator.h.
14566 (freebsd_tag_header): New struct.
14567 (grub_openbsd_bios_mmap): Removed.
14568 (grub_unix_real_boot): Removed.
14569 (grub_freebsd_load_elfmodule32): Changed prototype.
14570 (grub_freebsd_load_elfmodule_obj64): Likewise.
14571 (grub_freebsd_load_elf_meta32): Likewise.
14572 (grub_freebsd_load_elf_meta64): Likewise.
14573 (grub_freebsd_add_meta): Removed.
14574 (grub_netbsd_load_elf_meta32): New prototype.
14575 (grub_netbsd_load_elf_meta64): Likewise.
14576 (grub_bsd_add_meta): Likewise.
14577 (grub_openbsd_ramdisk_descriptor): New struct.
14578 (grub_openbsd_find_ramdisk32): New prototype.
14579 (grub_openbsd_find_ramdisk64): Likewise.
14580 * include/grub/i386/coreboot/loader.h: Removed.
14581 * include/grub/i386/efi/loader.h: Likewise.
14582 * include/grub/i386/ieee1275/loader.h: Likewise.
14583 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14584 to grub_uint32_t.
14585 * include/grub/i386/loader.h: Removed.
14586 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14587 value.
14588 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14589 (grub_phys_addr_t): New type.
14590 (grub_vtop): New inline function.
14591 (grub_map_memory): Likewise.
14592 (grub_unmap_memory): Likewise.
14593 * include/grub/i386/multiboot/loader.h: Removed.
14594 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14595 (NETBSD_BTINFO_CONSOLE): New definition.
14596 (NETBSD_BTINFO_SYMTAB): Likewise.
14597 (NETBSD_BTINFO_MODULES): Likewise.
14598 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14599 (grub_netbsd_bootinfo): New struct.
14600 (grub_netbsd_btinfo_common): Use explicit bitsize.
14601 (grub_netbsd_btinfo_mmap_entry): Removed.
14602 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14603 (grub_netbsd_btinfo_bootdisk): New struct.
14604 (grub_netbsd_btinfo_symtab): Likewise.
14605 (grub_netbsd_btinfo_serial): Likewise.
14606 (grub_netbsd_btinfo_modules): Likewise.
14607 (grub_netbsd_btinfo_framebuf): Likewise.
14608 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14609 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14610 Likewise.
14611 (grub_openbsd_bootargs): Use explicit bitsize.
14612 (grub_openbsd_bootarg_console): New struct.
14613 (GRUB_OPENBSD_COM_MAJOR): New definition.
14614 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14615 * include/grub/i386/pc/efiemu.h: Removed.
14616 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14617 * include/grub/i386/qemu/loader.h: Removed.
14618 * include/grub/i386/relocator.h: Rewritten.
14619 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14620 * include/grub/mips/memory.h: New file.
14621 * include/grub/mips/multiboot.h: Rewritten.
14622 * include/grub/mips/relocator.h: Rewritten.
14623 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14624 (grub_vtop): New function.
14625 (grub_map_memory): Likewise.
14626 (grub_unmap_memory): Likewise.
14627 * include/grub/misc.h (ALIGN_DOWN): New definition.
14628 * include/grub/mm.h (grub_mm_check_real): New proto.
14629 (GRUB_MM_CHECK): New definition.
14630 * include/grub/mm_private.h: New file.
14631 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14632 (grub_multiboot_get_mbi_size): Removed.
14633 (grub_multiboot_make_mbi): Change prottype.
14634 (grub_multiboot_set_accepts_video): New proto.
14635 (grub_multiboot_add_elfsyms): Likewise.
14636 (grub_multiboot_payload_eip): New variable.
14637 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14638 New prototype.
14639 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14640 New definition.
14641 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14642 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14643 * include/grub/powerpc/ieee1275/loader.h: Removed.
14644 * include/grub/powerpc/memory.h: New file.
14645 * include/grub/powerpc/relocator.h: Likewise.
14646 * include/grub/relocator.h: Likewise.
14647 * include/grub/relocator_private.h: Likewise.
14648 * include/grub/sparc64/ieee1275/loader.h: Removed.
14649 * include/grub/x86_64/memory.h: New file.
14650 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14651 (grub_xnu_heap_malloc): Likewise.
14652 (grub_xnu_heap_real_start): Removed.
14653 (grub_xnu_heap_start): Likewise.
14654 (grub_xnu_relocator): New variable.
14655 (grub_xnu_heap_target_start): Likewise.
14656 * tests/util/grub-shell.in: Support non-pc.
14657 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 14658
5303b85d
VS
146592010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14660
14661 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
14662 on malloc error.
14663 (grub_bidi_logical_to_visual): Check that malloc succeded.
14664 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
14665 puts.
14666 (grub_xputs_normal): Likewise.
14667
d768d159
VS
146682010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14669
14670 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
14671 extra_dist.
14672
146732010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 * grub-core/efiemu/runtime/efiemu.sh: Removed.
14676
5bf84df4
VS
146772010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14678
14679 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
14680
3626810e
VS
146812010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14682
14683 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
14684 dprintf.
14685
a7363f53
BC
146862010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
14687
14688 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
14689
902f75f6
VS
146902010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14691
14692 * grub-core/normal/term.c (print_more): Fix a memory leak.
14693 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
14694 (grub_xputs_normal): Likewise.
14695
3c707967
VS
146962010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14697
14698 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14699 the begining of the string
14700
2053cc07
VS
147012010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 * grub-core/script/script.c (grub_script_parse): Free parsed on
14704 failure.
14705
46422ebf
VS
147062010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
14709 on failure.
14710
9e0fa3f6
VS
147112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14712
14713 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
14714 return.
14715
3393cf16
VS
147162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14717
14718 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
14719 (scroll_up): Fix a memory leak.
14720
b17540cb
VS
147212010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
14724 errors.
14725
67140446
VS
147262010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
14727
14728 Handle USB pendrives exposed as floppies.
14729
14730 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
14731 floppy.
14732 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14733 Check for partitions on all devices.
14734
e35e46fc
VS
147352010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14736
14737 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
14738 (readkey): Likewise.
14739
d24c6190
BC
147402010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14741
14742 Multiple variable names support to "export" command.
14743
14744 * normal/context.c (grub_cmd_export): "export" command supports
14745 multiple variable names.
14746
04ddcc6a
ST
147472010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14748
14749 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14750 --target=drive output to Mach device name.
14751
0c8b61d8
BC
147522010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14753
14754 New Automake based build system for GRUB.
14755
14756 * ABOUT-NLS: New file.
14757 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14758 in Makefile.util.def file.
14759 * Makefile.util.def: New file. Autogen build definitions file for
14760 GRUB host utils.
14761 * conf/Makefile.common: New file. Common variables for GRUB host
14762 utils and target modules.
14763 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14764 * docs/Makefile.am: New file. Automake file for docs.
14765 * gentpl.py: New file. Python script to generate Autogen
14766 template.
14767 * grub-core/Makefile.am: New file. GRUB target modules' rules
14768 that doesn't fit in Makefile.core.def file.
14769 * grub-core/Makefile.core.def: New file. Autogen build
14770 definitions file for GRUB target modules.
14771 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
14772 specific setjmp.S file.
14773 * po/Makefile.am: New file.
14774
14775 * .bzrignore: New ignores.
14776 * INSTALL: New requirements, without Ruby.
14777 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
14778 * autogen.sh: Updated to invoke autogen as necessary.
14779 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
14780 and defines for Automake conditionals.
14781 * geninit.sh: Refactoring.
14782
14783 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
14784 necessary.
14785 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
14786 New prototype.
14787
14788 * include/grub/test.h: Fix functional test modules' naming.
14789 * grub-core/tests/example_functional_test.c: Fix test module name.
14790
14791 * util/misc.c: Hosted versions' of grub functions for libgrub.a
14792 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
14793 * util/grub-editenv.c: Likewise.
14794 * util/grub-fstest.c: Likewise.
14795 * util/grub-mkdevicemap.c: Likewise.
14796 * util/grub-mkfont.c: Likewise.
14797 * util/grub-mkimage.c: Likewise.
14798 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14799 * util/grub-probe.c: Likewise.
14800 * util/grub-script-check.c: Likewise.
14801 * util/i386/pc/grub-setup.c: Likewise.
14802 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14803
14804 * tests/util/grub-shell.in: Fix override directory path.
14805 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
14806 * util/import_gcry.py: Create Makefile.gcry.def file instead.
14807
14808 * util/lvm.c: Update #includes.
14809 * util/raid.c: Likewise.
14810 * util/resolve.c: Likewise.
14811 * grub-core/bus/emu/pci.c: Likewise.
14812 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
14813 * grub-core/lib/posix_wrap/string.h: Likewise.
14814 * grub-core/kern/emu/main.c: Likewise.
14815
14816 * grub-core/gensymlist.sh: New file. Script for generating kernel
14817 symbols file.
14818 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
14819
14820 * grub-core/gentrigtables.c: Fix unused variable warnings.
14821
14822 * Makefile.in: Removed.
14823 * conf/any-emu.rmk: Removed.
14824 * conf/common.rmk: Removed.
14825 * conf/i386-coreboot.rmk: Removed.
14826 * conf/i386-efi.rmk: Removed.
14827 * conf/i386-ieee1275.rmk: Removed.
14828 * conf/i386-multiboot.rmk: Removed.
14829 * conf/i386-pc.rmk: Removed.
14830 * conf/i386-qemu.rmk: Removed.
14831 * conf/i386.rmk: Removed.
14832 * conf/mips-yeeloong.rmk: Removed.
14833 * conf/mips.rmk: Removed.
14834 * conf/powerpc-ieee1275.rmk: Removed.
14835 * conf/sparc64-ieee1275.rmk: Removed.
14836 * conf/tests.rmk: Removed.
14837 * conf/x86-efi.rmk: Removed.
14838 * conf/x86_64-efi.rmk: Removed.
14839 * gendistlist.sh: Removed.
14840 * geninitheader.sh: Removed.
14841 * genkernsyms.sh.in: Removed.
14842 * genmk.rb: Removed.
14843 * gensymlist.sh.in: Removed.
14844 * mkinstalldirs: Removed.
14845 * boot: Moved ...
14846 * grub-core/boot: ... to here.
14847 * bus: Moved ...
14848 * grub-core/bus: ... to here.
14849 * commands: Moved ...
14850 * grub-core/commands: ... to here.
14851 * disk: Moved ...
14852 * grub-core/disk: ... to here.
14853 * efiemu: Moved ...
14854 * grub-core/efiemu: ... to here.
14855 * font: Moved ...
14856 * grub-core/font: ... to here.
14857 * fs: Moved ...
14858 * grub-core/fs: ... to here.
14859 * gencmdlist.sh: Moved ...
14860 * grub-core/gencmdlist.sh: ... to here.
14861 * genemuinit.sh: Moved ...
14862 * grub-core/genemuinit.sh: ... to here.
14863 * genemuinitheader.sh: Moved ...
14864 * grub-core/genemuinitheader.sh: ... to here.
14865 * genfslist.sh: Moved ...
14866 * grub-core/genfslist.sh: ... to here.
14867 * genhandlerlist.sh: Moved ...
14868 * grub-core/genhandlerlist.sh: ... to here.
14869 * genmoddep.awk: Moved ...
14870 * grub-core/genmoddep.awk: ... to here.
14871 * genmodsrc.sh: Moved ...
14872 * grub-core/genmodsrc.sh: ... to here.
14873 * genpartmaplist.sh: Moved ...
14874 * grub-core/genpartmaplist.sh: ... to here.
14875 * genparttoollist.sh: Moved ...
14876 * grub-core/genparttoollist.sh: ... to here.
14877 * genterminallist.sh: Moved ...
14878 * grub-core/genterminallist.sh: ... to here.
14879 * gentrigtables.c: Moved ...
14880 * grub-core/gentrigtables.c: ... to here.
14881 * genvideolist.sh: Moved ...
14882 * grub-core/genvideolist.sh: ... to here.
14883 * gettext: Moved ...
14884 * grub-core/gettext: ... to here.
14885 * gfxmenu: Moved ...
14886 * grub-core/gfxmenu: ... to here.
14887 * gnulib: Moved ...
14888 * grub-core/gnulib: ... to here.
14889 * hello: Moved ...
14890 * grub-core/hello: ... to here.
14891 * hook: Moved ...
14892 * grub-core/hook: ... to here.
14893 * io: Moved ...
14894 * grub-core/io: ... to here.
14895 * kern: Moved ...
14896 * grub-core/kern: ... to here.
14897 * lib: Moved ...
14898 * grub-core/lib: ... to here.
14899 * loader: Moved ...
14900 * grub-core/loader: ... to here.
14901 * mmap: Moved ...
14902 * grub-core/mmap: ... to here.
14903 * normal: Moved ...
14904 * grub-core/normal: ... to here.
14905 * partmap: Moved ...
14906 * grub-core/partmap: ... to here.
14907 * parttool: Moved ...
14908 * grub-core/parttool: ... to here.
14909 * script: Moved ...
14910 * grub-core/script: ... to here.
14911 * term: Moved ...
14912 * grub-core/term: ... to here
14913 * tests/example_functional_test.c: Moved ...
14914 * grub-core/tests/example_functional_test.c: ... to here.
14915 * tests/lib/functional_test.c: Moved ...
14916 * grub-core/tests/lib/functional_test.c: ... to here.
14917 * tests/lib/test.c: Moved ...
14918 * grub-core/tests/lib/test.c: ... to here.
14919 * video: Moved ...
14920 * grub-core/video: ... to here.
14921
645586e6
BC
149222010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14923
14924 Replace --enable-grub-emu-modules with grub-emu-lite.
14925
14926 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
14927 cache.S.
14928
14929 * include/grub/emu/misc.h (grub_emu_init): New prototype.
14930 * kern/emu/full.c: New file. For grub-emu specific initialization.
14931 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
14932 * kern/emu/main.c: Call initialization function grub_emu_init.
14933
14934 * Makefile.in: Include grub-emu-lite in install.
14935 * commands/parttool.c: Use grub_no_autoload to differentiate
14936 between grub-emu and grub-emu-lite.
14937 * include/grub/misc.h: New variable grub_no_autoload.
14938
14939 * conf/any-emu.rmk: New rules for grub-emu-lite.
14940 * configure.ac: Remove --enable-grub-emu-modules.
14941 * genmk.rb: Cleanup unnecessary rules.
14942 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
14943
14944 * normal/main.c: Don't load list files on grub-emu-lite.
14945 * util/misc.c (grub_arch_sync_caches): Removed.
14946
f86a4030
CW
149472010-08-23 Colin Watson <cjwatson@ubuntu.com>
14948
14949 * kern/mips/startup.S (grub_prefix): Update comment to refer to
14950 grub-mkimage rather than grub-mkelfimage.
14951 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14952
06776944
VS
149532010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14954
14955 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
14956 a key after CapsLock or NumLock. It's just a qemu bug.
14957
df262419
VS
149582010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14959
14960 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
14961 needed by libusb wrapper.
14962
b40ea81b
ST
149632010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14964
14965 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
14966
dee50575
VS
149672010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14968
14969 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
14970 --nounzip is passed.
14971
fb1d7b79
VS
149722010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 USB hotunplugging and USB serial support.
14975
14976 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
14977 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
14978 (grub_uhci_transfer): Respect timeout and set *actual.
14979 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
14980 non-standard length.
14981 (grub_usb_device_attach): Autoload modules.
14982 (GRUB_MOD_INIT): Set grub_term_poll_usb.
14983 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
14984 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14985 users updated.
14986 (grub_usb_add_hub): Fill nports and children.
14987 (attach_root_port): Receive hub instead of controller.
14988 All users updated. Fill hub->devices.
14989 (grub_usb_root_hub): Allocate hub->devices.
14990 (detach_device): New function.
14991 (poll_nonroot_hub): Fill children and detach devices.
14992 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
14993 actual arguments. All users updated.
14994 (grub_usb_bulk_read_extended): New function.
14995 * bus/usb/serial/common.c: New file.
14996 * bus/usb/serial/ftdi.c: Likewise.
14997 * bus/usb/serial/pl2303.c: Likewise.
14998 * commands/terminal.c (handle_command): Support wildcard.
14999 * commands/usbtest.c: Output "Unknown" instead of empty string.
15000 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
15001 (usbserial_common_mod_SOURCES): New variable.
15002 (usbserial_common_mod_CFLAGS): Likewise.
15003 (usbserial_common_mod_LDFLAGS): Likewise.
15004 (pkglib_MODULES): Add usbserial_pl2303.mod.
15005 (usbserial_pl2303_mod_SOURCES): New variable.
15006 (usbserial_pl2303_mod_CFLAGS): Likewise.
15007 (usbserial_pl2303_mod_LDFLAGS): Likewise.
15008 (pkglib_MODULES): Add usbserial_ftdi.mod.
15009 (usbserial_ftdi_mod_SOURCES): New variable.
15010 (usbserial_ftdi_mod_CFLAGS): Likewise.
15011 (usbserial_ftdi_mod_LDFLAGS): Likewise.
15012 (pkglib_MODULES): Add serial.mod.
15013 (serial_mod_SOURCES): New variable.
15014 (serial_mod_CFLAGS): Likewise.
15015 (serial_mod_LDFLAGS): Likewise.
15016 * conf/i386-pc.rmk: Likewise.
15017 * conf/mips-yeeloong.rmk: Likewise.
15018 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
15019 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15020 * disk/usbms.c (first_available_slot): New variable.
15021 (grub_usbms_attach): Don't reuse free slots due to potential cache
15022 problems.
15023 * include/grub/serial.h: Moved to ..
15024 * include/grub/ns8250.h: ...this.
15025 * include/grub/serial.h: New file.
15026 * include/grub/term.h (grub_term_poll_usb): New variable.
15027 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
15028 readkey. All users updated.
15029 (grub_terminfo_output_state): Pass term to put.
15030 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
15031 (grub_usb_controller_dev): Add timeout and actual arguments to
15032 transfer. All users updated.
15033 (grub_usb_interface): New field detach_data.
15034 (grub_usb_device): New fields children and nports.
15035 (grub_usb_ep_type_t): New type.
15036 (grub_usb_get_ep_type): New function.
15037 (grub_usb_bulk_read_extended): Likewise.
15038 * include/grub/usbdesc.h (grub_usb_desc): New type.
15039 * include/grub/usbserial.h: New file.
15040 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
15041 * kern/term.c (grub_term_poll_usb): New variable.
15042 (grub_getkey): Call grub_term_poll_usb if set.
15043 (grub_checkkey): Likewise.
15044 (grub_getkeystatus): Likewise.
15045 * term/serial.c: Moved controller-specific parts to ...
15046 * term/ns8250.c: ... here.
15047 * term/serial.c: Mostly rewritten.
15048 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
15049 according to spec.
15050
21a313de
RM
150512010-08-20 Robert Millan <rmh@gnu.org>
15052
15053 Make kFreeBSD code more generic to support ext2fs as root, ufs as
15054 a separate module and maybe other interesting combinations.
15055
15056 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
15057 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
15058 (kfreebsd_entry): Add generic filesystem module load routine.
15059 Map GRUB `ext2' to kFreeBSD `ext2fs'.
15060
63c734a6
CW
150612010-08-20 Colin Watson <cjwatson@ubuntu.com>
15062
15063 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
15064 "numcenter" (I misunderstood the purpose of this entry).
15065 * docs/grub.texi (sendkey): Likewise.
15066
c4d16542
CW
150672010-08-20 Colin Watson <cjwatson@ubuntu.com>
15068
15069 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
15070 status flag options; simply omitting the option is equivalent and
15071 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
15072 (keysym_table): Rename "num5numlock" to "numlock".
15073 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
15074 can uniformly say that only the last of multiple `sendkey'
15075 invocations has any effect.
15076 * docs/grub.texi (sendkey): New section.
15077
93541d66
CW
150782010-08-19 Colin Watson <cjwatson@ubuntu.com>
15079
15080 * commands/i386/pc/sendkey.c (options): Fix three typos.
15081
b4ece5e1
VS
150822010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 Implement sendkey support.
15085
15086 * commands/i386/pc/sendkey.c: New file.
15087 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
15088 (sendkey_mod_SOURCES): New variable.
15089 (sendkey_mod_CFLAGS): Likewise.
15090 (sendkey_mod_LDFLAGS): Likewise.
15091
51f1f5af
CW
150922010-08-18 Colin Watson <cjwatson@ubuntu.com>
15093
15094 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
15095 fix warnings from Autoconf.
15096
9da94e05
CW
150972010-08-18 Colin Watson <cjwatson@ubuntu.com>
15098
15099 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
15100 to avoid false positives with some assemblers that output things
15101 like "someprefix_func" as part of their output.
15102
729a0f2e
RM
151032010-08-15 Robert Millan <rmh@gnu.org>
15104
15105 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
15106 errors.
15107 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
15108 grub_get_libzfs_handle() errors.
15109
f3710e08
RM
151102010-08-14 Robert Millan <rmh@gnu.org>
15111
15112 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
15113 filesystem is not ZFS.
15114
7a3c13de
BC
151152010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15116
15117 Fix for misspelled color names defaulting to black/black (bug
15118 reported by Doug Nazar)
15119
15120 * include/grub/normal.h (grub_parse_color_name_pair): Add return
15121 status to prototype.
15122 * normal/color.c (grub_parse_color_name_pair): Return failure
15123 status.
15124 (grub_env_write_color_normal): Ignore bad color names.
15125 (grub_env_write_color_highlight): Likewise.
15126 * normal/main.c (GRUB_MOD_INIT): Set default color names.
15127
ab8ba50d
BC
151282010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15129
15130 "shift" command support to GRUB script.
15131
15132 * include/grub/script_sh.h (grub_script_shift): New prototype.
15133 * script/execute.c (grub_script_shift): New function.
15134 * script/main.c (grub_script_init): Register shift command.
15135 (grub_script_fini): Unregister shift command.
15136 * util/grub-script-check.c (grub_script_cmd_shift): New function.
15137
15138 * tests/grub_script_shift.in: New testcase.
15139 * conf/tests.rmk: Rules for new testcase.
15140
4d61999e
BC
151412010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15142
15143 "continue" command support to GRUB script.
15144
15145 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
15146 (grub_script_break): Continue support.
15147 * script/main.c (grub_script_init): Register continue command.
15148 (grub_script_fini): Unregister continue command.
15149
15150 * tests/grub_script_continue.in: New testcase.
15151 * conf/tests.rmk: Rules for new testcase.
15152
4df51e00
BC
151532010-08-12 BVK Chaitanya <bvk@dbook>
15154
15155 "break" command support to GRUB script.
15156
15157 * conf/common.rmk: Rule updates to grub-script-check.
15158 * include/grub/misc.h (grub_min): New function.
15159 * include/grub/script_sh.h (grub_script_init): New prototype.
15160 (grub_script_fini): New prototype.
15161 (grub_script_break): New prototype.
15162 * script/main.c (grub_script_init): New function.
15163 (grub_script_fini): New function.
15164 * script/execute.c (grub_script_break): New function.
15165 * normal/main.c: Calls to grub_script_{init,fini}.
15166 * util/grub-script-check.c (grub_script_break): New function.
15167
15168 * tests/grub_script_break.in: New testcase.
15169 * conf/tests.rmk: Rules for new test case.
15170
f12c8420
BC
151712010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15172
15173 Function parameters support to GRUB script.
15174
15175 * script/yylex.l (VARIABLE): Regular expression update.
15176 * script/function.c (grub_script_function_call): Moved ...
15177 * script/execute.c (grub_script_function_call): ... to here.
15178 (grub_script_execute_arglist_to_argv): Removed.
15179 (grub_script_arglist_to_argv): New function.
15180 * script/argv.c: New file.
15181 (grub_script_argv_free): New function.
15182 (grub_script_argv_next): Likewise.
15183 (grub_script_argv_append): Likewise.
15184 (grub_script_argv_split_append): Likewise.
15185 * include/grub/script_sh.h (grub_script_argv): New struct.
15186 (grub_script_argv_free): New function.
15187 (grub_script_argv_next): Likewise.
15188 (grub_script_argv_append): Likewise.
15189 (grub_script_argv_split_append): Likewise.
15190
15191 * conf/common.rmk (normal.mod): New source script/argv.c.
15192
15193 * tests/grub_script_echo1.in: More tests.
15194 * tests/grub_script_vars1.in: Likewise.
15195 * tests/grub_script_functions.in: New test case.
15196 * conf/tests.rmk: Rules for new testcase.
15197
8022b748
BC
151982010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15199
15200 Remove grub_script_cmdblock struct.
15201
15202 * include/grub/script_sh.h: Remove grub_script_cmdblock.
15203 * script/parser.y: Likewise.
15204 * script/execute.c: Rename cmdblock suffix to cmdlist.
15205 * script/script.c: Likewise.
15206 * util/grub-script-check.c: Likewise.
15207
79a6ba61
YB
152082010-08-11 Yves Blusseau <blusseau@zetam.org>
15209
15210 * .bzrignore: add grub-macho2img
15211
d04b9414
VS
152122010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15213
15214 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
15215
f947ab49
VS
152162010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15217
15218 Remove the dump of sm712 initialisation sequence.
15219
15220 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
15221 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
15222 (GRUB_VGA_IO_MISC_WRITE): Likewise.
15223 (GRUB_VGA_CR_*): Added many registers.
15224 (GRUB_VGA_SR_*): Likewise.
15225 (GRUB_VGA_GR_*): Likewise.
15226 (grub_vga_write_arx): New function.
15227 (grub_video_hw_config): New struct.
15228 (grub_vga_set_geometry): New function.
15229 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
15230 GRUB_PCI_CLASS_SUBCLASS_VGA.
15231 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
15232 * video/sm712.c (grub_sm712_write_reg): New function
15233 (grub_sm712_read_reg): Likewise.
15234 (grub_sm712_sr_write): Likewise.
15235 (grub_sm712_gr_write): Likewise.
15236 (grub_sm712_cr_write): Likewise.
15237 (grub_sm712_write_arx): Likewise.
15238 (grub_sm712_cr_shadow_write): Likewise.
15239 (grub_sm712_write_dda_lookup): Likewise.
15240 (grub_video_sm712_setup): Initialise the video rather then
15241 blindly replay the dump.
15242 (main) [TEST]: Add a routine to be able to compile as standalone for
15243 tests.
15244 * video/sm712_init.c (sm712_init): Removed.
15245 (sm712_sr_seq1): New array.
15246 (sm712_sr_seq2): Likewise.
15247
f0206638
VS
152482010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 * include/grub/vga.h: Add missing grub/pci.h include.
15251
2764da3b
YB
152522010-08-10 Yves Blusseau <blusseau@zetam.org>
15253
15254 * util/grub-macho2img.c (main): fix typo
15255
cf0c775e
VS
152562010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
15259 (grub_vga_gr_read): Likewise.
15260 (grub_vga_cr_write): Likewise.
15261 (grub_vga_cr_read): Likewise.
15262 (grub_vga_sr_write): Likewise.
15263 (grub_vga_sr_read): Likewise.
15264 (grub_vga_palette_read): Likewise.
15265 (grub_vga_palette_write): Likewise.
15266 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
15267 (grub_sm712_sr_read): New function.
15268 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
15269 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
15270
07f360e9
RM
152712010-08-09 Robert Millan <rmh@gnu.org>
15272
15273 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
15274 out unused variables on non-ZFS build.
15275
346c2072
RM
152762010-08-08 Robert Millan <rmh@gnu.org>
15277
15278 Fix path generation for sub-filesystems in ZFS.
15279
15280 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
15281 missing slash.
15282
71175420
RM
152832010-08-08 Robert Millan <rmh@gnu.org>
15284
15285 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
15286
0d8286f3
RM
152872010-08-08 Robert Millan <rmh@gnu.org>
15288
15289 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
15290 exist, issue a proper error message (rely on `ls' for translated
15291 strings).
15292
55dd2924
RM
152932010-08-08 Robert Millan <rmh@gnu.org>
15294
15295 Fix grub-probe invocation.
15296
15297 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
15298
d3dd9e80
RM
152992010-08-04 Robert Millan <rmh@gnu.org>
15300
15301 * configure.ac: Remove checks for getfsstat() and getmntany().
15302 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
15303 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
15304 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
15305 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
15306 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
15307 function.
15308 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
15309 via find_mount_point_from_dir() and getfsstat() / getmntany().
15310
0de22aa9
RM
153112010-08-04 Robert Millan <rmh@gnu.org>
15312
15313 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15314 (grub_find_zpool_from_mount_point): Merge into ...
15315 (grub_find_zpool_from_dir): ... this.
15316 * kern/emu/misc.c: Likewise.
15317
15318 * kern/emu/misc.c
15319 (grub_make_system_path_relative_to_its_root): Replace
15320 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
15321 with grub_find_zpool_from_dir().
15322 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
15323
62858144
RM
153242010-08-04 Robert Millan <rmh@gnu.org>
15325
15326 Support OpenSolaris in ZFS device resolution.
15327
15328 * configure.ac: Check for getmntany().
15329 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
15330 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
15331 support.
15332
9dd6fd50
RM
153332010-08-03 Robert Millan <rmh@gnu.org>
15334
15335 Fix grub-emu build.
15336
15337 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
15338 * include/grub/emu/misc.h: ... here.
15339
15340 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
15341 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
15342
15343 * util/misc.c: Remove `<grub/util/libzfs.h>'.
15344 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
15345 (grub_get_libzfs_handle): Move to ...
15346 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
15347 (grub_get_libzfs_handle): ... here.
15348
c9f7ff97
BC
153492010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
15350
15351 * script/execute.c (grub_script_execute_cmdline): Check for NULL
15352 as command name case.
15353
a870a783
CW
153542010-08-02 Colin Watson <cjwatson@ubuntu.com>
15355
15356 * disk/raid.c (insert_array): Select unique numbers for named arrays
15357 as well, for use as keys in the disk cache.
15358
c7db243b
RM
153592010-08-01 Robert Millan <rmh@gnu.org>
15360
15361 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
15362 kFreeBSD device name, except on ZFS where the filesystem label is
15363 used.
15364 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
15365 `/boot/zfs/zpool.cache'.
15366 Set mountfrom kernel variable using ${kfreebsd_device}.
15367
f7abdefb
RM
153682010-08-01 Robert Millan <rmh@gnu.org>
15369
15370 Make it even harder to use uninitialized `libzfs_handle' (and
15371 make the interface a bit simpler).
15372
15373 * include/grub/util/misc.h (grub_util_init_libzfs)
15374 (libzfs_handle): Remove.
15375 (grub_get_libzfs_handle): New prototype.
15376
15377 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
15378 attribute.
15379 (grub_util_init_libzfs): Remove.
15380 (grub_get_libzfs_handle): New function.
15381
15382 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
15383 grub_get_libzfs_handle() to obtain a libzfs handle instead of
15384 accessing `libzfs_handle' directly.
15385
c882acc0
RM
153862010-08-01 Robert Millan <rmh@gnu.org>
15387
15388 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15389 (grub_find_zpool_from_mount_point): New function prototypes.
15390
15391 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15392 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15393
15394 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15395 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15396 `static' attribute.
15397
15398 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15399 finding zpool from mount point into ...
15400 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15401
15402 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15403 requested path is part of a ZFS pool, use
15404 grub_find_zpool_from_mount_point() to detect its filesystem name,
15405 and generate a path with `/fsname@path' syntax.
15406
8bfe31d8
CW
154072010-08-01 Colin Watson <cjwatson@ubuntu.com>
15408
15409 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
15410 (void) rather than () so that this is a proper prototype.
15411
553df63d
VS
154122010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15413
15414 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
15415
8687cf07
VS
154162010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15417
15418 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
15419 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
15420
ea9be8ea
CW
154212010-08-01 Colin Watson <cjwatson@ubuntu.com>
15422
15423 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
15424
6eea041a
CW
154252010-08-01 Colin Watson <cjwatson@ubuntu.com>
15426
15427 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
15428
2cfb45df
CW
154292010-08-01 Colin Watson <cjwatson@ubuntu.com>
15430
15431 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
15432 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
15433 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
15434 disable gfxpayload.
15435 (Shell-like scripting): Add real content.
15436 (Serial terminal): Suggest `terminal_input serial; terminal_output
15437 serial' rather than putting the two commands on separate lines,
15438 since console input will be inoperative after the first command.
15439 (menuentry): Document --class, --users, and --hotkey options.
15440 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
15441 Vladimir Serbinenko).
15442
7decd202
VS
154432010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
154442010-08-01 Colin Watson <cjwatson@ubuntu.com>
15445
15446 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
15447
c882acc0
RM
154482010-08-01 Robert Millan <rmh@gnu.org>
15449
15450 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15451 (grub_find_zpool_from_mount_point): New function prototypes.
15452
15453 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15454 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15455
15456 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15457 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15458 `static' attribute.
15459
15460 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15461 finding zpool from mount point into ...
15462 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15463
15464 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15465 requested path is part of a ZFS pool, use
15466 grub_find_zpool_from_mount_point() to detect its filesystem name,
15467 and generate a path with `/fsname@path' syntax.
15468
deb0caa3
RM
154692010-08-01 Robert Millan <rmh@gnu.org>
15470
15471 Prevent accidental use of uninitialized libzfs_handle.
15472
15473 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
15474 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
15475 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
15476
ce04ef47
CW
154772010-08-01 Colin Watson <cjwatson@ubuntu.com>
15478
15479 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
15480 util/grub.d/10_linux.in). Fixes Debian bug #591093.
15481
ebf53056
RM
154822010-08-01 Robert Millan <rmh@gnu.org>
15483
15484 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 15485
3710bb6b
RM
154862010-07-31 Robert Millan <rmh@gnu.org>
15487
15488 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15489
8072efeb
RM
154902010-07-31 Robert Millan <rmh@gnu.org>
15491
15492 * kern/emu/misc.c: Add missing license header.
15493
3169f4c7
RM
154942010-07-31 Robert Millan <rmh@gnu.org>
15495
15496 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15497
15498 * include/grub/util/libnvpair.h: Include `<config.h>'.
15499 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15500 declaring libnvpair prototypes ourselves.
15501 * include/grub/util/libzfs.h: Include `<config.h>'.
15502 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15503 declaring libzfs prototypes ourselves.
15504
15505 (libzfs_handle): Moved to ...
15506 * include/grub/util/misc.h (libzfs_handle): ... here.
15507 Include `<grub/util/libzfs.h>'.
15508
c9a00aee
RM
155092010-07-30 Robert Millan <rmh@gnu.org>
15510
15511 * include/grub/emu/misc.h: Add missing license header.
15512
a184f9c8
RM
155132010-07-30 Robert Millan <rmh@gnu.org>
15514
15515 Enable `grub-probe -t device' resolution on ZFS.
15516
15517 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15518 * include/grub/util/libnvpair.h: New file.
15519 * include/grub/util/libzfs.h: New file.
15520
15521 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15522 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15523 `<grub/util/libnvpair.h>'.
15524 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15525
15526 (find_mount_point_from_dir): New static function.
15527 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15528 function.
15529 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15530 find_root_device_from_libzfs() before ressorting to find_root_device().
15531
15532 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15533 prototype.
15534 * util/misc.c: Include `<grub/util/libzfs.h>'.
15535 (grub_util_init_libzfs): New function.
15536 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15537 [HAVE_LIBZFS] (fini_libzfs): New static function.
15538 (grub_util_init_libzfs): New function.
15539 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15540
f7790cdd
RM
155412010-07-30 Robert Millan <rmh@gnu.org>
15542
15543 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15544 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15545 `warn_unused_result' attribute.
15546 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15547 (grub_xasprintf, grub_xvasprintf): Likewise.
15548 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15549
0806b63c
RM
155502010-07-29 Robert Millan <rmh@gnu.org>
15551
15552 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15553 (probe): Handle `PRINT_FS_LABEL'.
15554 (main): Handle `-t fs_label'.
15555
9f841f5c
RM
155562010-07-29 Robert Millan <rmh@gnu.org>
15557
15558 * configure.ac: Remove grub-mkisofs checks.
15559
46371121
VS
155602010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15561
15562 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15563 Reported by: Lennart Sorensen.
15564
155652010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15566
15567 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15568 prior to terminal_input/terminal_output separation. It's been over 1.5
15569 years and those versions weren't widely deployed.
15570
a9600892
CW
155712010-07-22 Colin Watson <cjwatson@ubuntu.com>
15572
15573 * disk/raid.c (insert_array): Don't count named arrays when looking
15574 for unused array numbers.
697e053c 15575 Reported and tested by: Michael Guntsche.
a9600892 15576
c03507df
CW
155772010-07-20 Colin Watson <cjwatson@ubuntu.com>
15578
15579 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15580 implementation of this so that grub-emu links again, with a note
15581 that this should support hotplugging in the future.
15582
b26f1c11
CW
155832010-07-20 Colin Watson <cjwatson@ubuntu.com>
15584
15585 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15586
efc9d7f1
CW
155872010-07-20 Colin Watson <cjwatson@ubuntu.com>
15588
15589 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15590 handle on failure.
15591 (grub_loopback_close): Remove empty function.
15592 (grub_loopback_dev): Remove close method.
15593
dd8ff5c9
CW
155942010-07-20 Colin Watson <cjwatson@ubuntu.com>
15595
15596 Disable EFI cursor when the EFI console becomes inactive.
15597
15598 * term/efi/console.c (grub_efi_console_init): New function.
15599 (grub_efi_console_fini): New function.
15600 (grub_console_term_output): Register init and fini methods.
15601
5e3bec67
VS
156022010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15603
15604 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15605 sh script.
15606
afaec079
VS
156072010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15608
15609 * disk/loopback.c (grub_loopback): Replace filename with file.
15610 (delete_loopback): Handle new semantics.
15611 (grub_cmd_loopback): Likewise.
15612 (grub_loopback_iterate): Likewise.
15613 (grub_loopback_close): Likewise.
15614
a6a11f3c
VS
156152010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15616
15617 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15618 with -p "".
15619 Reported by: Tito Keitel.
15620
64a638b0
VS
156212010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15622
15623 * docs/grub.texi (Naming convention): Document new naming convention.
15624
ab8ba957
VS
156252010-07-20 Vadim Solomin <vadic052@gmail.com>
156262010-07-20 Colin Watson <cjwatson@ubuntu.com>
15627
15628 Generate device.map in something closer to the old ordering.
15629
15630 * util/deviceiter.c (struct device): New declaration.
15631 (compare_file_names): Rename to ...
15632 (compare_devices): ... this. Sort by kernel name in preference to
15633 the stable by-id name, but keep the latter as a fallback comparison.
15634 Update header comment.
15635 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15636 of `struct device' rather than of plain file names.
15637
a29d6a4b
TF
156382010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15639
15640 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15641 on i386.
15642
39d824e8
VS
156432010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15646 hardcoding size.
15647 (setv1table): Likewise.
15648
f058276b
FZ
156492010-07-20 Colin Watson <cjwatson@ubuntu.com>
15650
15651 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15652 removing the homehost if present.
15653 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15654 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15655 removing the homehost if present.
15656 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15657 if possible.
15658 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
15659
15660 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
15661 parameter. Set its pointer target to 0.
15662 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
15663 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
15664 `data_offset' value from the superblock for 1.x metadata.
15665 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
15666 data on the device.
15667 (insert_array): Record the start sector of data on the device.
15668 (grub_raid_register): Pass start_sector parameters to
15669 grub_raid_list->detect and insert_array.
15670 * include/grub/raid.h (struct grub_raid_array): Add start_sector
15671 member.
15672 (struct grub_raid): Add start_sector parameter to `detect'.
15673
15674 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
15675 __attribute__ ((packed)), leaving a comment.
15676 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
15677 (grub_mdraid_detect_09): ... here and ...
15678 (grub_mdraid_detect_1x): ... here.
15679
156802010-07-20 Peter Henn <peter.henn@web.de>
15681
15682 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
15683 chunk size and disk size, which are already given as sector counts
15684 as distinct from the 0.90 units. Fetch the correct device number
15685 from the role table instead of using the table index.
15686
156872010-07-20 Felix Zielcke <fzielcke@z-51.de>
15688
15689 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
15690 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
15691 (WriteMostly1): New macro.
15692 Set array->name to NULL for metadata format 0.90. Add support for
15693 metadata 1.x. Fix some comments.
15694 * disk/raid.c (): Add support for name based RAID arrays. Fix a
15695 few comments.
15696 * util/getroot.c (grub_util_get_grub_dev): Add support for
15697 /dev/md/name style devices.
15698
4b761da9
CW
156992010-07-20 Colin Watson <cjwatson@ubuntu.com>
15700
15701 * .bzrignore: Ignore 20_linux_xen.
15702
5771289a
CW
157032010-07-17 Colin Watson <cjwatson@ubuntu.com>
15704
15705 * util/import_unicode.py: Remove unnecessary imports.
15706
5dab68df
AN
157072010-07-17 Aleš Nesrsta <starous@volny.cz>
15708
15709 Hotplugging and USB hub support.
15710
15711 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
15712 (grub_ohci): Likewise.
15713 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
15714 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
15715 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
15716 (GRUB_OHCI_CTRL_EDS): Likewise.
15717 (GRUB_OHCI_BULK_EDS): Likewise.
15718 (GRUB_OHCI_TDS): Likewise.
15719 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
15720 (grub_ohci_ed_phys2virt): New function.
15721 (grub_ohci_virt_to_phys): Likewise.
15722 (grub_ohci_td_phys2virt): Likewise.
15723 (grub_ohci_td_virt2phys): Likewise.
15724 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
15725 attachment.
15726 (grub_ohci_find_ed): New function.
15727 (grub_ohci_alloc_td): Likewise.
15728 (grub_ohci_free_td): Likewise.
15729 (grub_ohci_free_tds): Likewise.
15730 (grub_ohci_transfer): Use previously allocated memory.
15731 (grub_ohci_portstatus): Reset status changed bit.
15732 (grub_ohci_detect_dev): Supply status changed.
15733 (grub_ohci_fini_hw): Free memory.
15734 (grub_ohci_restore_hw): Reallocate memory.
15735 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
15736 Reset status change.
15737 (grub_uhci_detect_dev): Supply status_change.
15738 * bus/usb/usb.c (attach_hooks): New var.
15739 (grub_usb_device_attach): New function.
15740 (grub_usb_register_attach_hook_class): Likewise.
15741 (grub_usb_unregister_attach_hook_class): Likewise.
15742 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15743 (grub_usb_add_hub): Reset connection changed bit.
15744 (attach_root_port): New function.
15745 (grub_usb_root_hub): Likewise.
15746 (poll_nonroot_hub): Likewise.
15747 (grub_usb_poll_devices): Likewise.
15748 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15749 * disk/usbms.c (grub_usbms_open): Use device hooks.
15750 (grub_usbms_iterate) :Poll devices.
15751 (grub_usbms_finddevs): Split into ...
15752 (grub_usbms_attach): ... this ...
15753 (grub_usbms_attach): ... and this.
15754 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15755 in detect_dev.
15756 (grub_usb_interface): New fields attached and detach_hook.
15757 (grub_usb_attach_hook_class): New type.
15758 (grub_usb_attach_desc): New struct.
15759 (grub_usb_register_attach_hook_class): New function.
15760 (grub_usb_unregister_attach_hook_class): Likewise.
15761 (grub_usb_poll_devices): Likewise.
15762 (grub_usb_device_attach): Likewise.
15763 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15764 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15765
3222efaf
VS
157662010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15767
15768 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
15769 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
15770 delta determination style. Works with most NetBSD partitions too.
15771
139b714a
VS
157722010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15773
15774 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
15775 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
15776
986aad56
VS
157772010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15778
15779 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
15780
99be513c
AB
157812010-07-14 Anton Blanchard <anton@samba.org>
15782
15783 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
15784 ET_DYN files.
15785
18075f62
GS
157862010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15787
15788 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
15789
8d9a5b15
GS
157902010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15791
15792 * kern/partition.c (grub_partition_check_containment): New function to
15793 check that a partition is physically contained in a parent. Since
15794 offsets are relative (and non-negative), this reduces to checking that
15795 the partition ends before its parent.
15796 (grub_partition_map_probe): Discard out-of-range sub-partitions.
15797 (grub_partition_iterate): Likewise.
15798 * include/grub/partition.h (grub_partition_map): Slightly more detailed
15799 comments.
15800 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
15801 partitions that start before their parent, and add debug printfs.
15802
19563c25
CW
158032010-07-13 Colin Watson <cjwatson@ubuntu.com>
15804
15805 * Makefile.in (.SUFFIX): Spell correctly, as ...
15806 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
15807 bare module name without `.mod', e.g. `test') tried to invoke a
15808 Modula-2 compiler.
15809
1a1f1e67
CW
158102010-07-13 Colin Watson <cjwatson@ubuntu.com>
15811
15812 * README: Point to the Info manual.
15813
811b0dca
JS
158142010-07-13 Jiro SEKIBA <jir@unicus.jp>
15815
15816 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
15817 2nd superblock position from partition size.
15818
e4f4eafc
CW
158192010-07-10 Colin Watson <cjwatson@ubuntu.com>
15820
15821 * Makefile.in (MAINTAINER_CLEANFILES): Remove
15822 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
15823 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
15824 outputs.
15825
4274c30f
VS
158262010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15827
15828 Restructure SCSI .id handling.
15829 Reported and tested by: Aleš Nesrsta.
15830
15831 * disk/ata.c (grub_atapi_close): Removed. All users updated.
15832 (grub_atapi_dev): Changed .name to "ata". New field .id.
15833 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
15834 (grub_usbms_dev): New field .id.
15835 * disk/scsi.c (grub_scsi_iterate): Generate name.
15836 (grub_scsi_open): Parse name.
15837 * include/grub/scsi.h (grub_make_scsi_id): New function.
15838 (grub_scsi_dev): Change iterate and open to number instead of naming
15839 busses. All users updated.
15840 (grub_scsi): Remove name. Add .bus.
15841
5bc24388
VS
158422010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15843
15844 * commands/help.c (grub_cmd_help): Fix a typo.
15845
249975ba
VS
158462010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15847
15848 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
15849 Reported and tested by: Colin Watson.
15850
3eaac1a1
VS
158512010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15852
15853 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
15854 in this context.
15855
becce1b1
VS
158562010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
15859
f7bf0918
CW
158602010-07-07 Colin Watson <cjwatson@ubuntu.com>
15861
15862 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
15863 indentation.
15864
0b0f9620
CW
158652010-07-06 Colin Watson <cjwatson@ubuntu.com>
15866
15867 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
15868 and disk/raid6_recover.c.
15869 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15870 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15871
1e545469
CW
158722010-07-06 Colin Watson <cjwatson@ubuntu.com>
15873
15874 * term/gfxterm.c (repaint_schedulded): Rename to ...
15875 (repaint_scheduled): ... this. Update all callers.
15876 (repaint_was_schedulded): Rename to ...
15877 (repaint_was_scheduled): ... this. Update all callers.
15878
5357687a
CW
158792010-07-06 Colin Watson <cjwatson@ubuntu.com>
15880
15881 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
15882 which we expect to be handled by upper layers.
15883
29d7e783
BC
158842010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
15885
15886 * bus/usb/usbhub.c: #include time.h header.
15887
37582066
CW
158882010-07-06 Colin Watson <cjwatson@ubuntu.com>
15889
15890 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
15891 entry_name also for entries without stat blocks (e.g. ".."); fixes
15892 corruption of the first entry in a directory.
15893
c8c06953
CW
158942010-07-06 Colin Watson <cjwatson@ubuntu.com>
15895
15896 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
15897 after setting gfxterm as the active terminal. GRUB_BACKGROUND
15898 doesn't work otherwise.
15899
e75056f1
CW
159002010-07-05 Colin Watson <cjwatson@ubuntu.com>
15901
15902 * docs/grub.texi (Features): Update list of supported file systems.
15903 (GNU/Linux): Update for GRUB 2.
15904 (Serial terminal): Remove mention of --disable-serial, which was a
15905 GRUB Legacy configure option. Update instructions to use
15906 `terminal_input' and `terminal_output' rather than `terminal'.
15907 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
15908 configuration' and `Installing GRUB using grub-install'.
15909 (Menu entry editor): Update for GRUB 2.
15910 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
15911 Document new -a, -u, and -v options.
15912 (initrd): New section.
15913 (initrd16): New section.
15914 (linux): New section.
15915 (linux16): New section.
15916 (search): The `var' argument to `--set' is optional.
15917 (GRUB only offers a rescue shell): Go into a little more detail on
15918 drive ordering.
15919
5cf69151
CW
159202010-07-05 Colin Watson <cjwatson@ubuntu.com>
15921
15922 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
15923
e3f90044
CW
159242010-07-05 Colin Watson <cjwatson@ubuntu.com>
15925
15926 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
15927 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
15928
38d8f4f3
CW
159292010-07-05 Colin Watson <cjwatson@ubuntu.com>
15930
15931 * util/i386/pc/grub-setup.c (setup): Rename prefix to
15932 install_prefix, in line with install_dos_part and install_bsd_part.
15933 Add new prefix variable, which is copied to install_prefix after
15934 comparing core.img in memory with the one read from disk in the
15935 no-embedding case, and use that rather than overwriting
15936 install_prefix immediately when installing to a partition.
15937 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
15938 Bicakci.
15939
57ebd41e
GS
159402010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15941
15942 * configure.ac: Avoid == in test command, it's not portable.
15943 * util/grub.d/30_os-prober.in: Likewise.
15944
cb7f64b2
CW
159452010-07-04 Colin Watson <cjwatson@ubuntu.com>
15946
15947 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
15948
6b654bb0
GS
159492010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15950
15951 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
15952 multiple (top-level) partmaps.
15953
72a2026d
VS
159542010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15955
15956 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 15957 Reported by: Tino Keitel.
72a2026d 15958
df3eb88f
VS
159592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15960
15961 Bidi and diacritics support.
15962
15963 * Makefile.in (widthspec.bin): New target.
15964 (widthspec.h): Likewise.
15965 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
15966 * autogen.sh: Generate unidata.c.
15967 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
15968 * commands/ls.c (grub_ls_list_devices): Likewise.
15969 (grub_ls_list_files): Likewise.
15970 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
15971 (grub_mini_cmd_lsmod): Likewise.
15972 * commands/read.c: Likewise.
15973 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
15974 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
15975 * lib/arg.c (grub_arg_show_help): Likewise.
15976 * lib/crypto.c (grub_password_get): Likewise.
15977 * normal/auth.c (grub_username_get): Likewise.
15978 * normal/misc.c (grub_normal_print_device_info): Likewise.
15979 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
15980 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
15981 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
15982 (normal/charset.c_DEPENDENCIES): New variable.
15983 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
15984 (pkglib_MODULES): Remove charset.mod.
15985 (charset_mod_SOURCES): Removed.
15986 (charset_mod_CFLAGS): Likewise.
15987 (charset_mod_LDFLAGS): Likewise.
15988 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
15989 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
15990 and term/tparm.c.
15991 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15992 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15993 (kernel_img_HEADERS): Add terminfo.h.
15994 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
15995 Fill ->font. Reverse ascii bitmaps.
15996 (grub_font_get_xheight): New function.
15997 * font/font.c (grub_font_get_string_width): Moved from here ...
15998 * gfxmenu/font.c (grub_font_get_string_width): ... here.
15999 * font/font.c (grub_font_draw_string): Moved from here ...
16000 * gfxmenu/font.c (grub_font_draw_string): ... here.
16001 * font/font.c (grub_font_dup_glyph): New function.
16002 (grub_font_blit_glyph): Likewise.
16003 (grub_font_blit_glyph_mirror): Likewise.
16004 (blit_comb): Likewise.
16005 (grub_font_construct_dry_run): Likewise.
16006 (grub_font_get_constructed_device_width): Likewise.
16007 (grub_font_construct_glyph): Likewise.
16008 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
16009 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
16010 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
16011 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
16012 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
16013 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
16014 (grub_font_get_xheight): New proto.
16015 (grub_font_get_constructed_device_width): Likewise.
16016 (grub_font_construct_glyph): Likewise.
16017 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
16018 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
16019 * include/grub/font.h (grub_font_draw_string): Moved from here ...
16020 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
16021 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
16022 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
16023 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
16024 (grub_console_getcharwidth): Likewise.
16025 * include/grub/misc.h (grub_xputs): New proto.
16026 (grub_puts): Inlined.
16027 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
16028 (grub_normal_get_line_counter): Removed.
16029 (grub_install_newline_hook): Likewise.
16030 (grub_normal_get_char_counter): New proto.
16031 (grub_normal_reset_more): Likewise.
16032 (grub_xputs_normal): Likewise.
16033 * include/grub/powerpc/ieee1275/console.h: Removed.
16034 * include/grub/sparc64/ieee1275/console.h: Likewise.
16035 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
16036 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
16037 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
16038 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
16039 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
16040 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
16041 (grub_term_input): Pass reference to self. All users updated.
16042 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
16043 Pass reference to self. New fields normal_color, highlight_color and
16044 data. All users updated.
16045 (grub_putchar): Removed.
16046 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
16047 (grub_unicode_estimate_width): New function.
16048 (grub_term_getcharwidth): Add defaults.
16049 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
16050 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
16051 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
16052 (grub_cls): Remove EXPORT_FUNC.
16053 (grub_setcolorstate): Inline.
16054 (grub_newline_hook): Removed.
16055 * include/grub/terminfo.h: Rewritten. All users updated.
16056 * include/grub/unicode.h: New file.
16057 * include/grub/video.h (grub_video_signed_rect): New type.
16058 * kern/emu/console.c (grub_console_highlight_color): Removed.
16059 (grub_console_normal_color): Likewise.
16060 (grub_console_standard_color): Made static.
16061 (grub_ncurses_putchar): Remove mapping.
16062 (grub_ncurses_getcharwidth): Removed.
16063 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16064 (grub_ncurses_setcolor): Removed.
16065 (grub_ncurses_getcolor): Likewise.
16066 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
16067 (grub_console_putchar): ... this.
16068 (grub_console_putchar): Handle argument difference.
16069 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
16070 console_init_early and console_init_lately.
16071 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
16072 * kern/misc.c (grub_puts): Removed.
16073 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
16074 (grub_vsnprintf_real): Remove str = NULL support.
16075 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
16076 * normal/charset.c (grub_utf8_to_ucs4): ... here.
16077 * kern/term.c (grub_putcode): Renamed to ...
16078 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
16079 (grub_putchar): Removed.
16080 (grub_xputs_dumb): New function.
16081 (grub_xputs): New variable.
16082 * lib/charset.c: Move from here ...
16083 * normal/charset.c: ... to here.
16084 (grub_ucs4_to_utf8): New function.
16085 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
16086 (join_types): New variable.
16087 (unpack_join): New function.
16088 (bidi_types): New variable.
16089 (unpack_bidi): New function.
16090 (get_bidi_type): Likewise.
16091 (get_join_type): Likewise.
16092 (is_mirrored): Likewise.
16093 (grub_unicode_get_comb_type): Likewise.
16094 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
16095 (is_type_after): Likewise.
16096 (grub_unicode_aglomerate_comb): Likewise.
16097 (bidi_line_wrap): Likewise.
16098 (grub_bidi_line_logical_to_visual): Likewise.
16099 (grub_bidi_logical_to_visual): Likewise.
16100 (grub_unicode_mirror_code): Likewise.
16101 (grub_unicode_shape_code): Likewise.
16102 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
16103 Don't use grub_putchar.
16104 * normal/main.c (grub_normal_init_page): Use grub_putcode.
16105 (grub_normal_reader_init): Likewise.
16106 (grub_xputs_saved): New variable.
16107 (GRUB_MOD_INIT): Set grub_xputs.
16108 (GRUB_MOD_FINI): Restore grub_xputs.
16109 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
16110 (menu_init): Avoid printing gfxmenu error.
16111 (show_menu): Use grub_normal_get_char_counter.
16112 * normal/menu_entry.c (update_screen): Fix out-of-array.
16113 (complete): Avoid NULL dereferencing.
16114 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
16115 * normal/menu_text.c (print_spaces): Removed.
16116 (grub_print_ucs4): Likewise.
16117 (grub_print_message_indented): Use grub_print_ucs4.
16118 (print_message): Use grub_putcode.
16119 (print_entry): Hanlde diacritics.
16120 * normal/term.c (term_state): New type.
16121 (grub_more_lines): Removed.
16122 (term_states): New variable.
16123 (grub_normal_line_counter): Renamed to ..
16124 (grub_normal_char_counter): ...this. All users updated.
16125 (grub_normal_get_line_counter): Renamed to ...
16126 (grub_normal_get_char_counter): ... this.
16127 (grub_normal_reset_more): New function.
16128 (process_newline): Removed.
16129 (print_more): New function.
16130 (grub_install_newline_hook): Removed.
16131 (map_code): New function.
16132 (grub_puts_terminal): Use grub_print_ucs4.
16133 (putglyph): New function.
16134 (putcode_real): Likewise.
16135 (grub_putcode): Use putcode_real.
16136 (get_maxwidth): New function.
16137 (get_startwidth): Likewise.
16138 (print_ucs4_terminal): Likewise.
16139 (find_term_state): Likewise.
16140 (put_glyphs_terminal): Likewise.
16141 (print_backlog): Likewise.
16142 (print_ucs4_real): Likewise.
16143 (grub_print_ucs4): Likewise.
16144 (grub_xputs_normal): Likewise.
16145 * term/efi/console.c (grub_console_putchar): Output diacritics.
16146 (grub_console_getcharwidth): Removed.
16147 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16148 * term/gfxterm.c (clear_char): Free chars.
16149 (scroll_up): Avoid leaking memory.
16150 (grub_gfxterm_putchar): Support diacritics.
16151 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16152 * term/i386/pc/console.c (grub_console_term_output): Declare as
16153 GRUB_TERM_CODE_TYPE_VGA.
16154 * term/i386/pc/vga.c (grub_vga_term): Declare as
16155 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
16156 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
16157 GRUB_TERM_CODE_TYPE_VGA.
16158 * term/i386/vga_common.c (map_char): Removed.
16159 (grub_console_putchar): Likewise.
16160 (grub_console_getcharwidth): Likewise.
16161 * term/ieee1275/ofconsole.c: Simplify using terminfo.
16162 (colors): Reordered to match terminfo.
16163 (grub_ofconsole_normal_color): Removed.
16164 (grub_ofconsole_writeesc): Likewise.
16165 (grub_ofconsole_highlight_color): Likewise.
16166 (grub_ofconsole_getcharwidth): Likewise.
16167 (grub_ofconsole_setcolorstate): Likewise.
16168 (grub_ofconsole_setcolor): Likewise.
16169 (grub_ofconsole_getcolor): Likewise.
16170 (grub_ofconsole_readkey): Renamed to ...
16171 (readkey): ... this. Remove escape sequence handling. Return -1 on no
16172 key.
16173 (grub_ofconsole_checkkey): Removed.
16174 (grub_ofconsole_getkey): Likewise.
16175 (grub_ofconsole_getxy): Likewise.
16176 (grub_ofconsole_gotoxy): Likewise.
16177 (grub_ofconsole_cls): Likewise.
16178 (grub_ofconsole_refresh): Likewise.
16179 (grub_ofconsole_terminfo_input): New struct.
16180 (grub_ofconsole_terminfo_output): Likewise.
16181 (grub_ofconsole_term_input): Use terminfo.
16182 (grub_ofconsole_term_output): Likewise.
16183 (grub_console_init): Split into ...
16184 (grub_console_init_early): ...this and ...
16185 (grub_console_init_lately): ...this. Use terminfo.
16186 (grub_ofconsole_putchar): Renamed to ...
16187 (put): ... this. Remove mapping.
16188 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16189 * term/serial.c: Simplify using terminfo.
16190 (xpos): Removed.
16191 (ypos): Likewise.
16192 (keep_track): Likewise.
16193 (registered): Likewise.
16194 (input_buf): Likewise.
16195 (npending): Likewise.
16196 (serial_translate_key_sequence): Likewise.
16197 (fill_input_buf): Likewise.
16198 (grub_serial_checkkey): Likewise.
16199 (grub_serial_getkey): Likewise.
16200 (grub_serial_getxy): Likewise.
16201 (grub_serial_gotoxy): Likewise.
16202 (grub_serial_putchar): Likewise.
16203 (grub_serial_cls): Likewise.
16204 (grub_serial_setcolorstate): Likewise.
16205 (grub_serial_setcursor): Likewise.
16206 (serial_hw_init): Use serial_hw_fetch.
16207 (grub_serial_terminfo_input): New variable.
16208 (grub_serial_terminfo_output): Likewise.
16209 (grub_serial_term_input): Use terminfo.
16210 (grub_serial_term_output): Likewise.
16211 * term/terminfo.c (putstr): Use put.
16212 (grub_terminfo_all_free): New function
16213 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
16214 (grub_terminfo_output_register): New function.
16215 (grub_terminfo_output_unregister): Likewise.
16216 (grub_terminfo_getxy): Likewise.
16217 (grub_terminfo_readkey): Likewise.
16218 (grub_terminfo_checkkey): Likewise.
16219 (grub_terminfo_getkey): Likewise.
16220 (grub_terminfo_input_init): Likewise.
16221 (print_terminfo): Likewise.
16222 (grub_cmd_terminfo): Handle encoding.
16223 (grub_terminfo_gotoxy): Track position.
16224 (grub_terminfo_cls): Likewise.
16225 (grub_terminfo_putchar): Likewise.
16226 (grub_terminfo_setcolorstate): Handle colors
16227 (grub_terminfo_cursor_on): This ...
16228 (grub_terminfo_cursor_off): ... and this merged into ...
16229 (grub_terminfo_setcursor): ... this.
16230 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
16231 * unicode/ArabicShaping.txt: New file (imported from Unicode).
16232 * unicode/BidiMirroring.txt: Likewise.
16233 * unicode/UnicodeData.txt: Likewise.
16234 * unicode/COPYING: Likewise.
16235 * util/grub-editenv.c (grub_putchar): Removed.
16236 (grub_xputs_real): New function.
16237 (grub_xputs): New variable.
16238 * util/grub-fstest.c (grub_putchar): Removed.
16239 (grub_xputs_real): New function.
16240 (grub_xputs): New variable.
16241 * util/grub-mkdevicemap.c (grub_putchar): Removed.
16242 (grub_xputs_real): New function.
16243 (grub_xputs): New variable.
16244 * util/grub-probe.c (grub_putchar): Removed.
16245 (grub_xputs_real): New function.
16246 (grub_xputs): New variable.
16247 * util/grub-script-check.c (grub_putchar): Removed.
16248 (grub_xputs_real): New function.
16249 (grub_xputs): New variable.
16250 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
16251 (grub_xputs_real): New function.
16252 (grub_xputs): New variable.
16253 * util/import_unicode.py: New file.
16254 * util/grub-mkfont.c (ft_errmsgs): New array.
16255 (grub_glyph_info): Make bitmap a pointer.
16256 (file_formats): New type WIDTH_SPEC.
16257 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
16258 (options): Add width-spec.
16259 (help): Likewise.
16260 (add_char): Renamed to ...
16261 (add_glyph): ... this.
16262 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
16263 (glyph_replace): New type.
16264 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
16265 (add_char): New function.
16266 (add_subst): Likewise.
16267 (process_cursive): Likewise.
16268 (add_font): Handle GSUB.
16269 (write_font_width_spec): New function.
16270 (main): Sort glyphs.
16271 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
16272 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
16273 * kern/term.c (grub_cls): Moved from here...
16274 * normal/term.c (grub_cls): ... here.
16275
50f0bcda
CW
162762010-07-02 Colin Watson <cjwatson@ubuntu.com>
16277
16278 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
16279 suitable for using within the format argument of printf when
16280 converting grub_size_t.
16281 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
16282 "x" to convert grub_size_t arguments.
16283
40372103
VS
162842010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16285
16286 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
16287 too long captions.
16288 (list_get_minimal_size): Take selection box into account.
16289
942a10c7
VS
162902010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
16293 NULL font.
16294
2bdb2892
CW
162952010-07-02 Colin Watson <cjwatson@ubuntu.com>
16296
16297 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
16298 devices when iterating over /dev/disk/by-id; they will be handled
16299 later if appropriate, which they aren't always (e.g. LVM).
16300
e03ed6c1
CW
163012010-07-02 Colin Watson <cjwatson@ubuntu.com>
16302
16303 * include/grub/misc.h (grub_reboot): Declare as noreturn.
16304 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
16305 fails.
16306 (grub_halt): Likewise.
16307 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
16308 reset-all fails.
16309 (grub_halt): Don't return, even if all of shut-down, power-off, and
16310 poweroff fail.
16311
47695765
CW
163122010-07-02 Colin Watson <cjwatson@ubuntu.com>
16313
16314 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
16315 arguments, not three.
16316
507736c8
CW
163172010-07-02 Colin Watson <cjwatson@ubuntu.com>
16318
16319 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
16320 * util/grub.d/10_linux.in: Use it to check for LVM, so that
16321 LVM-on-RAID is handled correctly.
16322
e3c8cd37
CW
163232010-07-02 Colin Watson <cjwatson@ubuntu.com>
16324
16325 * docs/grub.texi (Changes from GRUB Legacy): New section.
16326 (Future): Fix typo.
16327
8d4a2fec
CW
163282010-07-02 Colin Watson <cjwatson@ubuntu.com>
16329
16330 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
16331 grub.d/README accidentally ends up executable for one reason or
16332 another. Ignore it.
16333
1c4827be
VS
163342010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16335
16336 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
16337 (gpt_partition_map_iterate): Support non-512B sectors.
16338
d9a0c941
VS
163392010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16340
16341 * kern/efi/init.c (grub_efi_init): Disable watchdog.
16342 Tested by: Seth Goldberg.
16343
48f27e87
VS
163442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16345
16346 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
16347 Properly align mbi.
16348 Reported by: Seth Goldberg.
16349
b0c4f956
VS
163502010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16351
16352 * util/grub-mkrescue.in: Avoid module duplication.
16353
105a2e8c
SF
163542010-07-01 Sean Finney <seanius@seanius.net>
16355
16356 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
16357
5944958c
SF
163582010-07-01 Sean Finney <seanius@seanius.net>
16359
16360 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
16361
163622010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16363
16364 * disk/lvm.c (grub_lvm_checkvalue): New function.
16365 (grub_lvm_check_flag): Likewise.
16366
b79889ba
RM
163672010-07-01 Robert Millan <rmh@gnu.org>
16368
16369 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
16370 Support 'p' as partition separator on kernel of FreeBSD (used
16371 with GPT labels).
16372 (grub_util_biosdisk_get_grub_dev): Likewise.
16373
ec1d04f1
VS
163742010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16375
16376 Yeeloong firmware port.
16377
16378 * boot/mips/yeeloong/fwstart.S: New file.
16379 * bus/cs5536.c (gpiodump): New const.
16380 (set_io_space): New function.
16381 (set_iod): Likewise.
16382 (set_p2d): Likewise.
16383 (grub_cs5536_init_geode): Likewise.
16384 * commands/mips/yeeloong/lsspd.c: New file.
16385 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
16386 (serial_mod_SOURCES): New variable.
16387 (serial_mod_CFLAGS): Likewise.
16388 (serial_mod_LDFLAGS): Likewise.
16389 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
16390 term/terminfo.c and term/tparm.c.
16391 (pkglib_IMAGES): Add fwstart.img.
16392 (fwstart_img_SOURCES): New variable.
16393 (fwstart_img_CFLAGS): Likewise.
16394 (fwstart_img_ASFLAGS): Likewise.
16395 (fwstart_img_LDFLAGS): Likewise.
16396 (fwstart_img_FORMAT): Likewise.
16397 (pkglib_MODULES): Add lsspd.mod.
16398 (lsspd_mod_SOURCES): New variable.
16399 (lsspd_mod_CFLAGS): Likewise.
16400 (lsspd_mod_LDFLAGS): Likewise.
16401 (pkglib_MODULES): Add halt.mod.
16402 (halt_mod_SOURCES): New variable.
16403 (halt_mod_CFLAGS): Likewise.
16404 (halt_mod_LDFLAGS): Likewise.
16405 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
16406 (serial_mod_SOURCES): Removed.
16407 (serial_mod_CFLAGS): Likewise.
16408 (serial_mod_LDFLAGS): Likewise.
16409 * disk/ata.c (check_device): New function.
16410 (grub_ata_device_initialize): Use check_device.
16411 (grub_ata_iterate): Recheck devices.
16412 (grub_ata_open): Likewise.
16413 (grub_atapi_iterate): Likewise.
16414 (grub_atapi_open): Likewise.
16415 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
16416 (GRUB_ATA_CH1_PORT1): Likewise.
16417 (GRUB_ATA_CH0_PORT2): Likewise.
16418 (GRUB_ATA_CH1_PORT2): Likewise.
16419 * include/grub/mips/loongson.h: New file.
16420 * include/grub/mips/yeeloong/ec.h: Likewise.
16421 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
16422 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
16423 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
16424 * include/grub/misc.h (grub_halt): Declare as noreturn.
16425 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
16426 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
16427 (UART_ENABLE_FIFO_TRIGGER1): New definition.
16428 (UART_ENABLE_DTRRTS): Likewise.
16429 (UART_ENABLE_MODEM): Removed.
16430 (UART_ENABLE_OUT2): New const.
16431 * include/grub/term.h (grub_term_register_input_active): New function.
16432 (grub_term_register_output_active): Likewise.
16433 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
16434 argument.
16435 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
16436 (init_pci): New function.
16437 (grub_machine_init): Execute platform init when firmware. Init serial.
16438 (grub_halt): Implement.
16439 (grub_exit): Likewise.
16440 (grub_reboot): Likewise.
16441 * term/serial.c (serial_hw_init): Update macros.
16442 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
16443 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
16444 (image_targets): New target mipsel-yeeloong-flash.
16445 (generate_image): Support IMAGE_YEELOONG_FLASH.
16446 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
16447 (grub_video_sm712_setup): Init card.
16448 (grub_video_sm712_set_palette): Removed.
16449 * video/sm712_init.c: New file.
16450
ff4a70d2
CW
164512010-06-30 Colin Watson <cjwatson@ubuntu.com>
16452
16453 * Makefile.in (install-local): Temporarily prepend $(builddir) to
16454 PATH when running help2man and then run it on the unadorned
16455 executable names, rather than passing $(builddir)/* paths to
16456 help2man. This avoids the build directory ending up in generated
16457 manual pages.
16458
1246efeb
CW
164592010-06-29 Colin Watson <cjwatson@ubuntu.com>
16460
16461 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
16462 to avoid accidents when debugging with 'sh -x'.
16463 * util/grub-mkrescue.in: Likewise.
16464 * util/grub.d/00_header.in: Likewise.
16465 * util/grub.d/10_hurd.in: Likewise.
16466 * util/grub.d/10_kfreebsd.in: Likewise.
16467 * util/grub.d/10_linux.in: Likewise.
16468 * util/grub.d/10_netbsd.in: Likewise.
16469 * util/grub.d/10_windows.in: Likewise.
16470 * util/grub.d/20_linux_xen.in: Likewise.
16471 * util/grub.d/30_os-prober.in: Likewise.
16472 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16473
1ba9b889
CW
164742010-06-29 Colin Watson <cjwatson@ubuntu.com>
16475
16476 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
16477 last character in the buffer.
16478 Reported by: Vladimir Serbinenko.
16479
dccaf99d
RM
164802010-06-29 Robert Millan <rmh@gnu.org>
16481
16482 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
16483 (Command-line and menu entry commands): Document `badram' command.
16484
d500ed12
RM
164852010-06-28 Robert Millan <rmh@gnu.org>
16486
16487 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16488 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16489 command using ${GRUB_BADRAM} as parameter.
16490
20bc84a6
CW
164912010-06-28 Colin Watson <cjwatson@ubuntu.com>
16492
16493 * docs/grub.texi (Device map): New section.
16494 (Themes): New section (stub).
16495 * Makefile.in (docs/grub.info): The info documentation now builds
16496 without errors. Make sure it stays that way.
16497
4045dee1
VS
164982010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16499
16500 Use normal parser for menu entries.
16501 Reported by: Thomas Frauendorfer
16502
16503 * include/grub/parser.h (grub_parser_execute): Don't export.
16504 * normal/menu.c (grub_menu_execute_entry_real): New function.
16505 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16506
bca58c7b
CW
165072010-06-28 Colin Watson <cjwatson@ubuntu.com>
16508
16509 * docs/grub.texi (Embedded configuration): New section (replacing
16510 old "Preset Menu" stub).
16511 (Images): New section.
16512 (configfile): Note that any menu entries defined in `file' are shown
16513 immediately.
16514
dec53e63
JT
165152010-06-28 Josh Triplett <josh@joshtriplett.org>
16516
16517 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16518
c06e40f7
CW
165192010-06-28 Colin Watson <cjwatson@ubuntu.com>
16520
16521 * util/grub-install.in: Add --debug-image= option.
16522
cb88052b
CW
165232010-06-28 Colin Watson <cjwatson@ubuntu.com>
16524
16525 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16526 possible on Linux.
16527
16528 * util/deviceiter.c (check_device): Rename to ...
16529 (check_device_readable_unique): ... this. Update all callers.
16530 Maintain and check a list of which devices (by canonicalized name)
16531 have already been seen.
16532 (clear_seen_devices): New function.
16533 (compare_file_names) [__linux__]: New function.
16534 (grub_util_iterate_devices): Clear the list of seen devices on exit
16535 and (just in case) on entry.
16536 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16537 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16538 seen-devices list, superseded by general code in check_device.
16539
bbe34652
CW
165402010-06-28 Colin Watson <cjwatson@ubuntu.com>
16541
16542 * commands/cat.c (options): New variable.
16543 (grub_cmd_cat): Parse options. If the --dos option is given, print
16544 DOS-style "\r\n" line endings as simple newlines (Debian bug
16545 #586358).
16546 (GRUB_MOD_INIT): Use extcmd.
16547 (GRUB_MOD_FINI): Likewise.
16548 * docs/grub.texi (cat): Document --dos.
16549
412e09f3
VS
165502010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 XEN with Linux grub-mkconfig support.
16553
16554 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16555 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16556 GRUB_CMDLINE_XEN_DEFAULT.
16557 * util/grub.d/20_linux_xen.in: New file.
16558
53f3ef38 165592010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16560
16561 Initialise VGA video on qemu ourselves.
16562
16563 * boot/i386/qemu/boot.S: Don't call 0xc000.
16564 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16565 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16566 (kernel_img_HEADERS): Add pci.h.
16567 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16568 * configure.ac: Force unifont on qemu and yeeloong.
16569 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16570 (grub_vga_palette_write): Use correct register.
16571 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16572 Call grub_qemu_init_cirrus.
16573 * kern/i386/qemu/init.c: New file.
16574 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16575
16576 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16577
c75be4fb
PR
165782010-06-26 Pavel Roskin <proski@gnu.org>
16579
16580 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16581 13.
16582
d8034603
CW
165832010-06-26 Colin Watson <cjwatson@ubuntu.com>
16584
16585 * docs/grub.texi (Simple configuration): Explain that
16586 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16587 set to `true' to disable their respective recovery entries, not
16588 merely set.
16589
3fa06487
CW
165902010-06-26 Colin Watson <cjwatson@ubuntu.com>
16591
16592 Make the `source' command slightly faster.
16593
16594 * normal/main.c (grub_normal_execute): Don't re-read list files when
16595 nested.
16596
e9b29642
CW
165972010-06-23 Colin Watson <cjwatson@ubuntu.com>
16598
16599 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16600 field position and mask size to red fields from mode_info, not
16601 green.
16602 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16603 Remove redundant tag->common.framebuffer_type assignment.
16604 Reported by: Seth Goldberg.
16605
e726542f
CW
166062010-06-23 Colin Watson <cjwatson@ubuntu.com>
16607
16608 Sync up other versions of the Linux loader with Robert Millan's
16609 change of 2010-01-09, "Make loader output a bit more user-friendly".
16610
16611 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16612 grub_dprintf().
16613 (grub_cmd_linux): Likewise.
16614 (grub_cmd_initrd): Likewise.
16615 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16616 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16617
d6e98a17
CW
166182010-06-21 Colin Watson <cjwatson@ubuntu.com>
16619
16620 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16621 larger than MEMORY_MAP_SIZE.
16622
14d3f08e
BC
166232010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16624
16625 Fix parallel build.
16626
16627 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16628 dependency.
16629 * script/parser.y: #include grub_script.tab.h header.
16630
4f9613a3
VS
166312010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16632
16633 Support >3GiB and <16MiB RAM in i386-qemu.
16634
16635 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16636 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16637 (grub_lower_mem): Removed.
16638 (grub_upper_mem): Likewise.
16639 (mem_size): Made static.
16640 (above_4g): New variable.
16641 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16642 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16643 support.
16644
05e51879
VS
166452010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16646
16647 Cirrus 5446 and Bochs video cards support.
16648
16649 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16650 video_bochs.mod
16651 (video_cirrus_mod_SOURCES): New variable.
16652 (video_cirrus_mod_CFLAGS): Likewise.
16653 (video_cirrus_mod_LDFLAGS): Likewise.
16654 (video_bochs_mod_SOURCES): Likewise.
16655 (video_bochs_mod_CFLAGS): Likewise.
16656 (video_bochs_mod_LDFLAGS): Likewise.
16657 * include/grub/vga.h: New file.
16658 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
16659 (grub_video_fb_set_page_t): New type.
16660 (grub_video_fb_setup): New prototype.
16661 (grub_video_fb_swap_buffers): Likewise.
16662 (grub_video_fb_get_info_and_fini): Likewise.
16663 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
16664 (CRTC_DATA_PORT): Likewise.
16665 (CRTC_CURSOR): Likewise.
16666 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16667 (CRTC_CURSOR_ADDR_LOW): Likewise.
16668 (CRTC_CURSOR_DISABLE): Likewise.
16669 (update_cursor): Use grub_vga_cr_write.
16670 (grub_vga_text_setcursor): Likewise.
16671 * video/bochs.c: New file.
16672 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
16673 (palette): Likewise.
16674 (palette_size): Likewise.
16675 (framebuffer): New variable.
16676 (grub_video_fb_init): Use 'framebuffer'.
16677 (grub_video_fb_fini): Likewise.
16678 (grub_video_fb_get_info): Likewise.
16679 (grub_video_fb_get_palette): Likewise.
16680 (grub_video_fb_set_palette): Likewise.
16681 (grub_video_fb_set_viewport): Likewise.
16682 (grub_video_fb_get_viewport): Likewise.
16683 (grub_video_fb_map_color): Likewise.
16684 (grub_video_fb_map_rgb): Likewise.
16685 (grub_video_fb_map_rgba): Likewise.
16686 (grub_video_fb_unmap_color): Likewise.
16687 (grub_video_fb_unmap_color_int): Likewise.
16688 (grub_video_fb_fill_rect): Likewise.
16689 (grub_video_fb_blit_bitmap): Likewise.
16690 (grub_video_fb_blit_render_target): Likewise.
16691 (grub_video_fb_scroll): Likewise.
16692 (grub_video_fb_create_render_target): Likewise.
16693 (grub_video_fb_doublebuf_blit_init): Likewise.
16694 (grub_video_fb_set_active_render_target): Handle doublebuffering.
16695 (doublebuf_pageflipping_update_screen): New function.
16696 (doublebuf_pageflipping_init): Likewise.
16697 (grub_video_fb_setup): Likewise.
16698 (grub_video_fb_swap_buffers): Likewise.
16699 (grub_video_fb_get_info_and_fini): Likewise.
16700 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
16701 All users updated.
16702 (doublebuf_pageflipping_commit): Restructured into ...
16703 (doublebuf_pageflipping_set_page): ... this.
16704 (doublebuf_pageflipping_update_screen): Removed.
16705 (doublebuf_pageflipping_init): Likewise.
16706 (double_buffering_init): Likewise.
16707 (grub_video_vbe_setup): Use grub_video_fb_setup.
16708 (grub_video_vbe_swap_buffers): Removed.
16709 (grub_video_vbe_set_active_render_target): Likewise.
16710 (grub_video_vbe_get_active_render_target): Likewise.
16711 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
16712 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
16713 grub_video_fb_set_active_render_target and
16714 grub_video_fb_get_active_render_target.
16715 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
16716 (SEQUENCER_DATA_PORT): Likewise.
16717 (MAP_MASK_REGISTER): Likewise.
16718 (CRTC_ADDR_PORT): Likewise.
16719 (CRTC_DATA_PORT): Likewise.
16720 (START_ADDR_HIGH_REGISTER): Likewise.
16721 (START_ADDR_LOW_REGISTER): Likewise.
16722 (GRAPHICS_ADDR_PORT): Likewise.
16723 (GRAPHICS_DATA_PORT): Likewise.
16724 (READ_MAP_REGISTER): Likewise.
16725 (INPUT_STATUS1_REGISTER): Likewise.
16726 (INPUT_STATUS1_VERTR_BIT): Likewise.
16727 (get_map_mask): Use grub_vga_sr_read.
16728 (set_map_mask): Use grub_vga_sr_write.
16729 (set_read_map): Use grub_vga_gr_write.
16730 (set_start_address): Use grub_vga_cr_write.
16731 * video/sm712.c (framebuffer): Remove leftover fields.
16732
4321c64a
CW
167332010-06-20 Colin Watson <cjwatson@ubuntu.com>
16734
16735 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
16736 setting GRUB_VIDEO_BACKEND. Make it available as a user override
16737 instead. Replace the gfxterm backend check with a check that
16738 ${GRUB_PREFIX}/video.lst is non-empty.
16739 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16740 again.
16741 (load_video): New generated function. Call it before loading
16742 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16743 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16744 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16745 * docs/grub.texi (Simple configuration): Document
16746 GRUB_VIDEO_BACKEND.
16747
167482010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16749
16750 Use video functions in linux and xnu loaders.
16751
16752 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16753 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16754 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16755 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16756 loader/i386/pc/linux.c.
16757 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16758 (find_line_len): Removed.
16759 (find_framebuf): Likewise.
16760 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16761 * loader/i386/efi/xnu.c: Removed.
16762 * loader/i386/pc/xnu.c: Moved from here...
16763 * loader/i386/xnu.c: ...here.
16764
16765 Enable priorities in video drivers.
16766
16767 * include/grub/video.h (grub_video_adapter_prio_t): New type.
16768 (grub_video_adapter): New field prio.
16769 (grub_video_register): Respect prio when inserting.
16770 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
16771 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
16772 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
16773 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
16774 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
16775 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
16776 * video/sm712.c (grub_video_sm712_adapter): Likewise.
16777
16778 Fix SDL driver ID.
16779
16780 * include/grub/video.h (grub_video_driver_id_t): New value
16781 GRUB_VIDEO_DRIVER_SDL.
16782 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
16783
7d24e434
CW
167842010-06-17 Colin Watson <cjwatson@ubuntu.com>
16785
16786 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
16787 argument to printf.
16788 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16789
c88a83f6
CW
167902010-06-17 Colin Watson <cjwatson@ubuntu.com>
16791
16792 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
16793 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16794
094dfb69
CW
167952010-06-17 Colin Watson <cjwatson@ubuntu.com>
16796
16797 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
16798 directly, and recommend grub-install instead.
16799 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16800
2164da6b
CW
168012010-06-17 Colin Watson <cjwatson@ubuntu.com>
16802
16803 Fix i386-pc prefix handling with nested partitions (Debian bug
16804 #585068). Note that the case where the core image is booted using
16805 multiboot and relocated from its original location still requires
16806 more work.
16807
16808 * kern/i386/pc/init.c (make_install_device): If the prefix starts
16809 with "(,", fill the boot drive in between those two characters, but
16810 expect that a full partition specification including partition map
16811 names will follow.
16812 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
16813 specified, write a prefix without the drive name but including a
16814 full partition specification.
16815
044e2e60
CW
168162010-06-16 Colin Watson <cjwatson@ubuntu.com>
16817
16818 * util/grub-mkconfig.in: Ignore non-option arguments, for
16819 compatibility with older versions (before 2010-06-12) which did the
16820 same. In particular, this makes it easier to ship an update-grub
16821 wrapper which is compatible with that used with GRUB Legacy (Debian
16822 bug #586056).
16823
5591324f
GS
168242010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16825
16826 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
16827 for manual page generation.
16828
662e24d5
GS
168292010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16830
16831 * po/POTFILES: Remove leftover commands/handler.c.
16832
8d70754e
CW
168332010-06-14 Colin Watson <cjwatson@ubuntu.com>
16834
16835 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
16836 left this script non-functional.
16837
41160e2e
CW
168382010-06-14 Colin Watson <cjwatson@ubuntu.com>
16839
16840 * docs/man/grub-emu.h2m: New file.
16841
b5309cc1
CW
168422010-06-13 Colin Watson <cjwatson@ubuntu.com>
16843
16844 * docs/grub.texi (Commands): Document reduced command set in rescue
16845 mode.
16846 (cpuid): New section.
16847
fcb2d090
GS
168482010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
16849
16850 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
16851 new partition naming style.
16852 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
16853
96e5c556
BC
168542010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
16855
16856 Add "-o grub.iso" like cmdline options support.
16857
16858 * util/grub-install.in: Improve cmdline option parsing.
16859 * util/grub-mkconfig.in: Likewise.
16860 * util/grub-mkrescue.in: Likewise.
16861 * util/grub-reboot.in: Likewise.
16862 * util/grub-set-default.in: Likewise.
16863 * util/i386/efi/grub-install.in: Likewise.
16864 * util/ieee1275/grub-install.in: Likewise.
16865 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16866
c16be99b
CW
168672010-06-12 Colin Watson <cjwatson@ubuntu.com>
16868
16869 * .bzrignore: Ignore 41_custom.
16870
ce08a9fb
TS
168712010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16872
16873 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
16874
7beac90c
CW
168752010-06-12 Colin Watson <cjwatson@ubuntu.com>
16876
16877 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
16878 prototype declarations.
16879
16880 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
16881 generating fs, partmap, and video lists.
16882 * include/grub/fs.h (grub_fs_register): Omit prototype if
16883 GRUB_LST_GENERATOR is defined.
16884 * include/grub/partition.h (grub_partition_map_register): Likewise.
16885 * include/grub/video.h (grub_video_register): Likewise.
16886
1c8f0f8d
JM
168872010-06-12 Javier Martín <lordhabbit@gmail.com>
16888
16889 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
16890
a6085973
TS
168912010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16892
16893 * util/grub-mkrescue.in: Support --xorriso argument.
16894
25c56d29
VS
168952010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16896
16897 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
16898 Suggested by: Thomas Schmitt.
16899
e03e4b24
VS
169002010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16901
16902 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
16903 Suggested by: Thomas Schmitt.
16904
57711df6
VS
169052010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16906
16907 custom.cfg support.
16908
16909 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
16910 * util/grub.d/41_custom.in: New file.
16911
ee62c427
CW
169122010-06-12 Colin Watson <cjwatson@ubuntu.com>
16913
16914 * util/grub-mkrescue.in (make_image): Remove sh module, which has
16915 been merged back into normal.
16916
283af07a
CW
169172010-06-11 Colin Watson <cjwatson@ubuntu.com>
16918
16919 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
16920 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
16921
56a0d956
CW
169222010-06-11 Colin Watson <cjwatson@ubuntu.com>
16923
16924 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
16925 when generating manual pages.
16926 * docs/man/grub-bin2h.h2m: New file.
16927 * docs/man/grub-editenv.h2m: New file.
16928 * docs/man/grub-fstest.h2m: New file.
16929 * docs/man/grub-install.h2m: New file.
16930 * docs/man/grub-macho2img.h2m: New file.
16931 * docs/man/grub-mkconfig.h2m: New file.
16932 * docs/man/grub-mkdevicemap.h2m: New file.
16933 * docs/man/grub-mkfont.h2m: New file.
16934 * docs/man/grub-mkimage.h2m: New file.
16935 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
16936 * docs/man/grub-mkrelpath.h2m: New file.
16937 * docs/man/grub-mkrescue.h2m: New file.
16938 * docs/man/grub-ofpathname.h2m: New file.
16939 * docs/man/grub-pe2elf.h2m: New file.
16940 * docs/man/grub-probe.h2m: New file.
16941 * docs/man/grub-reboot.h2m: New file.
16942 * docs/man/grub-script-check.h2m: New file.
16943 * docs/man/grub-set-default.h2m: New file.
16944 * docs/man/grub-setup.h2m: New file.
16945
3a37e322
VS
169462010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
16947
16948 Use FOR_* macros instead of *_iterate whenever possible.
16949
16950 * commands/handler.c: Removed.
16951 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
16952 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
16953 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16954 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
16955 (grub_probe_SOURCES): Remove kern/parser.c.
16956 (util/grub-script-check.c_DEPENDENCIES): Removed.
16957 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
16958 and grub_script_check_init.c.
16959 (grub_script_check_init.lst): Removed.
16960 (grub_script_check_init.h): Likewise.
16961 (grub_script_check_init.c): Likewise.
16962 (pkglib_MODULES): Remove handler.mod and sh.mod.
16963 (handler_mod_SOURCES): Removed.
16964 (handler_mod_CFLAGS): Likewise.
16965 (handler_mod_LDFLAGS): Likewise.
16966 (normal_mod_SOURCES): Remove normal/handler.c.
16967 Add script/main.c, script/script.c, script/execute.c,
16968 script/function.c, script/lexer.c, grub_script.tab.c
16969 and grub_script.yy.c.
16970 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16971 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16972 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
16973 (grub_setup_SOURCES): Remove kern/parser.c.
16974 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16975 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
16976 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16977 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16978 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16979 (grub_setup_SOURCES): Remove kern/parser.c.
16980 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16981 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
16982 * include/grub/command.h (grub_command_iterate): Removed.
16983 (FOR_COMMANDS): New macro.
16984 * include/grub/dl.h (grub_dl): New member next.
16985 (grub_dl_iterate): Removed.
16986 (grub_dl_head): New variable declaration.
16987 (FOR_DL_MODULES): New macro.
16988 * include/grub/fs.h: Include list.h.
16989 (grub_fs): Make next first element.
16990 (grub_fs_list): New variable declaration.
16991 (grub_fs_register): Make inline.
16992 (grub_fs_unregister): Likewise.
16993 (grub_fs_iterate): Removed.
16994 (FOR_FILESYSTEMS): New macro.
16995 * include/grub/handler.h: Removed.
16996 * include/grub/list.h (grub_list_hook_t): Removed.
16997 (grub_list_test_t): Likewise.
16998 (grub_list_pop): Likewise.
16999 (grub_list_iterate): Likewise.
17000 (grub_list_insert): Likewise.
17001 (FOR_LIST_ELEMENTS): New macro.
17002 * include/grub/parser.h (grub_parser_class): Removed.
17003 (grub_parser_register): Likewise.
17004 (grub_parser_unregister): Likewise.
17005 (grub_parser_get_current): Likewise.
17006 (grub_parser_set_current): Likewise.
17007 (grub_register_rescue_parser): Likewise.
17008 (grub_rescue_parse_line): New function.
17009 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
17010 * include/grub/script_sh.h (grub_script_function_list): New variable
17011 declaration.
17012 (FOR_SCRIPT_FUNCTIONS): New macro.
17013 (grub_script_function_iterate): Removed.
17014 (grub_normal_parse_line): New prototype.
17015 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
17016 (FOR_DISABLED_TERM_INPUTS): Likewise.
17017 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17018 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17019 * include/grub/video.h (grub_video_adapter): Move 'next' to first
17020 element.
17021 (grub_video_register): Inline.
17022 (grub_video_unregister): Likewise.
17023 (grub_video_adapter_list): New variable declaration.
17024 (grub_video_iterate): Removed.
17025 (FOR_VIDEO_ADAPTERS): New macro.
17026 * kern/dl.c (grub_dl_list): Removed. All users updated.
17027 (grub_dl_iterate): Removed.
17028 * kern/fs.c (grub_fs_list): Make global.
17029 (grub_fs_register): Removed.
17030 (grub_fs_unregister): Likewise.
17031 (grub_fs_iterate): Likewise.
17032 * kern/handler.c: Removed.
17033 * kern/list.c (grub_list_pop): Removed.
17034 (grub_list_iterate): Likewise.
17035 (grub_list_insert): Likewise.
17036 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
17037 (grub_prio_list_insert): Don't use grub_list_insert.
17038 * kern/main.c (grub_register_rescue_parser): Don't call
17039 grub_register_rescue_parser.
17040 * kern/parser.c (grub_parser_class): Removed.
17041 (grub_parser_execute): Use grub_rescue_parse_line.
17042 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
17043 (grub_rescue_parser): Removed.
17044 (grub_register_rescue_parser): Likewise.
17045 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
17046 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
17047 (grub_auth_check_authentication): Likewise.
17048 * normal/completion.c (iterate_command): Removed.
17049 (grub_normal_do_completion): Use FOR_COMMANDS.
17050 * normal/handler.c: Removed.
17051 * normal/main.c (read_config_file): Remove parser changing.
17052 (grub_normal_execute): Don't call read_handler_list.
17053 (grub_normal_read_line_real): Statically allocate prompt.
17054 (grub_cmdline_run): Use grub_normal_parse_line.
17055 (GRUB_MOD_FINI): Don't call free_handler_list.
17056 * normal/menu_entry.c (run): Likewise.
17057 * script/function.c (grub_script_function_list): Make global.
17058 (grub_script_function_iterate): Removed.
17059 * script/main.c (grub_normal_parse_line): Make global.
17060 (grub_sh_parser): Removed.
17061 (GRUB_MOD_INIT): Likewise.
17062 (GRUB_MOD_FINI): Likewise.
17063 * tests/lib/functional_test.c (grub_functional_test): Use
17064 FOR_LIST_ELEMENTS.
17065 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
17066 (grub_test_run): Use FOR_LIST_ELEMENTS.
17067 * tests/lib/unit_test.c (main): Likewise.
17068 * util/deviceiter.c (grub_util_iterate_devices): Don't use
17069 grub_list_pop.
17070 * util/grub-fstest.c (grub_term_input_class): Removed.
17071 (grub_term_output_class): Likewise.
17072 * util/grub-probe.c: Likewise.
17073 * util/i386/pc/grub-setup.c: Likewise.
17074 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17075 * util/grub-script-check.c (main): Don't call grub_init_all and
17076 grub_fini_all.
17077 * video/video.c (grub_video_adapter_list): Make global.
17078 (grub_video_register): Removed.
17079 (grub_video_unregister): Likewise.
17080 (grub_video_iterate): Likewise.
17081
6289c3a7
VS
170822010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
17083
17084 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
17085 reported by Henrique Ferreiro.
17086
91460247
RM
170872010-06-09 Robert Millan <rmh@gnu.org>
17088
17089 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
17090 ones, when both are available.
17091
0ea7c4f9
GS
170922010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17093
17094 Make --version uniform and avoid hard-coded program name.
17095
17096 * util/grub-mkimage.c (main): Use `program_name' instead of
17097 hard-coded string.
17098 * util/i386/pc/grub-setup.c (main): Likewise.
17099 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
17100 * util/grub-install.in: Save the basename of $0 in $self, and use the
17101 latter in informational messages. Use the same format for --version
17102 as the binary programs.
17103 * util/grub-mkconfig.in: Likewise.
17104 * util/grub-mkrescue.in: Likewise.
17105 * util/grub-reboot.in: Likewise.
17106 * util/grub-set-default.in: Likewise.
17107 * util/i386/efi/grub-install.in: Likewise.
17108 * util/ieee1275/grub-install.in: Likewise.
17109 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17110
e8a6f3b6
GS
171112010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17112
17113 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
17114 embedding area. Use <= instead of == when checking for non-emptiness.
17115
f4d095d7
GS
171162010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17117
17118 * configure.ac: Add `.' to the directories searched for unifont.
17119
50e532ca
CW
171202010-06-08 Colin Watson <cjwatson@ubuntu.com>
17121
17122 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
17123 grub_script.yy.h.
17124
d39f3dec
CW
171252010-06-08 Colin Watson <cjwatson@ubuntu.com>
17126
17127 * docs/grub.texi (History): Expand to cover GRUB 2.
17128 (Serial terminal): Refer to `terminal_input' and `terminal_output'
17129 commands, not `terminal'.
17130 (serial): Likewise.
17131 (terminal_input): New section.
17132 (terminal_output): New section.
17133 (uppermem): New section (stub).
17134 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
17135
6ef0ddb4
CW
171362010-06-08 Colin Watson <cjwatson@ubuntu.com>
17137
17138 * docs/grub.texi (Security): Menu entries are unrestricted by
17139 default, not restricted to superusers as I had previously thought.
17140 Reword to account for this.
17141
e0f4c438
CW
171422010-06-07 Colin Watson <cjwatson@ubuntu.com>
17143
17144 * kern/emu/misc.c (device_mapper_null_log): New function.
17145 (grub_device_mapper_supported): New function.
17146 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
17147 prototype.
17148 * kern/emu/hostdisk.c (find_partition_start): Check whether
17149 device-mapper is supported before trying to use it.
17150 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
17151
da908200
CW
171522010-06-07 Colin Watson <cjwatson@ubuntu.com>
17153
17154 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
17155 (File name syntax): Likewise.
17156 (help): --all is no longer supported in GRUB 2. Be more precise
17157 about pattern matching.
17158
fb55c3ac
CW
171592010-06-07 Colin Watson <cjwatson@ubuntu.com>
17160
17161 * normal/completion.c (grub_normal_do_completion): When completing
17162 arguments to "set" and the current word contains an equals sign,
17163 skip to after the equals sign before starting completion.
17164
258c2573
CW
171652010-06-07 Colin Watson <cjwatson@ubuntu.com>
17166
17167 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
17168
ee75515e
CW
171692010-06-07 Colin Watson <cjwatson@ubuntu.com>
17170
17171 * docs/grub.texi (Network): New section.
17172 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
17173 `(nd)' as in GRUB Legacy.
17174 (pxe_unload): New section.
17175
a6a700aa
CW
171762010-06-07 Colin Watson <cjwatson@ubuntu.com>
17177
17178 * docs/grub.texi (Troubleshooting): `echo' is not usually available
17179 in the rescue shell, so recommend using `set' instead. Thanks,
17180 Jordan Uggla.
17181
4003dd38
CW
171822010-06-07 Colin Watson <cjwatson@ubuntu.com>
17183
17184 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
17185 (password): New section.
17186 (password_pbkdf2): New section.
17187 (search): New section.
17188 (Security): New section.
17189 (Troubleshooting): New section, currently very incomplete.
17190 (Invoking grub-mkpasswd-pbkdf2): New section.
17191 (Internals): New section, currently very incomplete.
17192
e1cbcc40
CW
171932010-06-07 Colin Watson <cjwatson@ubuntu.com>
17194
17195 * util/grub.d/00_header.in: Add some more quoting (of
17196 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
17197 work again.
17198 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
17199
db8fa1ad
CW
172002010-06-07 Colin Watson <cjwatson@ubuntu.com>
17201
17202 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
17203 to `count', fixing variable shadowing that broke the -c option.
17204
172052010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
17206
17207 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
17208 in case they contain spaces.
17209
f28a9212
CW
172102010-06-04 Colin Watson <cjwatson@ubuntu.com>
17211
17212 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
17213 "part_" to partmap module names, in line with grub-install.
17214 Reported by: Jindřich Makovička (Debian bug #584426).
17215
9cdfe32f
CW
172162010-06-04 Colin Watson <cjwatson@ubuntu.com>
17217
17218 * util/grub-mkimage.c: Make target-related error messages slightly
17219 more helpful; -O talks about "format". Explicitly point to the use
17220 of -O if no target is specified.
17221 Reported by: Didier Raboud (Debian bug #584415).
17222
795b593a
CW
172232010-06-03 Colin Watson <cjwatson@ubuntu.com>
17224
17225 * INSTALL: Document several build requirements for optional features
17226 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
17227
9d9b5833
GS
172282010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17229
17230 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
17231 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
17232 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
17233
0819fec8
CW
172342010-06-02 Colin Watson <cjwatson@ubuntu.com>
17235
17236 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
17237 Thanks to Jordan Uggla for spotting this.
17238
49396b4f
VS
172392010-06-02 Aleš Nesrsta <starous@volny.cz>
17240
17241 Finally make USB usable.
17242
17243 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
17244 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
17245 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
17246 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
17247 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
17248 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
17249 (GRUB_OHCI_FSMPS): Likewise.
17250 (GRUB_OHCI_PERIODIC_START): Likewise.
17251 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
17252 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
17253 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
17254 (GRUB_OHCI_SET_PORT_RESET): Likewise.
17255 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
17256 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
17257 (grub_ohci_transaction): Likewise.
17258 (grub_ohci_transfer): Improve condition detection algorithms.
17259 Handle toggle property. Program the transactions correctly.
17260 Improve error handling. Various important fixups.
17261 (grub_ohci_portstatus): Put register writes in right order.
17262 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
17263 (grub_uhci_transfer): Don't show "failed" message on success.
17264 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
17265 array.
17266 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
17267 determine its size.
17268 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
17269 before initialization is completed. Use IN direction for empty
17270 transfers. Use last_trans and compute toggle.
17271 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
17272 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
17273 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
17274 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
17275 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
17276 (grub_usb_device): Increase toggle to 256.
17277 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
17278 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
17279 GRUB_USBMS_SUBCLASS_SFF8070.
17280 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
17281 (grub_scsi_inquiry): New member page and alloc_length.
17282 (grub_scsi_request_sense): New structure.
17283 (grub_scsi_request_sense_data): Likewise.
17284 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
17285 control.
17286 * disk/scsi.c (grub_scsi_request_sense): New function.
17287 (grub_scsi_test_unit_ready): Likewise.
17288 (grub_scsi_inquiry): Fill new fields.
17289 (grub_scsi_read_capacity): Likewise.
17290 (grub_scsi_read10): Add request sense at the end.
17291 (grub_scsi_read12): Likewise.
17292 (grub_scsi_write10): Likewise.
17293 (grub_scsi_write12): Likewise.
17294 (grub_scsi_open): Add Test Unit Ready.
17295 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
17296 Support additional subclasses. Con't clear halt yet. Activate the
17297 proper config. Calculate LUNs correctly.
17298 (grub_usbms_transfer): Various important fixups.
17299
173002010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17301
17302 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
17303 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
17304 (grub_ohci_fini_hw): New function.
17305 (grub_ohci_restore_hw): Likewise.
17306 (GRUB_MOD_INIT(ohci)): Register preboot hook.
17307 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
17308 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
17309
173102010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 Dedicated DMA allocations.
17313
17314 * bus/pci.c (grub_memalign_dma32): New function
17315 (grub_dma_free): Likewise.
17316 (grub_dma_get_virt): Likewise.
17317 (grub_dma_get_phys): Likewise.
17318 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
17319 (grub_ohci_pci_iter): Use dma32_alloc.
17320 (grub_ohci_transfer): Likewise.
17321 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17322 (grub_usb_bulk_readwrite): Likewise.
17323 * include/grub/pci.h: Add declarations.
17324
173252010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17326
17327 CS5536 support.
17328
17329 * bus/cs5536.c: New file.
17330 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
17331 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
17332 (cs5536_mod_SOURCES): New variable.
17333 (cs5536_mod_CFLAGS): Likewise.
17334 (cs5536_mod_LDFLAGS): Likewise.
17335 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
17336 machine/pci.h.
17337 (kernel_img_SOURCES): Add bus/cs5536.c.
17338 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
17339 usb_keyboard.mod.
17340 (usb_mod_SOURCES): New variable.
17341 (usb_mod_CFLAGS): New variable.
17342 (usb_mod_LDFLAGS): New variable.
17343 (usbtest_mod_SOURCES): New variable.
17344 (usbtest_mod_CFLAGS): New variable.
17345 (usbtest_mod_LDFLAGS): New variable.
17346 (ohci_mod_SOURCES): New variable.
17347 (ohci_mod_CFLAGS): New variable.
17348 (ohci_mod_LDFLAGS): New variable.
17349 (usbms_mod_SOURCES): New variable.
17350 (usbms_mod_CFLAGS): New variable.
17351 (usbms_mod_LDFLAGS): New variable.
17352 (usb_keyboard_mod_SOURCES): New variable.
17353 (usb_keyboard_mod_CFLAGS): New variable.
17354 (usb_keyboard_mod_LDFLAGS): New variable.
17355 * include/grub/smbus.h: New file.
17356 * include/grub/cs5536.h: New file.
17357
0b35b2a9
CW
173582010-06-02 Colin Watson <cjwatson@ubuntu.com>
17359
17360 * util/grub.d/00_header.in: Add safety check to make sure that
17361 ${locale_dir} exists before trying to probe it.
17362
ca0afd5b
CW
173632010-06-02 Colin Watson <cjwatson@ubuntu.com>
17364
17365 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
17366 per the GNU Coding Standards; this is now too obscure to be worth
17367 documenting.
17368 (QNX): Likewise.
17369 (chainloader): Remove cross-reference to `SCO UnixWare'.
17370
1c41aa78
CW
173712010-06-02 Colin Watson <cjwatson@ubuntu.com>
17372
17373 * docs/grub.texi (Chain-loading): New section.
17374 (DOS/Windows): New section, borrowed from GRUB Legacy with details
17375 adjusted for GRUB 2.
17376 (SCO UnixWare): Likewise.
17377 (QNX): Likewise.
17378 (chainloader): Add reference to `Block list syntax'.
17379 (drivemap): New section.
17380 (parttool): New section.
17381
bb8ea0f5
CW
173822010-06-02 Colin Watson <cjwatson@ubuntu.com>
17383
17384 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
17385 the grub shell'.
17386 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
17387 (Installing GRUB using grub-install): Remove reference to the grub
17388 shell; mention `grub-mkimage' and `grub-setup' instead.
17389 (Invoking grub-install): Likewise.
17390 (Interface): Add reference to `Menu entry editor'.
17391 (serial): Remove `--device' option.
17392
288dd6ed
CW
173932010-06-02 Colin Watson <cjwatson@ubuntu.com>
17394
17395 * docs/grub.texi (Configuration): New section, documenting
17396 configuration file generation using grub-mkconfig. I've left a slot
17397 for documenting the full shell scripting format but have not yet
17398 started on writing that up.
17399 (Invoking grub-mkconfig): New section.
17400
34c9f0e9
CW
174012010-06-02 Colin Watson <cjwatson@ubuntu.com>
17402
17403 * docs/grub.texi (direntry): Remove grub-terminfo reference.
17404 (GNU GRUB manual): Likewise.
17405 (General commands): Update description of `terminfo' for GRUB 2.
17406
9121567e
CW
174072010-06-02 Colin Watson <cjwatson@ubuntu.com>
17408
17409 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
17410 (GRUB_MOD_INIT): Fix capitalisation.
17411 * docs/grub.texi (Command-line and menu entry commands): Document
17412 gettext and gptsync commands.
17413
ab631611
CW
174142010-06-02 Colin Watson <cjwatson@ubuntu.com>
17415
17416 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
17417 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
17418
bde4a9ac
CW
174192010-06-01 Colin Watson <cjwatson@ubuntu.com>
17420
17421 Add btrfs probing support, currently only in the single-device case.
17422
17423 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
17424 function.
17425 (grub_guess_root_device): Call find_root_device_from_mountinfo
17426 before looking in /dev.
17427
b1d17e10
VS
174282010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17429
17430 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
17431 GRUB_DISK_SIZE_UNKNOWN.
17432 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
17433
dfbfe004
JS
174342010-05-31 Jiro SEKIBA <jir@unicus.jp>
17435
17436 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
17437 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
17438 corrupted or not synced properly.
17439
c2ffc8e9
VS
174402010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
17443 Reported by: Seth Goldberg.
17444
56293166
VS
174452010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17446
17447 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
17448 addition of dest.
17449 Reported by: Seth Goldberg.
17450
7620e7de
VS
174512010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17452
17453 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
17454 Reported by: Seth Goldberg.
17455
c837af3f
VS
174562010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17457
17458 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
17459 64-bit address as signed on MIPS.
17460
c7c75cf4
CW
174612010-05-28 Colin Watson <cjwatson@ubuntu.com>
17462
17463 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
17464 to the empty string.
17465
fa4b8490
BC
174662010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
17467
17468 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
17469
17470 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
17471 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
17472 * kern/misc.c (__enable_execute_stack): Disable on
17473 GRUB_MACHINE_EMU.
17474
a33075b9
CW
174752010-05-28 Colin Watson <cjwatson@ubuntu.com>
17476
17477 Make grub-probe work with symbolic links under /dev/mapper as well
17478 as with real block devices. The Linux world seems to be (at best)
17479 in transition here, and GRUB shouldn't get caught in the middle.
17480
17481 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
17482 /dev/mapper.
17483
d8708134
CW
174842010-05-27 Colin Watson <cjwatson@ubuntu.com>
17485
17486 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17487 input files (in which case exit zero).
17488
db2102a0
CW
174892010-05-27 Colin Watson <cjwatson@ubuntu.com>
17490
17491 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17492 return NULL for various reasons even if it has a maximum-length
17493 buffer: for example, there might be a symlink loop, or the path
17494 might exceed PATH_MAX. If this happens, return NULL.
17495
5fdba519
RM
174962010-05-27 Robert Millan <rmh@gnu.org>
17497
17498 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17499 partmap module to handle cross-partmap setups.
17500 Reported by Orestes Mas. Gràcies!
17501
d1d368e4
CW
175022010-05-27 Colin Watson <cjwatson@ubuntu.com>
17503
17504 * util/grub-mkrescue.in: Initialise override_dir rather than
17505 assuming that it's unset or empty in the environment.
17506
95ac3c73
GS
175072010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17508
17509 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17510 variable index into p_index to suppress a warning with -Wshadow.
17511
7d8c0213
BC
175122010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17513
17514 * INSTALL: Added flex >= 2.5.35 requirement.
17515
db4d5813
VS
175162010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17517
17518 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17519
f24f4300
VS
175202010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17521
17522 cmostest support.
17523
17524 * commands/i386/cmostest.c: New file.
17525 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17526 (cmostest_mod_SOURCES): New variable.
17527 (cmostest_mod_CFLAGS): Likewise.
17528 (cmostest_mod_LDFLAGS): Likewise.
17529 * conf/i386-pc.rmk: Likewise.
17530 * docs/grub.texi (Vendor power-on keys): New section.
17531 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17532 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17533 and GRUB_BUTTON_CMOS_ADDRESS.
17534 * util/grub.d/00_header.in: Handle powering-on by separate button.
17535
ad603f61
VS
175362010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17537
17538 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17539 Removed drawing_scrollbar argument. All users updated
17540 Fixes #29792.
17541 Reported by Jo Shields
17542
3ecb080a
VS
175432010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17544
17545 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17546 buffer since gfxterm handles double repaint.
17547
5f2316c1
VS
175482010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17549
17550 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17551 * term/gfxterm.c (real_scroll): Likewise.
17552
9a25f885
VS
175532010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17554
17555 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17556 before calling BIOS.
17557
39fbb79a
VS
175582010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17559
17560 * include/grub/i18n.h: Always enable grub_gettext.
17561
228cfa97
VS
175622010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17563
17564 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17565 partition naming style.
17566
21717c8f
CW
175672010-05-21 Colin Watson <cjwatson@ubuntu.com>
17568
17569 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17570 not the first option.
17571
c0f48e65
CW
175722010-05-20 Colin Watson <cjwatson@ubuntu.com>
17573
17574 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17575
96779aec
CW
175762010-05-20 Colin Watson <cjwatson@ubuntu.com>
17577
17578 * util/misc.c: Move inclusion of <limits.h> to ...
17579 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17580
fa9d256e
GS
175812010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17582
17583 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17584 Fix merge error in NetBSD code.
17585 (find_partition_start) [__NetBSD__]: Likewise.
17586
123b7a85
BC
175872010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17588
17589 Fix grub-mkrescue usage unit testing.
17590
17591 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17592
74276c0d
CF
175932010-05-18 Christian Franke <franke@computer.org>
17594
17595 * util/grub.d/10_windows.in: Use path names instead of
17596 drive letters to prevent warning from Cygwin 1.7.
17597 Add drivemap command to menuentry if needed.
17598
c4f7b523
ST
175992010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17600
17601 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17602 gnumach and gnumach.gz.
17603
95b97950
VS
176042010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17605
17606 * include/grub/i18n.h (gettext): Inline instead of using #define.
17607 (grub_gettext): Likewise.
17608 (_): Likewise.
17609
01b8d2d7
VS
176102010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17611
17612 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17613 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17614 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17615 (main): Add a slash after pkglibdirroot.
17616
654e1d1e
VS
176172010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17618
17619 * util/grub-install.in: Add missing "in" keyword.
17620
26966aeb
VS
176212010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17622
17623 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17624 Reported by: Seth Goldberg.
17625
75006747
VS
176262010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17627
17628 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17629
74cbf5bd
CW
176302010-05-18 Colin Watson <cjwatson@ubuntu.com>
17631
17632 * configure.ac: Check for Linux device-mapper support.
17633
17634 * util/hostdisk.c (device_is_mapped): New function.
17635 (find_partition_start): New function, partly broken out from
17636 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17637 device-mapper support added.
17638 (linux_find_partition): Use find_partition_start.
17639 (convert_system_partition_to_system_disk): Add `st' argument.
17640 Support Linux /dev/mapper/* devices if device-mapper support is
17641 available; only DM-RAID devices are understood at present.
17642 (find_system_device): Add `st' argument. Pass it to
17643 convert_system_partition_to_system_disk.
17644 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17645 find_system_device and convert_system_partition_to_system_disk. Use
17646 find_partition_start.
17647
17648 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17649 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17650 * util/deviceiter.c [__linux__]: Define MINOR.
17651 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17652 * util/mkdevicemap.c (grub_putchar): New function.
17653 (grub_getkey): New function.
17654 (grub_refresh): New function.
17655 (main): Set debug=all if -v -v is used.
17656
355b51e9
CW
176572010-05-18 Colin Watson <cjwatson@ubuntu.com>
17658
17659 Fix build with non-GNU libcs.
17660
17661 * util/misc.c (canonicalize_file_name): Move to ...
17662 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
17663 grub_make_system_path_relative_to_its_root.
17664
7fb5c25f
CW
176652010-05-18 Colin Watson <cjwatson@ubuntu.com>
17666
17667 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
17668 we handle finding grub-mkimage. Default to finding grub-mkimage in
17669 ${bindir} with program_transform_name applied, and provide a
17670 --grub-mkimage option to override this.
17671
1d3293d6
VS
176722010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17673
17674 Remove grub-mkisofs.
17675
17676 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
17677 (grub_mkisofs_SOURCES): Removed.
17678 (grub_mkisofs_CFLAGS): Removed.
17679 * util/mkisofs/defaults.h: Removed.
17680 * util/mkisofs/eltorito.c: Likewise.
17681 * util/mkisofs/exclude.h: Likewise.
17682 * util/mkisofs/hash.c: Likewise.
17683 * util/mkisofs/include/: Likewise.
17684 * util/mkisofs/include/fctldefs.h: Likewise.
17685 * util/mkisofs/include/mconfig.h: Likewise.
17686 * util/mkisofs/include/prototyp.h: Likewise.
17687 * util/mkisofs/include/statdefs.h: Likewise.
17688 * util/mkisofs/iso9660.h: Likewise.
17689 * util/mkisofs/joliet.c: Likewise.
17690 * util/mkisofs/match.c: Likewise.
17691 * util/mkisofs/match.h: Likewise.
17692 * util/mkisofs/mkisofs.c: Likewise.
17693 * util/mkisofs/mkisofs.h: Likewise.
17694 * util/mkisofs/msdos_partition.h: Likewise.
17695 * util/mkisofs/multi.c: Likewise.
17696 * util/mkisofs/name.c: Likewise.
17697 * util/mkisofs/rock.c: Likewise.
17698 * util/mkisofs/tree.c: Likewise.
17699 * util/mkisofs/write.c: Likewise.
17700
5dde9afe
VS
177012010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17702
17703 Unify grub-mkimage accross platforms.
17704
17705 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
17706 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
17707 (grub_mkelfimage_SOURCES): Removed.
17708 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
17709 (util/grub-mkimage.c_DEPENDENCIES): .. this.
17710 (bin_UTILITIES): Add grub-mkimage.
17711 (grub_mkimage_SOURCES): New variable.
17712 (kernel_img_HEADERS): Remove machine/kernel.h.
17713 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
17714 (pkglib_PROGRAMS): Add kernel.img.
17715 (kernel_img_HEADERS): Add machine/kernel.h.
17716 (kernel_img_FORMAT): Removed.
17717 (bin_UTILITIES): Remove grub-mkimage.
17718 (grub_mkimage_SOURCES): Removed.
17719 (grub_mkimage_CFLAGS): Likewise.
17720 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17721 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
17722 (pkglib_PROGRAMS): Add kernel.img.
17723 (bin_UTILITIES): Remove grub-mkimage.
17724 (grub_mkimage_SOURCES): Removed.
17725 (grub_mkimage_CFLAGS): Likewise.
17726 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17727 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
17728 (pkglib_PROGRAMS): Add kernel.img.
17729 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
17730 (pkglib_PROGRAMS): Add kernel.img.
17731 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
17732 (grub_mkimage_SOURCES): Removed.
17733 (grub_mkimage_CFLAGS): Likewise.
17734 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17735 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
17736 (pkglib_PROGRAMS): Add kernel.img.
17737 (bin_UTILITIES): Remove grub-mkimage.
17738 (grub_mkimage_SOURCES): Removed.
17739 (grub_mkimage_CFLAGS): Likewise.
17740 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17741 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17742 (grub_mkimage_SOURCES): Removed.
17743 (grub_mkimage_CFLAGS): Likewise.
17744 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17745 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17746 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17747 (grub_pe32_optional_header): ... this.
17748 (grub_pe64_optional_header): ... and this. All users updated.
17749 (GRUB_PE32_PE32_MAGIC): Split into ..
17750 (GRUB_PE32_PE32_MAGIC): .. this.
17751 (GRUB_PE32_PE64_MAGIC): .. and this.
17752 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17753 * include/grub/elf.h (PT_GNU_STACK): New definition.
17754 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17755 * include/grub/i386/efi/kernel.h: Likewise.
17756 * include/grub/i386/kernel.h: Likewise.
17757 * include/grub/i386/pc/kernel.h: Likewise.
17758 * include/grub/i386/qemu/boot.h: Likewise.
17759 * include/grub/mips/kernel.h: Likewise.
17760 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17761 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17762 * include/grub/powerpc/kernel.h: Likewise.
17763 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17764 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17765 * include/grub/sparc64/kernel.h: Likewise.
17766 * include/grub/x86_64/efi/kernel.h: Likewise.
17767 * include/grub/x86_64/kernel.h: Likewise.
17768 * include/grub/offsets.h: New file.
17769 * include/grub/kernel.h (grub_module_info): Split into ...
17770 (grub_module_info32): ... this.
17771 (grub_module_info64): ... and this.
17772 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
17773 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
17774 (grub_boot_blocklist): Moved from here ...
17775 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
17776 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
17777 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
17778 * include/grub/types.h (grub_target_to_host16): Removed.
17779 (grub_target_to_host32): Likewise.
17780 (grub_target_to_host64): Likewise.
17781 (grub_host_to_target16): Likewise.
17782 (grub_host_to_target32): Likewise.
17783 (grub_host_to_target64): Likewise.
17784 (grub_host_to_target_addr): Likewise.
17785
17786 Support grub-mkrescue for efi, coreboot and qemu.
17787
17788 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
17789 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
17790 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
17791 * util/grub-mkrawimage.c: Moved from here ...
17792 * util/grub-mkimage.c: ... here. All users updated.
17793 (ALIGN_ADDR): Use image_target.
17794 (TARGET_NO_FIELD): New const.
17795 (image_target_desc): New type.
17796 (image_targets): New array.
17797 (grub_target_to_host64): Use image_target.
17798 (grub_target_to_host32): Likewise.
17799 (grub_target_to_host16): Likewise.
17800 (grub_host_to_target64): Likewise.
17801 (grub_host_to_target32): Likewise.
17802 (grub_host_to_target16): Likewise.
17803 (grub_host_to_target_addr): Likewise.
17804 (generate_image): Handle multiimage.
17805 (main): Require -O parameter. All users updated.
17806 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
17807 util/efi/grub-mkimage.c
17808 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
17809 New option --rom-directory.
17810 Use xorriso.
17811 * util/i386/efi/grub-mkimage.c: Removed.
17812 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
17813 (grub_target_to_host32): Likewise.
17814 (grub_target_to_host64): Likewise.
17815 (grub_host_to_target16): Likewise.
17816 (grub_host_to_target32): Likewise.
17817 (grub_host_to_target64): Likewise.
17818 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
17819 (grub_target_to_host32): Likewise.
17820 (grub_target_to_host64): Likewise.
17821 (grub_host_to_target16): Likewise.
17822 (grub_host_to_target32): Likewise.
17823 (grub_host_to_target64): Likewise.
17824
f4fc97d0
BC
178252010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
17826
17827 Source tree is reorganized for emu build.
17828
17829 * include/grub/util/console.h: Move from here...
17830 * include/grub/emu/console.h: ...to here.
17831 * include/grub/util/getroot.h: Move from here...
17832 * include/grub/emu/getroot.h: ...to here.
17833 * include/grub/util/hostdisk.h: Move from here...
17834 * include/grub/emu/hostdisk.h: ...to here.
17835 * util/console.c: Move from here...
17836 * kern/emu/console.c: ...to here.
17837 * util/getroot.c: Move from here...
17838 * kern/emu/getroot.c: ...to here.
17839 * util/grub-emu.c: Move from here...
17840 * kern/emu/main.c: ...to here.
17841 * util/hostdisk.c: Move from here...
17842 * kern/emu/hostdisk.c: ...to here.
17843 * util/hostfs.c: Move from here...
17844 * kern/emu/hostfs.c: ...to here.
17845 * util/mm.c: Move from here...
17846 * kern/emu/mm.c: ...to here.
17847 * util/pci.c: Move from here...
17848 * bus/emu/pci.c: ...to here.
17849 * util/sdl.c: Move from here...
17850 * video/emu/sdl.c: ...to here.
17851 * util/time.c: Move from here...
17852 * kern/emu/time.c: ...to here.
17853 * util/usb.c: Move from here...
17854 * bus/usb/emu/usb.c: ...to here.
17855
17856 * include/grub/emu/misc.h: New header for grub-emu functions.
17857 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
17858
17859 * conf/any-emu.rmk: Rule updates for above renames.
17860 * conf/common.rmk: Likewise.
17861 * conf/i386-pc.rmk: Likewise.
17862 * conf/i386-qemu.rmk: Likewise.
17863 * conf/mips.rmk: Likewise.
17864 * conf/sparc64-ieee1275.rmk: Likewise.
17865 * conf/x86-efi.rmk: Likewise.
17866
17867 * disk/lvm.h: #include updates for above renames.
17868 * util/grub-mkrelpath.c: Likewise.
17869 * util/grub-probe.c: Likewise.
17870 * util/i386/pc/grub-setup.c: Likewise.
17871 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17872 * kern/emu/console.c: Likewise.
17873 * kern/emu/getroot.c: Likewise.
17874 * kern/emu/hostdisk.c: Likewise.
17875 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
17876
17877 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
17878 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
17879 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
17880 * util/misc.c: Remove grub-emu functions.
17881
cced9145
VS
178822010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17883
17884 Fix gfxmenu crash.
17885 Reported by: Thorsten Grützmacher.
17886
17887 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
17888 timeout hook.
17889 (circprog_set_property): Register and unregister timeout hook.
17890 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
17891 (label_destroy): Free template. and unregister hook.
17892 (label_set_state): New function.
17893 (label_set_property): Handle templates and hooks.
17894 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
17895 timeout hook.
17896 (progress_bar_set_property): Register and unregister timeout hook.
17897 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
17898 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
17899 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
17900 (update_timeout_visit): Removed.
17901 (update_timeouts): New function.
17902 (redraw_timeouts): Likewise.
17903 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
17904 (grub_gfxmenu_clear_timeout): Likewise.
17905 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
17906 (grub_gfxmenu_timeout_notify): Likewise.
17907 (grub_gfxmenu_timeout_notifications): New external variable.
17908 (grub_gfxmenu_timeout_register): New function.
17909 (grub_gfxmenu_timeout_unregister): Likewise.
17910
c6e5caab
VS
179112010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17912
17913 Transform (broken) vga terminal into (working) vga video driver.
17914
17915 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
17916 video/i386/pc/vga.c.
17917 * include/grub/video.h (grub_video_driver_id):
17918 Add GRUB_VIDEO_DRIVER_VGA.
17919 * term/i386/pc/vga.c: Renamed to ...
17920 * video/i386/pc/vga.c: ...this
17921 (DEBUG_VGA): Removed.
17922 (CHAR_WIDTH): Likewise.
17923 (CHAR_HEIGHT): Likewise.
17924 (TEXT_WIDTH): Likewise.
17925 (TEXT_HEIGHT): Likewise.
17926 (DEFAULT_FG_COLOR): Likewise.
17927 (DEFAULT_BG_COLOR): Likewise.
17928 (colored_char): Likewise.
17929 (xpos): Likewise.
17930 (ypos): Likewise.
17931 (cursor_state): Likewise.
17932 (fg_color): Likewise.
17933 (bg_color): Likewise.
17934 (text_buf): Likewise.
17935 (page): Likewise.
17936 (font): Likewise.
17937 (framebuffer): New variable.
17938 (set_read_map): Disabled.
17939 (setup): New variable.
17940 (is_target): Likewise.
17941 (grub_vga_mod_init): Likewise.
17942 (grub_vga_mod_fini): Likewise.
17943 (check_vga_mem): Likewise.
17944 (write_char): Likewise.
17945 (write_cursor): Likewise.
17946 (scroll_up): Likewise.
17947 (grub_vga_putchar): Likewise.
17948 (grub_vga_getcharwidth): Likewise.
17949 (grub_vga_getwh): Likewise.
17950 (grub_vga_getxy): Likewise.
17951 (grub_vga_gotoxy): Likewise.
17952 (grub_vga_cls): Likewise.
17953 (grub_vga_setcolorstate): Likewise.
17954 (grub_vga_setcursor): Likewise.
17955 (grub_video_vga_init): New function.
17956 (grub_video_vga_setup): Likewise.
17957 (grub_video_vga_fini): Likewise.
17958 (update_target): Likewise.
17959 (grub_video_vga_blit_bitmap): Likewise.
17960 (grub_video_vga_blit_render_target): Likewise.
17961 (grub_video_vga_set_active_render_target): Likewise.
17962 (grub_video_vga_get_active_render_target): Likewise.
17963 (grub_video_vga_swap_buffers): Likewise.
17964 (grub_video_vga_set_palette): Likewise.
17965 (grub_video_vga_get_info_and_fini): Likewise.
17966 (grub_vga_term): Removed.
17967 (grub_video_vga_adapter): New variable.
17968 (GRUB_MOD_INIT): Register a video driver instead of terminal.
17969 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
17970
2bf61a98
VS
179712010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17972
17973 * video/readers/jpeg.c: Indented.
17974
09ddcd11
VS
179752010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17976
17977 Various jpeg cleanups.
17978
17979 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
17980 (grub_jpeg_decode_quan_table): Use sizeof.
17981 (grub_jpeg_decode_du): Use ARRAY_SIZE.
17982
e5507505
PH
179832010-05-05 Peter Hurley <No e-mail available> (tiny change)
17984
17985 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
17986 tables. Ignore non-last ac bit.
17987 (grub_jpeg_decode_quan_table): Likewise.
17988
7e720a9b
VS
179892010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17990
17991 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
17992 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
17993 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17994 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
17995 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
17996 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
17997
a7fc080b
VS
179982010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17999
18000 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
18001 error.
18002
2bf6012d
VS
180032010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18004
18005 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
18006
265d68cd
VS
180072010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18008
18009 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
18010 condition.
18011
180122010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
18013
18014 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
18015 part.
18016
265d68cd 180172010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
18018
18019 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
18020 pointers.
18021
265d68cd 180222010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
18023
18024 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
18025
d1b61374
CF
180262010-05-01 Christian Franke <franke@computer.org>
18027
18028 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
18029 Remove broken Cygwin path conversion.
18030 * util/misc.c: [__CYGWIN__] Add include and define.
18031 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
18032 for Cygwin 1.7.
18033 (make_system_path_relative_to_its_root): Simplify loop, replace early
18034 return by break.
18035 [__CYGWIN__] Add conversion to win32 path.
18036 Include "/" case in trailing slash removal.
18037
3558c6e9
VS
180382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18039
18040 * kern/main.c (grub_load_config): Fix copy-pasted comment.
18041 Reported by: Seth Goldberg
18042
f5f3ff93
VS
180432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 * commands/help.c (grub_cmd_help): Fix a typo.
18046 Reported by: Seth Goldberg
18047
d8b5cd40
VS
180482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
18051 name and add N_.
18052 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
18053 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
18054 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
18055 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
18056 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
18057 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
18058 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18059 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18060 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18061 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18062 * normal/context.c (GRUB_MOD_INIT): Likewise.
18063 * normal/main.c (GRUB_MOD_INIT): Likewise.
18064 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18065 * term/serial.c (GRUB_MOD_INIT): Likewise.
18066 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18067
88c14915
VS
180682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18069
18070 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
18071 extra == 0.
18072
165134bc
VS
180732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18074
18075 * commands/iorw.c: New file.
18076 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
18077 (iorw_mod_SOURCES): New variable.
18078 (iorw_mod_CFLAGS): Likewise.
18079 (iorw_mod_LDFLAGS): Likewise.
18080
c5ac9b32
VS
180812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18082
18083 Hotkey support
18084
18085 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
18086 * normal/main.c (hotkey_aliases): New variable.
18087 (grub_normal_add_menu_entry): Parse "--hotkey".
18088 * normal/menu_text.c (run_menu): Handle hotkeys.
18089
ce60689c
VS
180902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18091
18092 * kern/i386/coreboot/init.c (grub_machine_init): Call
18093 grub_machine_mmap_init on qemu.
18094
0359d006
VS
180952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18096
18097 * boot/i386/qemu/boot.S: Add a missing .code16.
18098
7819a456
VS
180992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18100
18101 Use LBIO on coreboot.
18102
18103 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
18104 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
18105 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
18106 New declaration.
18107 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
18108 grub_machine_mmap_init on coreboot.
18109 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
18110 GRUB_LINUXBIOS_MEMBER_LINK.
18111 (grub_machine_mmap_iterate): Fix declaration.
18112 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
18113
7210dca9
VS
181142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18115
18116 Split coreboot and multiboot ports.
18117
18118 * conf/i386-multiboot.rmk: New file.
18119 * configure.ac: Add multiboot port.
18120 * include/grub/i386/multiboot/boot.h: New file.
18121 * include/grub/i386/multiboot/console.h: Likewise.
18122 * include/grub/i386/multiboot/init.h: Likewise.
18123 * include/grub/i386/multiboot/kernel.h: Likewise.
18124 * include/grub/i386/multiboot/loader.h: Likewise.
18125 * include/grub/i386/multiboot/memory.h: Likewise.
18126 * include/grub/i386/multiboot/serial.h: Likewise.
18127 * include/grub/i386/multiboot/time.h: Likewise.
18128 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
18129 * loader/multiboot.c: Likewise.
18130 * loader/multiboot_mbi2.c: Likewise.
18131 * util/grub-mkrescue.in: Generate multiboot rescue.
18132
6f8aaf68
VS
181332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18134
3080f7a7
VS
18135 * kern/parser.c (grub_parser_execute): Cope with read-only config.
18136
181372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18138
18139 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
18140
18141 * commands/terminal.c (abstract_terminal): New struct.
18142 (handle_command): New function. Based on grub_cmd_terminal_input.
18143 (grub_cmd_terminal_input): Use handle_command.
18144 (grub_cmd_terminal_output): Use handle_command.
18145
a8ebb841
BC
181462010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
18147
18148 Fix comment handling.
18149
18150 * tests/grub_script_comments.in: New testcase.
18151 * conf/tests.rmk: Rules for new testcase.
18152 * script/yylex.l: Updated flex rules.
18153
bb06ba08
ST
181542010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
18155
18156 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
18157 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
18158 if argc is 1.
bb06ba08 18159
cc9d2425
VS
181602010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18161
18162 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
18163 autogen issues.
18164
460d8402
CF
181652010-04-26 Christian Franke <franke@computer.org>
18166
18167 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
18168 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
18169 (grub_get_prefix): Remove function.
18170 * util/grub-emu.c (main): Replace grub_get_prefix () call by
18171 make_system_path_relative_to_its_root ().
18172 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18173
553c01f9
CF
181742010-04-24 Christian Franke <franke@computer.org>
18175
18176 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
18177 (kernel_img_LDFLAGS): Remove -static-libgcc.
18178
2aec1692
CF
181792010-04-24 Christian Franke <franke@computer.org>
18180
18181 * configure.ac: Do not CHECK_BSS_START_SYMBOL
18182 and CHECK_END_SYMBOL if grub-emu is built.
18183 Unset TARGET_OBJ2ELF if grub-emu is built
18184 without module support.
18185
f67dc308
JS
181862010-04-24 Jiro SEKIBA <jir@unicus.jp>
18187
18188 Nilfs2 support.
18189
18190 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
18191 (grub_fstest_SOURCES): Likewise.
18192 (pkglib_MODULES): Add nilfs2.mod.
18193 (nilfs2_mod_SOURCES): New variable.
18194 (nilfs2_mod_CFLAGS): Likewise.
18195 (nilfs2_mod_LDFLAGS): Likewise.
18196 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18197 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18198 * fs/nilfs2.c: New file.
18199
4ba8d354
VS
182002010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
18201
18202 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
18203 is not supported.
18204
0d2c20c6
GS
182052010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
18206
18207 Add grub-mkconfig support for NetBSD.
18208
18209 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
18210 * util/grub-mkconfig.in: export new NetBSD specific variables.
18211 * po/POTFILES-shell: added 10_netbsd.in.
18212 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
18213
bc4a2d83
BC
182142010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
18215
18216 Fix emu build with grub-emu-pci and grub-emu-modules.
18217
18218 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
18219 functions.
18220 * include/grub/libpciaccess.h: New file.
18221 * conf/any-emu.rmk: Update kernel headers for emu build.
18222
f48c87aa
VS
182232010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18224
18225 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
18226
18959385
VS
182272010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18228
18229 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
18230
0037de3f
VS
182312010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
18234 Retrieve chosen/bootpath if bootpath isn't hardcoded.
18235 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
18236 util/ieee1275/ofpath.c.
18237 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
18238 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
18239 * include/grub/sparc64/ieee1275/boot.h
18240 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
18241 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
18242 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
18243 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
18244 const char *.
18245 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
18246 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
18247 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
18248 install.
18249
38e55e90
GS
182502010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18251
18252 * util/grub-mkconfig.in: Corrected two == equality tests.
18253 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
18254 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
18255 expect a number appended to it.
18256 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
18257 expects a number appended to it.
18258
a9e6ff28
VS
182592010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18260
18261 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
18262
0b830b8f
VS
182632010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18264
18265 * util/hostdisk.c (make_device_name): Change to new partition naming.
18266
0973daeb
VS
182672010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18268
18269 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
18270
460d8402 182712010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
18272
18273 * Makefile.in: Add missing localedir setting.
18274
0b456309
CW
182752010-04-14 Colin Watson <cjwatson@ubuntu.com>
18276
18277 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
18278 mistake in r2156. Noticed by Anthony Fok.
18279
18280 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
18281 @localedir@.
18282 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18283
08f46d62
BC
182842010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
18285
18286 Fix a spurious, uninitialized variable warning.
18287
18288 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
18289 Initialize variable, shdr.
18290 (grub_freebsd_load_elfmodule): Likewise.
18291 (grub_freebsd_load_elf_meta): Likewise.
18292
8c4a72d4
BC
182932010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
18294
18295 Fix for escaped dollar in double quoted strings.
18296
18297 * script/yylex.l: Updated flex rules.
18298 * conf/tests.rmk: Rule for new testcase.
18299 * tests/grub_script_dollar.in: New testcase.
18300
ce44826e
CPE
183012010-04-13 Carles Pina i Estany <carles@pina.cat>
183022010-04-13 Colin Watson <cjwatson@ubuntu.com>
18303
18304 Enclose all translated strings in grub.cfg in single quotes, and
18305 escape them appropriately (Ubuntu bug #552921).
18306
18307 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
18308 * util/grub.d/10_hurd.in: Use it.
18309 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18310 * util/grub.d/10_linux.in (linux_entry): Likewise.
18311
4b0cd8f8
VS
183122010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18313
18314 Fix cygwin compilation.
18315
18316 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
18317 * include/grub/misc.h (__register_frame_info)
18318 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
18319 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18320 * kern/misc.c (__register_frame_info)
18321 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
18322 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18323
01fcf061
VS
183242010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18325
18326 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
18327
5d04b11e
VS
183282010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18329
18330 Unify libgcc processing.
18331
18332 * Makefile.in (kernel_img_LDFLAGS): New variable.
18333 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
18334 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
18335 overwriting.
18336 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
18337 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
18338 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
18339 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
18340 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
18341 overwriting. Remove -lgcc and -static-libgcc
18342 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
18343 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18344 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18345 (kernel_img_LDFLAGS): Append instead of overwriting.
18346 Remove -lgcc and -static-libgcc
18347 * conf/sparc64-ieee1275.rmk: Likewise.
18348 * include/grub/powerpc/libgcc.h: Move to ...
18349 * include/grub/libgcc.h: .. this.
18350 * include/grub/libgcc.h: Don't export most of the function on x86.
18351 (__bswapsi2): New export.
18352 (__bswapdi2): Likewise.
18353 * include/grub/mips/libgcc.h: Removed.
18354 * include/grub/sparc64/libgcc.h: Likewise.
18355
b7f3ac29
VS
183562010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18357
18358 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
18359 disk_info_msg (conflicts with gettexting into languages with cases).
18360
2c7031b1
GS
183612010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
18362
18363 Add grub-probe support for NetBSD.
18364
18365 * util/getroot.c (find_root_device): Convert block device to
18366 character device on NetBSD.
18367 * util/probe.c (probe): Require character device on NetBSD.
18368 * util/hostdisk.c: NetBSD specific headers.
18369 (configure_device_driver): new function to tune device driver
18370 parameters (currently only for NetBSD floppy driver).
18371 (grub_util_biosdisk_open): NetBSD specific code (get disk size
18372 via disklabel ioctl).
18373 (open_device): call configure_device_driver on NetBSD.
18374 (convert_system_partition_to_system_disk): NetBSD specific code.
18375 (device_is_wholedisk): Likewise.
18376 (grub_util_biosdisk_get_grub_dev): Likewise.
18377 (make_device_name): Fixed a typo in bsd_part_str.
18378 * configure.ac: check for opendisk() and getrawpartition() on
18379 NetBSD and set LIBUTIL.
18380 * Makefile.in: add LIBUTIL to LIBS.
18381
f516290c
BC
183822010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18383
18384 Documentation fix.
18385
18386 * util/grub-script-check.c: Better help message.
18387
d8dcc0df
BC
183882010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18389
18390 Fix FreeBSD build.
18391
18392 * configure.ac: Flex version check.
18393 * conf/common.rmk: Add -Wno-error to sh.mod.
18394 * script/yylex.l: Remove all #pragma.
18395
6734334a
VS
183962010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18397
18398 * include/grub/util/misc.h (canonicalise_file_name): Add missing
18399 prototype.
18400 Reported by: Seth Goldberg.
18401
daea6abd
VS
184022010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
18405 Rename "module" to "module2".
18406 Reported by: Seth Goldberg.
18407
f2fd9d2b
VS
184082010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18409
18410 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
18411 EXPORT_FUNC.
18412 Reported by: Seth Goldberg.
18413
be124579
VS
184142010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18415
18416 * lib/posix_wrap/locale.h: Add missing file.
18417 Reported by: Seth Goldberg.
18418
ef5da797
VS
184192010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18420
18421 grub-emu module load support.
18422
18423 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
18424 NO_DYNAMIC_MODULES switched to this.
18425 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
18426 (CFLAGS): Likewise.
18427 * conf/any-emu.rmk: Generate symlist.
18428 (kernel_img_HEADERS): Add util/datetime.h.
18429 (kernel_img_HEADERS) [sdl]: Add sdl.h.
18430 (kernel_img_HEADERS) [libusb]: Add libusb.h.
18431 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
18432 kern/$(target_cpu)/cache.S.
18433 * configure.ac (grub-emu-modules): New option.
18434 * genmk.rb: Handle multiple source lists.
18435 * include/grub/sdl.h: New file.
18436 * include/grub/libusb.h: Likewise.
18437 * util/grub-emu.c (main): Hanle (host) root.
18438 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
18439 GRUB_ERR_UNKNOWN_DEVICE.
18440 * util/misc.c: Move mm functions to ...
18441 * util/mm.c: ... here. All users updated.
18442
47822096
VS
184432010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18444
18445 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
18446 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
18447 missing files.
18448 (maintainer-clean): Remove libgcrypt-grub.
18449
5d7e7445
VS
184502010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18451
18452 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
18453
25f4e252
EC
184542010-04-09 EFI Coder <eficoder@hotmail.com>
18455
18456 * normal/menu_text.c (print_message): Clean up the message and show
18457 the Fn information when on EFI
18458 * term/efi/console.c (grub_console_checkkey): Add F4 support.
18459
027de555
VS
184602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18461
18462 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
18463 All users updated.
18464 * normal/crypto.c (read_crypto_list): Likewise.
18465 * normal/dyncmd.c (read_command_list): Likewise.
18466 * normal/term.c (read_terminal_list): Likewise.
18467 * normal/main.c (read_lists): Use explicit prefix.
18468 (read_lists_hook): Use read_lists.
18469 (grub_normal_execute): Likewise.
18470
47779711
VS
184712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18472
18473 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
18474 Reported by: Thomas Schmitt.
18475 Add -no-emul-boot to grub-mkisofs parameters.
18476
1118c32e
VS
184772010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18478
18479 * font/font.c: Indented.
18480
7d652447
BC
184812010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18482
18483 Elif support to GRUB script (by Deepak Vankadaru).
18484
18485 * tests/grub_script_if.in: New testcase.
18486 * conf/tests.rmk: Rule for new testcase.
18487 * script/parser.y: Grammar rules for elif.
18488
34bb22df
BC
184892010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18490
18491 While and until loops support to GRUB script.
18492
18493 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18494 (grub_script_create_cmdwhile): New function prototype.
18495 (grub_script_execute_cmdwhile): New function prototype.
18496 * script/execute.c (grub_script_execute_cmdwhile): New function.
18497 * script/parser.y (command): New commands.
18498 (whilecmd): New grammar rule.
18499 (untilcmd): New grammar rule.
18500 * script/script.c (grub_script_create_cmdwhile): New function.
18501 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18502 function.
18503
18504 * tests/grub_script_while1.in: New testcase.
18505 * conf/tests.rmk: Rule for new testcase.
18506
e215d8e0
VS
185072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18508
18509 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18510 as *.jpg.
18511
d7c43ba1
MV
185122010-04-09 Mario Vazquez <mariovazq@gmail.com>
18513
18514 GRUB_BACKGROUND support.
18515
18516 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18517 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18518
d64795c0
VS
185192010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 18522 Idea by: Mario Vazquez
d64795c0
VS
18523
18524 * util/grub.d/00_header.in: Load pf2 and image modules.
18525
f267f83a
VS
185262010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18527
18528 grub-mkconfig multiple terminal support.
18529
18530 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18531 * util/grub.d/00_header.in: Likewise.
18532
b7841ceb
VS
185332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18534
18535 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18536 we use cd $(srcdir).
18537
df60998c
CW
185382010-04-08 Colin Watson <cjwatson@ubuntu.com>
18539
18540 * util/grub.d/10_linux.in: Only use the first word of
18541 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18542 spaces in GRUB_DISTRIBUTOR.
18543 * util/grub.d/10_kfreebsd.in: Likewise.
18544 * util/grub.d/10_hurd.in: Likewise.
18545
fa09c82e
BC
185462010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18547
14e18ae3 18548 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
18549
18550 * tests/util/grub-shell.in: Remove -serial stdio option.
18551
daf892b3
BC
185522010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18553
18554 POSIX header file wrappers.
18555
18556 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18557 equivalents.
18558 * lib/posix_wrap/ctype.h: Likewise.
18559 * lib/posix_wrap/errno.h: Likewise.
18560 * lib/posix_wrap/langinfo.h: Likewise.
18561 * lib/posix_wrap/limits.h: Likewise.
18562 * lib/posix_wrap/localcharset.h: Likewise.
18563 * lib/posix_wrap/stdint.h: Likewise.
18564 * lib/posix_wrap/stdio.h: Likewise.
18565 * lib/posix_wrap/stdlib.h: Likewise.
18566 * lib/posix_wrap/string.h: Likewise.
18567 * lib/posix_wrap/sys/types.h: Likewise.
18568 * lib/posix_wrap/unistd.h: Likewise.
18569 * lib/posix_wrap/wchar.h: Likewise.
18570 * lib/posix_wrap/wctype.h: Likewise.
18571 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18572 (grub_script.yy.h): Likewise.
18573 * script/yylex.l: Remove POSIX emulation #defines.
18574 * Makefile.in (POSIX_CFLAGS): New variable.
18575 (GNULIB_UTIL_CFLAGS): Likewise.
18576
18577 Regexp support.
18578
18579 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18580 (regexp_mod_SOURCES): New variable.
18581 (regexp_mod_CFLAGS): Likewise.
18582 (regexp_mod_LDFLAGS): Likewise.
18583 * commands/regexp.c: New file.
18584 * gnulib/regcomp.c: New file. Imported from gnulib.
18585 * gnulib/regex.c: Likewise.
18586 * gnulib/regex_internal.c: Likewise.
18587 * gnulib/regex_internal.h: Likewise.
18588 * gnulib/regexec.c: Likewise.
18589 * gnulib/regex.h: Likewise.
18590
974ac4f7
VS
185912010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18592
18593 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18594 unsupported video mode types.
18595
2622c3ff
VS
185962010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18597
18598 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18599
064cb524
VS
186002010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18601
18602 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18603 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18604
a8c3b552
VS
186052010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18606
18607 Remove unused grub_vga_get_font.
18608
18609 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18610 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18611
187bbe3d
GS
186122010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18613
18614 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18615 * include/grub/misc.h: Likewise.
18616
b9396631
GS
186172010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18618
18619 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18620 for which failure is fatal.
18621
50479feb
GS
186222010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18623
18624 * util/grub-install.in: Use mkdir -p to create grub directory.
18625 * util/i386/efi/grub-install.in: Likewise.
18626 * util/ieee1275/grub-install.in: Likewise.
18627
b1654fdf
GS
186282010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18629
18630 * Makefile.in (LEX): new variable.
18631
bd5a6415
GS
186322010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18633
18634 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18635 `=' and added double quotes on operands of this equality test.
18636
3db3a82b
VS
186372010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18638
18639 * Makefile.in (uninstall): Remove a leftover debug echo.
18640 Reported by: Grégoire Sutre
18641
38023412
VS
186422010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18643
18644 MIPS multiboot2 support.
18645
18646 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18647 (multiboot2_mod_SOURCES): New variable.
18648 (multiboot2_mod_CFLAGS): Likewise.
18649 (multiboot2_mod_LDFLAGS): Likewise.
18650 (multiboot2_mod_ASFLAGS): Likewise.
18651 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18652 definition.
18653 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18654 (MULTIBOOT_MBI_REGISTER): Likewise.
18655 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18656 (MULTIBOOT_ELF32_MACHINE): Likewise.
18657 (MULTIBOOT_ELF64_MACHINE): Likewise.
18658 * include/grub/mips/multiboot.h: New file.
18659 * include/grub/video.h (grub_video_driver_id): New type
18660 GRUB_VIDEO_DRIVER_SM712.
18661 (grub_video_get_info_and_fini): Export.
18662 (grub_video_get_palette): Likewise.
18663 (grub_video_get_driver_id): Likewise.
18664 * include/multiboot2.h: Resynced with spec.
18665 * loader/i386/multiboot.c: Moved from here ...
18666 * loader/multiboot.c: ... here. All users updated.
18667 (grub_multiboot_boot): Use platform-specific macros.
18668 * loader/i386/multiboot_elfxx.c: Moved from here ...
18669 * loader/multiboot_elfxx.c: ... here. All users updated.
18670 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
18671 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
18672 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
18673
47674667
VS
186742010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18675
18676 Import gnulib argp module.
18677
18678 * gnulib/argp-ba.c: New file.
18679 * gnulib/argp-eexst.c: Likewise.
18680 * gnulib/argp-fmtstream.c: Likewise.
18681 * gnulib/argp-fmtstream.h: Likewise.
18682 * gnulib/argp-fs-xinl.c: Likewise.
18683 * gnulib/argp-help.c: Likewise.
18684 * gnulib/argp-namefrob.h: Likewise.
18685 * gnulib/argp-parse.c: Likewise.
18686 * gnulib/argp-pin.c: Likewise.
18687 * gnulib/argp-pv.c: Likewise.
18688 * gnulib/argp-pvh.c: Likewise.
18689 * gnulib/argp-version-etc.c: Likewise.
18690 * gnulib/argp-version-etc.h: Likewise.
18691 * gnulib/argp-xinl.c: Likewise.
18692 * gnulib/argp.h: Likewise.
18693
495442ed
VS
186942010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18695
18696 * kern/device.c (grub_device_iterate): Clear errors after failed
18697 opening device.
18698
f9fd65df
VS
186992010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18700
18701 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
18702 returned by firmware.
18703
af09641e
VS
187042010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18705
18706 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
18707 compilation on coreboot and qemu
18708
016883a5
VS
187092010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18710
18711 * include/multiboot2.h: Resync with spec.
18712
f97e1f7d
VS
187132010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18714
18715 Multiboot2 tag support
18716
18717 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
18718 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
18719 Remove loader/multiboot_loader.c.
18720 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18721 (grub_multiboot2_real_boot): Likewise.
18722 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
18723 (grub_get_multiboot_mmap_count): New proto.
18724 (grub_fill_multiboot_mmap): Likewise.
18725 (grub_multiboot_set_video_mode): Likewise.
18726 (grub_multiboot_set_console): Likewise.
18727 (grub_multiboot_load): Likewise.
18728 (grub_multiboot_load_elf): Likewise.
18729 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
18730 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
18731 * include/multiboot.h: Resynced with specification.
18732 * include/multiboot2.h: Resynced with specification.
18733 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
18734 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
18735 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
18736 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
18737 users updated.
18738 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
18739 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18740 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18741 Removed.
18742 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18743 Moved from here...
18744 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18745 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18746 Moved from here...
18747 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18748 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18749 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18750 All users updated.
18751 * loader/i386/multiboot_mbi2.c: New file.
18752
3506b90b
VS
187532010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 Resync with gnulib.
18756
18757 * Makefile.in (GNULIB_CFLAGS): New variable.
18758 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18759 (grub_script_check_CFLAGS): New variable.
18760 * gnulib/alloca.h: Resync with gnulib.
18761 * gnulib/error.c: Likewise.
18762 * gnulib/error.h: Likewise.
18763 * gnulib/fnmatch.c: Likewise.
18764 * gnulib/fnmatch_loop.c: Likewise.
18765 * gnulib/getdelim.c: Likewise.
18766 * gnulib/getline.c: Likewise.
18767 * gnulib/getopt.c: Likewise.
18768 * gnulib/getopt1.c: Likewise.
18769 * gnulib/getopt_int.h: Likewise.
18770 * gnulib/gettext.h: Likewise.
18771 * gnulib/progname.c: Likewise.
18772 * gnulib/progname.h: Likewise.
18773
394a3120
GS
187742010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
18775
18776 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
18777 which is the case with --disabled-nls.
18778
18779 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
18780 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
18781 * util/misc.c: Likewise.
18782 * util/mkisofs/mkisofs.c: Likewise.
18783 * util/mkisofs/mkisofs.h: Likewise.
18784
969d1c78
VS
187852010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18786
18787 Simplify Apple CC support.
18788
18789 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
18790 Add 0 byte at the end not to have a symbol with empty target.
18791 * mmap/i386/pc/mmap_helper.S: Likewise.
18792 * genmk.rb: Ignore errors 2030 and 2050.
18793 * kern/i386/pc/startup.S: Use LOCAL when possible.
18794
8d2977bb
BC
187952010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
18796
18797 Testcase and the fix for final semicolon on cmdline.
18798
18799 * tests/grub_script_final_semicolon.in: New testcase.
18800 * conf/tests.rmk: Rules for the new testcase.
18801 * script/parser.y: Grammar fix.
18802
a7bd6915
BC
188032010-03-26 BVK Chaitanya <bvk@localhost>
18804
18805 Blank lines testcase for GRUB script.
18806
18807 * tests/grub_script_blanklines.in: New testcase.
18808 * conf/tests.rmk: Rules for the new testcase.
18809
e4ff6628
VS
188102010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18811
18812 Don't use __FILE__.
18813
18814 * genmk.rb: Add -DGRUB_FILE to all C targets.
18815 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
18816 * include/grub/list.h: Likewise.
18817 * include/grub/misc.h: Likewise.
18818 * include/grub/mm.h: Likewise.
18819 * include/grub/test.h: Likewise.
18820 * kern/mm.c: Likewise.
18821 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18822
6a5cf6b6
VS
188232010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18824
18825 Sunpc partitions support.
18826
18827 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
18828 (grub_fstest_SOURCES): Likewise.
18829 (pkglib_MODULES): Add part_sunpc.mod.
18830 (part_sunpc_mod_SOURCES): New variable.
18831 (part_sunpc_mod_CFLAGS): Likewise.
18832 (part_sunpc_mod_LDFLAGS): Likewise.
18833 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
18834 * partmap/sunpc.c: New file.
18835
746d9045
BC
188362010-03-26 BVK Chaitanya <bvk@localhost>
18837
18838 For loop support to GRUB script.
18839
18840 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
18841 (grub_script_create_cmdfor): New function prototype.
18842 (grub_script_execute_cmdfor): New function prototype.
18843 * script/execute.c (grub_script_execute_cmdfor): New function.
18844 * script/parser.y (command): New for command.
18845 (forcmd): New grammar rule.
18846 * script/script.c (grub_script_create_cmdfor): New function.
18847 * util/grub-script-check.c (grub_script_execute_cmdfor): New
18848 function.
18849 * tests/grub_script_for1.in: New testcase.
18850 * conf/tests.rmk: Rules for new testcase.
18851
18486b18
VS
188522010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18853
18854 Nested partitions
18855
18856 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
18857 'partition' is NULL, grub_partition_get_start already does that.
18858 * commands/loadenv.c (check_blocklists): Likewise.
18859 (write_blocklists): Likewise.
18860 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
18861 (grub_fstest_SOURCES): Likewise.
18862 (pkglib_MODULES): Add part_bsd.mod.
18863 (part_bsd_mod_SOURCES): New variable.
18864 (part_bsd_mod_CFLAGS): Likewise.
18865 (part_bsd_mod_LDFLAGS): Likewise.
18866 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
18867 (grub_emu_SOURCES): Likewise.
18868 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18869 * include/grub/bsdlabel.h: New file.
18870 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
18871 'get_name'.
18872 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
18873 (grub_partition_map_list): New variable.
18874 (grub_partition_map_register): Inline.
18875 (grub_partition_map_unregister): Likewise.
18876 (FOR_PARTITION_MAPS): New macro.
18877 (grub_partition_map_iterate): Removed.
18878 (grub_partition_get_start): Handle nested partitions.
18879 * include/grub/msdos_partition.h: Remove bsd-related entries.
18880 (grub_pc_partition): Remove.
18881 * kern/disk.c (grub_disk_close): Free partition data.
18882 (grub_disk_adjust_range): Handle nested partitions.
18883 * kern/partition.c (grub_partition_map_probe): New function.
18884 (grub_partition_probe): Parse name to number, handle subpartitions.
18885 (get_partmap): New function.
18886 (grub_partition_iterate): Handle subpartitions.
18887 (grub_partition_get_name): Likewise.
18888 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
18889 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
18890 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
18891 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
18892 Set 'number'.
18893 (acorn_partition_map_probe): Remove.
18894 (acorn_partition_map_get_name): Likewise.
18895 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
18896 Set 'number'.
18897 Set 'index' to 0 since there can be only one partition entry per sector.
18898 (amiga_partition_map_probe): Remove.
18899 (amiga_partition_map_get_name): Likewise.
18900 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
18901 Set 'number'.
18902 Set 'offset' and 'index' to real positions of partitions.
18903 (apple_partition_map_probe): Remove.
18904 (apple_partition_map_get_name): Likewise.
18905 * partmap/bsdlabel.c: New file.
18906 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
18907 Set 'number'.
18908 Allocate 'data' so it can be correctly freed.
18909 Set 'index' to offset inside sector.
18910 (gpt_partition_map_probe): Remove.
18911 (gpt_partition_map_get_name): Likewise.
18912 * partmap/msdos.c (grub_partition_parse): Remove.
18913 (pc_partition_map_iterate): Don't force raw access.
18914 Set 'number'.
18915 Make 'ext_offset' a local variable.
18916 (pc_partition_map_probe): Remove.
18917 (pc_partition_map_get_name): Remove.
18918 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
18919 Set 'number'.
18920 (sun_partition_map_probe): Remove.
18921 (sun_partition_map_get_name): Likewise.
18922 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
18923 (grub_pcpart_type): Likewise.
18924 * util/hostdisk.c (open_device): Handle new numbering scheme.
18925 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
18926 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
18927 * util/grub-probe.c (probe_partmap): Handle nested paritions.
18928 * util/grub-install.in: Insert all subpartition modules.
18929 * util/ieee1275/grub-install.in: Likewise.
18930
a3940f88
AG
189312010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
18932
18933 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
18934 grammar.
18935
21b99926 189362010-03-24 Colin Watson <cjwatson@ubuntu.com>
18937
18938 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
18939
bed1d352
CW
189402010-03-21 Colin Watson <cjwatson@ubuntu.com>
18941
18942 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
18943 match where 'make install' puts them.
18944 * util/i386/efi/grub-install.in: Likewise.
18945
c9f58427
CW
189462010-03-19 Colin Watson <cjwatson@ubuntu.com>
18947
18948 * .bzrignore: Add gentrigtables, grub-script-check,
18949 grub_script_check_init.c, grub_script_check_init.h, and
18950 trigtables.c.
18951
f84afb27
VS
189522010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
18953
18954 * kern/parser.c: Indented.
18955
ed0e3d30
VS
189562010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
18959
0ea81d98
VS
189602010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18961
18962 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
18963 alpha_mask_size == 0 case.
18964
0cdc2a09
BC
189652010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
18966
18967 GRUB shell lexer and parser improvements.
18968
18969 * conf/any-emu.rmk: Build rule updates.
18970 * conf/common.rmk: Likewise.
18971 * conf/i386-coreboot.rmk: Likewise.
18972 * conf/i386-efi.rmk: Likewise.
18973 * conf/i386-ieee1275.rmk: Likewise.
18974 * conf/i386-pc.rmk: Likewise.
18975 * conf/powerpc-ieee1275.rmk: Likewise.
18976 * conf/x86_64-efi.rmk: Likewise.
18977
18978 * configure.ac: Configure check for flex.
18979
18980 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
18981 types.
18982 (grub_lexer_param): Struct member updates.
18983 (grub_parser_param): Likewise.
18984 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
18985 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
18986 (grub_script_lexer_init): Prototype update.
18987 (grub_script_lexer_record_start): Likewise.
18988 (grub_script_lexer_record_stop): Likewise.
18989 (grub_script_lexer_yywrap): New function prototype.
18990 (grub_script_lexer_fini): Likewise.
18991 (grub_script_execute_argument_to_string): Removed by...
18992 (grub_script_execute_argument_to_argv): ...better version.
18993
18994 * script/execute.c (ROUND_UPTO): New macro.
18995 (grub_script_execute_cmdline): Out of memory fixes.
18996 (grub_script_execute_menuentry): Likewise.
18997 (grub_script_execute_argument_to_string): Removed. Update all
18998 users by...
18999 (grub_script_execute_argument_to_argv): ...better version.
19000 * script/function.c (grub_script_function_create): Use
19001 grub_script_execute_argument_to_argv instead of
19002 grub_script_execute_argument_to_string.
19003
19004 * script/lexer.c (check_varstate): Removed.
19005 (check_textstate): Removed.
19006 (grub_script_lexer_record_start): Likewise.
19007 (grub_script_lexer_record_stop): Likewise.
19008 (recordchar): Replaced with...
19009 (grub_script_lexer_record): ...new function.
19010 (nextchar): Removed.
19011 (grub_script_lexer_init): Rewritten.
19012 (grub_script_yylex): Rewritten.
19013 (append_newline): New function.
19014 (grub_script_lexer_yywrap): New function.
19015 (grub_script_lexer_fini): New function.
19016 (grub_script_yyerror): Sets error flag.
19017
19018 * script/yylex.l: New file.
19019 (grub_lexer_yyfree): Wrapper for flex yyffre.
19020 (grub_lexer_yyalloc): Likewise.
19021 (grub_lexer_yyrealloc): Likewise.
19022 * script/parser.y: Refactored.
19023
19024 * script/script.c (grub_script_arg_add): Out of memory fixes.
19025 (grub_script_add_arglist): Likewise.
19026 (grub_script_create_cmdline): Likewise.
19027 (grub_script_create_cmdmenu): Likewise.
19028 (grub_script_add_cmd): Likewise.
19029 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
19030 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
19031 unnecessary code.
19032
19033 * tests/grub_script_echo1.in: New testcase.
19034 * tests/grub_script_vars1.in: New testcase.
19035 * tests/grub_script_echo_keywords.in: New testcase.
19036
1d63a066
VS
190372010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19038
19039 Remove some redundancy in build system.
19040
19041 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
19042 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
19043 (TARGET_LDFLAGS): Add -nostdlib.
19044 (TARGET_IMG_LDFLAGS): Likewise.
19045 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
19046 anything since mmap isn't available.
19047 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
19048 Add util/time.c.
19049 (pkglib_MODULES): Remove reboot.mod.
19050 (reboot_mod_SOURCES): Removed.
19051 (reboot_mod_CFLAGS): Likewise.
19052 (reboot_mod_LDFLAGS): Likewise.
19053 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
19054 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
19055 (DEFSYMFILES): Add kernel_syms.lst.
19056 (kernel_img_HEADERS): Add common headers.
19057 (symlist.c): New target.
19058 (kernel_syms.lst): Likewise.
19059 (pkglib_MODULES): Add memdisk.mod.
19060 (memdisk_mod_SOURCES): New variable.
19061 (memdisk_mod_CFLAGS): Likewise.
19062 (memdisk_mod_LDFLAGS): Likewise.
19063 (pkglib_MODULES): Add reboot.mod.
19064 (reboot_mod_SOURCES): New variable.
19065 (reboot_mod_CFLAGS): Likewise.
19066 (reboot_mod_LDFLAGS): Likewise.
19067 (pkglib_MODULES): Add date.mod.
19068 (date_mod_SOURCES): New variable.
19069 (date_mod_CFLAGS): Likewise.
19070 (date_mod_LDFLAGS): Likewise.
19071 (pkglib_MODULES): Add datehook.mod.
19072 (datehook_mod_SOURCES): New variable.
19073 (datehook_mod_CFLAGS): Likewise.
19074 (datehook_mod_LDFLAGS): Likewise.
19075 (pkglib_MODULES): Add lsmmap.mod.
19076 (lsmmap_mod_SOURCES): New variable.
19077 (lsmmap_mod_CFLAGS): Likewise.
19078 (lsmmap_mod_LDFLAGS): Likewise.
19079 (pkglib_MODULES): Add boot.mod.
19080 (boot_mod_SOURCES): New variable.
19081 (boot_mod_CFLAGS): Likewise.
19082 (boot_mod_LDFLAGS): Likewise.
19083 * conf/i386-coreboot.rmk: Removed redundant parts.
19084 * conf/i386-ieee1275.rmk: Likewise.
19085 * conf/i386-pc.rmk: Likewise.
19086 * conf/mips-yeeloong.rmk: Likewise.
19087 * conf/mips.rmk: Likewise.
19088 * conf/powerpc-ieee1275.rmk: Likewise.
19089 * conf/sparc64-ieee1275.rmk: Likewise.
19090 * conf/x86_64-efi.rmk: Likewise.
19091 * conf/i386-coreboot.rmk: Moved qemu parts ..
19092 * conf/i386-qemu.rmk: ... here
19093 * conf/i386-efi.rmk: Moved common parts to...
19094 * conf/x86-efi.rmk: ... here.
19095 * conf/i386.rmk: Added modules common to all x86 variants.
19096 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
19097 * disk/memdisk.c: Remove grub/machine/kernel.h.
19098 * gensymlist.sh.in: Include symbol.h.
19099 * hook/datehook.c: Correct module name.
19100 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
19101 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
19102 * include/grub/i386/efi/serial.h: New file.
19103 * include/grub/x86_64/efi/serial.h: Likewise.
19104 * util/time.c: Likewise.
19105 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
19106
463ac55f
CK
191072010-03-14 Colin King <colin.king@ubuntu.com>
191082010-03-14 Colin Watson <cjwatson@ubuntu.com>
19109
19110 Shrink the pre-partition-table part of boot.img by eight bytes.
19111
19112 * boot/i386/pc/boot.S (ERR): New macro.
19113 (chs_mode): Use ERR.
19114 (geometry_error): Likewise.
19115 (hd_probe_error): Remove. This is only used once, so we wrwite
19116 it inline instead.
19117 (read_error): Instead of printing read_error_string, just set up
19118 %si and fall through to ...
19119 (error_message): ... this new function, also used by ERR.
19120
08e46ede
CW
191212010-03-14 Colin Watson <cjwatson@ubuntu.com>
19122
19123 Speed up consecutive hostdisk operations on the same device.
19124
19125 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
19126 (grub_util_biosdisk_open): Initialise disk->data.
19127 (struct linux_partition_cache): New structure.
19128 (linux_find_partition): Cache partition start positions; these are
19129 expensive to compute on every read and write.
19130 (open_device): Cache open file descriptor in disk->data, so that we
19131 don't have to reopen it and flush the buffer cache for consecutive
19132 operations on the same device.
19133 (grub_util_biosdisk_close): New function.
19134 (grub_util_biosdisk_dev): Set `close' member.
19135
19136 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
19137 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
19138 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19139 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19140 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
19141
4a6d2d06
VS
191422010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19143
19144 Compile parts of grub-emu as modules.
19145
19146 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
19147 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
19148 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
19149 (all-local): Add $(GRUB_EMU).
19150 (install-local): Install $(GRUB_EMU).
19151 (uninstall): Uninstall $(GRUB_EMU).
19152 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
19153 * kern/dl.c: Likewise.
19154 * commands/sleep.c: Not include machine/time.h.
19155 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
19156 (COMMON_CFLAGS): Likewise.
19157 (sbin_UTILITIES): Remove grub-emu.
19158 (grub_emu_SOURCES): Removed.
19159 (kernel_img_RELOCATABLE): New variable.
19160 (pkglib_PROGRAMS): Add kernel.img.
19161 (kernel_img_SOURCES): New variable
19162 (kernel_img_CFLAGS): Likewise.
19163 (kernel_img_LDFLAGS): Likewise.
19164 (TARGET_NO_STRIP): Likewise.
19165 (TARGET_NO_DYNAMIC_MODULES): Likewise.
19166 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
19167 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
19168 (grub-emu): New target.
19169 (GRUB_EMU): New variable.
19170 * configure.ac: Whitelist -emu as possible x86_64 architecture.
19171 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
19172 * loader/xnu.c: Likewise.
19173 * include/grub/pci.h: Likewise.
19174 * genemuinit.sh: New file.
19175 * genemuinitheader.sh: Likewise.
19176 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
19177 Support TARGET_NO_DYNAMIC_MODULES.
19178 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
19179 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
19180 * disk/loopback.c: Likewise.
19181 * font/font_cmd.c: Likewise.
19182 * partmap/acorn.c: Likewise.
19183 * partmap/amiga.c: Likewise.
19184 * partmap/apple.c: Likewise.
19185 * partmap/gpt.c: Likewise.
19186 * partmap/msdos.c: Likewise.
19187 * partmap/sun.c: Likewise.
19188 * parttool/msdospart.c: Likewise.
19189 * term/gfxterm.c: Likewise.
19190 * video/bitmap.c: Likewise.
19191 * video/readers/jpeg.c: Likewise.
19192 * video/readers/png.c: Likewise.
19193 * video/readers/tga.c: Likewise.
19194 * video/video.c: Likewise.
19195 * util/grub-emu.c (read_command_list): Removed.
19196 (main): Don't call util_init_nls.
19197 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
19198 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
19199
91fdd2ed
VS
192002010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19201
19202 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
19203 date.mod, datehook.mod.
19204 (datetime_mod_SOURCES): New variable.
19205 (datetime_mod_CFLAGS): Likewise.
19206 (datetime_mod_LDFLAGS): Likewise.
19207 (date_mod_SOURCES): Likewise.
19208 (date_mod_CFLAGS): Likewise.
19209 (date_mod_LDFLAGS): Likewise.
19210 (datehook_mod_SOURCES): Likewise.
19211 (datehook_mod_CFLAGS): Likewise.
19212 (datehook_mod_LDFLAGS): Likewise.
19213 * conf/sparc64-ieee1275.rmk: Likewise.
19214 * lib/ieee1275/datetime.c: New file.
19215
873ccae6
VS
192162010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19217
19218 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
19219 (ieee1275_fb_mod_SOURCES): New variable.
19220 (ieee1275_fb_mod_CFLAGS): Likewise.
19221 (ieee1275_fb_mod_LDFLAGS): Likewise.
19222 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
19223 New proto.
19224 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
19225 (HEAP_MAX_ADDR): Likewise.
19226 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
19227 type.
19228 Correct stop condition.
19229 (grub_ieee1275_devices_iterate): New function.
19230 * video/ieee1275.c: New file.
19231
601c97c0
VS
192322010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19233
19234 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
19235
19236 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
19237 as scratch.
19238 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
19239 SCRATCH_PAD_DISKBOOT as scratch.
19240 (bootit): Pass Openfirmware pointer in %o4.
19241 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
19242 of 0x200000.
19243 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
19244 with util/grub-mkrawimage.c.
19245 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
19246 * include/grub/aout.h (AOUT_MID_SUN): New definition.
19247 (grub_aout_get_type) [GRUB_UTIL]: Removed.
19248 (grub_aout_load) [GRUB_UTIL]: Likewise.
19249 * include/grub/kernel.h (grub_modules_get_end): New proto.
19250 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
19251 (SCRATCH_PAD_BOOT): New definition.
19252 (SCRATCH_PAD_DISKBOOT): Likewise.
19253 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
19254 * include/grub/sparc64/ieee1275/ieee1275.h
19255 (grub_ieee1275_original_stack): New variable
19256 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19257 New definition
19258 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
19259 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
19260 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
19261 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
19262 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
19263 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
19264 (grub_platform_image_format_t): New type.
19265 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
19266 * kern/main.c (grub_modules_get_end)
19267 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
19268 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
19269 (codestart): Switch stacks.
19270 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
19271 variable.
19272 (grub_heap_init): Use grub_modules_get_end.
19273 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
19274 stack.
19275 * util/grub-mkrawimage.c (generate_image): Support sparc64.
19276 (main): Likewise.
19277 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
19278
d68b491e
TG
192792010-03-14 Thorsten Glaser <tg@mirbsd.org>
19280
19281 * util/grub-mkrescue.in: Base ISO UUID on UTC.
19282
4e02ed50
MK
192832010-03-08 Matt Kraai <kraai@ftbfs.org>
19284
19285 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
19286 bug #559005).
19287
1f15fc1e
VS
192882010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
19289
19290 * genmoddep.awk: Output all missing symbols and not only first.
19291
fce5d8ff
VS
192922010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19293
19294 * NEWS: Put the date of 1.98 release.
19295
d1e8a02f
VS
192962010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19297
19298 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
19299 ft2build.h.
19300
696fd607
VS
193012010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19302
19303 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
19304 completition in the middle of string.
19305
33e2e6f3
VS
193062010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19307
19308 * util/grub-mkrescue.in: Use mktemp with explicit template.
19309
b1f6d291
VS
193102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19311
19312 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
19313
2ac227c7
VS
193142010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19315
19316 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
19317 right pointer.
19318
8f9a632b
VS
193192010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19320
19321 Fix FreeBSD compilation.
19322
19323 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
19324 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
19325
60b03859
VS
193262010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19327
19328 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
19329
48a5a769
VS
193302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19331
19332 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
19333
3ab4bd77
VS
193342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19335
19336 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
19337
d116e0d8
RM
193382010-03-04 Robert Millan <rmh.grub@aybabtu.com>
19339
19340 Support relative image path in theme file.
19341
19342 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
19343 (image_set_property): Handle theme_dir and relative path.
19344
c7ef54aa
VS
193452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19346
19347 * configure.ac: Alias amd64 to x86_64.
19348
fcee14ed
VS
193492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19350
19351 * NEWS: mention multiboot on EFI.
19352
d0780363
VS
193532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19354
19355 * kern/main.c (grub_load_modules): Handle errors from init functions of
19356 embeded modules.
19357
41168ea4
VS
193582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19359
19360 * normal/autofs.c (autoload_fs_module): Handle errors.
19361
b54d93ac
VS
193622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19363
19364 Disable linux.mod on qemu-mips since it's not functional and leads
19365 to compilation failure.
19366
19367 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
19368 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
19369 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
19370 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
19371 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
19372 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
19373 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
19374 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
19375 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
19376 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
19377 Reported by: BVK Chaitanya
19378
fc8345da
JU
193792010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
19380
19381 * INSTALL: Add gettext as a dependency and add qemu to a new section
19382 "Prerequisites for make-check".
19383
4760f979
CF
193842010-03-04 Christian Franke <franke@computer.org>
19385
19386 * util/grub-pe2elf.c: Add missing include "progname.h".
19387
f209b5b2
VS
193882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19389
19390 * normal/crypto.c (read_crypto_list): Fix a typo.
19391 Reported by: Seth Goldberg.
19392
b4b7be98
VS
193932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19394
19395 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 19396 Reported by: Seth Goldberg.
b4b7be98 19397
c0ee0385
VS
193982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19399
19400 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
19401 ascii.bitmaps.
19402
a8efbf64
VS
194032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19404
19405 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 19406 Reported by: Seth Goldberg.
a8efbf64 19407
08dcd913
VS
194082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19409
19410 * util/i386/efi/grub-install.in: Copy gettext files.
19411
c4d0b332
VS
194122010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19413
19414 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
19415
c6f2fe52
VS
194162010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19417
19418 Wait for user entry basing on presence of output rather than on errors.
19419
19420 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
19421 (grub_install_newline_hook): Likewise.
19422 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
19423 * normal/menu.c (show_menu): Check line_counter to determine presence
19424 of output.
19425 * normal/term.c (grub_normal_line_counter): New variable.
19426 (grub_normal_get_line_counter): New function.
19427 (grub_install_newline_hook): Likewise.
19428
5382b1e4
VS
194292010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19430
19431 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
19432
5519963b
VS
194332010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19434
19435 * configure.ac: Update version to 1.98.
19436
72b28631
VS
194372010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19438
19439 * util/grub.d/10_linux.in (linux_entry): Don't default to
19440 gfxpayload=keep if Linux doesn't support video handover.
19441
c140a180
VS
194422010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
19443
19444 Don't compile video modules on yeeloong since video subsystem is part
19445 of kernel.
19446
19447 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
19448 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
19449 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
19450 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19451 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
19452 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
19453 * include/grub/bitmap_scale.h: Likewise.
19454 * include/grub/bufio.h: Likewise.
19455 * include/grub/font.h: Likewise.
19456 * include/grub/gfxterm.h: Likewise.
19457 * include/grub/video.h: Likewise.
19458 * include/grub/vbe.h: Don't include video_fb.h.
19459 * video/i386/pc/vbe.c: Include video_fb.h.
19460 * commands/i386/pc/vbetest.c: Include video.h.
19461
a0ca21c2
CW
194622010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
19463
19464 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
19465 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
19466 default entry if GRUB_SAVEDEFAULT=true. This allows using
19467 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
19468 saving a new default on every boot.
19469
4a8a763c
VS
194702010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19471
19472 * normal/crypto.c (read_crypto_list): Fix a memory leak.
19473 * normal/term.c (read_terminal_list): Likewise.
19474 * normal/main.c (grub_normal_init_page): Likewise.
19475 (grub_normal_read_line_real): Likewise.
19476
607ffde2
VS
194772010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19478
19479 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
19480 memory leak.
19481 Reported by: Seth Goldberg.
19482
2b8fa975
CW
194832010-02-24 Joey Korkames <joey+lists@kidfixit.com>
19484
19485 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19486 duplicate declaration of `start'.
19487
618307dd
VS
194882010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19489
19490 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19491 filename.
19492 Reported by: Georgy Buranov
19493
7dd05b96 194942010-02-20 Carles Pina i Estany <carles@pina.cat>
19495
19496 * util/grub-mkrawimage.c (usage): Change string formatting to
19497 improve gettext.
19498
d1484a42
MRA
194992010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19500
19501 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19502 backspace keys.
19503
42b1d186
VS
195042010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19505
19506 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19507 Reported by: Michael Suchanek.
19508
195092010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
19510
19511 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19512 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19513
d9f31a41
VS
195142010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19515
19516 Remove any reference to non-free fonts.
19517
19518 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19519 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19520 uses non-free components.
19521 * font/font.c (grub_font_get_name): Remove example name.
19522 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19523 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19524 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19525 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19526
2793c71e
GB
195272010-02-16 Georgy Buranov <gburanov@gmail.com>
19528
19529 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19530
402e3779
VS
195312010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19532
19533 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19534 Double divisor.
19535 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19536 features.
19537 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19538
0dd1e0dd
VS
195392010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19540
19541 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19542
6fa7cfce
ST
195432010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19544
19545 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19546 * docs/grub.texi (Command-line and menu entry commands): Document play
19547 command.
19548
37c8483b
ST
195492010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19550
19551 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19552 parse arguments as inline tempo and notes. Move code for playing notes
19553 to...
19554 (play): ... new function.
19555
14da0fb7
ST
195562010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19557
19558 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19559 grub_uint16_t instead of short.
19560 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19561 disk from little endian to cpu endianness.
19562
04459e70
ST
195632010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19564
19565 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19566 GRUB_TICKS_PER_SECOND instead of 120.
19567
a0876943
VS
195682010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19569
19570 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19571 escape sequence after \e.
19572
e29f95dc
VS
195732010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19576 non-ASCII characters.
19577
d27859b2
VS
195782010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19579
19580 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19581 set root in single quotes to prevent \, from being unescaped.
19582
bc028f2f
VS
195832010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19584
19585 Prevent unknown commands from stopping menuentry execution.
19586
19587 * script/execute.c (grub_script_execute_cmdline): Print error after
19588 unknown command.
19589
095f5f82
VS
195902010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19591
19592 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19593 Reported by: Pavel Pisa.
19594
8c717950
VS
195952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19596
19597 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19598
904935c3
VS
195992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19600
19601 Merge grub_ieee1275_map_physical into grub_map and rename to
19602 grub_ieee1275_map
19603
19604 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19605 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19606 Remove.
19607 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19608 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19609 necessary.
19610 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19611
5b59a4e3
VS
196122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19613
19614 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19615 opening and not after.
19616
69e137e8
VS
196172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19618
19619 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19620 constants.
19621
2c0fcc36
VS
196222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19623
19624 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19625 (alloc_phys): Use ALIGN_UP instead of align_addr.
19626
8c6052ce
VS
196272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19628
19629 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19630
17cec782
VS
196312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19632
19633 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19634
e0128bbd
VS
196352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19636
19637 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19638 verbose dprintf.
19639
ca62070b
VS
196402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19641
19642 Fix over-4GiB seek on sparc64.
19643
19644 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19645 Replace pos_i and pos_lo with pos. All users updated.
19646 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19647 New constant.
19648 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19649 Likewise.
19650 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19651 and pos_lo.
19652
bdca2607
VS
196532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19654
19655 * util/grub-mkrawimage.c (main): Call set_program_name.
19656
da278c4d
VS
196572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19658
19659 Properly align 64-bit targets.
19660
19661 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
19662 (generate_image): Use ALIGN_ADDR.
19663
b274d734
VS
196642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19665
19666 Properly create cross-endian images.
19667
19668 * include/grub/types.h (grub_host_to_target_addr): New macro
19669 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
19670
82da2062
VS
196712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19672
19673 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
19674
7cae4377
VS
196752010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19676
19677 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
19678
19679 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
19680 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
19681 (grub_linux_boot): Divide by 64K when on VESA.
19682
65a533e7
VS
196832010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19684
19685 Support GRUB_GFXPAYLOAD_LINUX.
19686
19687 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
19688 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
19689
dd01d397
VS
196902010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19691
19692 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
19693 to show messages instead of discarding them.
19694 Process errors after executing command and not before. Keep old method
19695 too as precaution.
19696
660960d6
VS
196972010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
19698
19699 * configure.ac: Check for ft2build.h.
19700
62509f04
VS
197012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19702
19703 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
19704
473df63d
VS
197052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19706
19707 * genkernsyms.sh.in: Use TARGET_CC.
19708
c98d2a13
CW
197092010-02-07 Colin Watson <cjwatson@ubuntu.com>
19710
19711 * NEWS: Update.
19712
6e14234c
VS
197132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19714
19715 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
19716 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
19717 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 19718
b255e9cf
YB
197192010-02-07 Yves Blusseau <blusseau@zetam.org>
19720
6e14234c 19721 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 19722
98e6959d
VS
197232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19724
19725 Fix warnings in grub-emu when compiling with maximum warning options.
19726
19727 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
19728 (grub_arch_modules_addr): Return 0 and not NULL.
19729 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 19730 (xstrdup): Use newstr instead of dup.
f88d801b
VS
19731 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
19732 of disk to dsk to avoid shadowing.
74e4934e
VS
19733 (find_free_slot): Fix prototype.
19734 * util/getroot.c (grub_util_is_dmraid): Make static.
19735 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
19736 Add missing prototype.
19737 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 19738
74e31b5c
VS
197392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19740
19741 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19742 appropriately.
19743
6b2ad14b
VS
197442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19745
19746 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19747 code out.
19748
8f891adc
VS
197492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19750
19751 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19752 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19753 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19754 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19755 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19756 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19757
74b45184
VS
197582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19759
19760 * include/grub/err.h (grub_err_printf): Don't export.
19761
a4bced77
VS
197622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19763
19764 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19765
007d0695
VS
197662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19767
19768 * include/grub/i18n.h (grub_gettext_dummy): Removed.
19769 * kern/misc.c (grub_gettext_dummy): Make static.
19770
b6c0d9c2
VS
197712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19772
19773 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
19774 by non-valid ones.
19775 * kern/term.c (grub_putchar): Likewise.
19776
f51a90d0
VS
197772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19778
19779 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
19780 buggy hook call and memory leak.
19781
6846cec5
VS
197822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19783
19784 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
19785
468d69fe
VS
197862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19787
19788 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19789
51906b8c
VS
197902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19791
19792 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
19793 modevar.
19794 Return grub_errno on allocation error.
19795
09706ce5
VS
197962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19797
19798 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
19799
911df80c
YB
198002010-02-06 Yves Blusseau <blusseau@zetam.org>
19801
19802 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
19803 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
19804
3746a6bc
VS
198052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19806
19807 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
19808 non-pxe disk.
19809 (grub_pxefs_open): Likewise.
19810
09706ce5
VS
198112010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19812
19813 * util/grub.d/10_hurd.in: Add --class information to menuentries.
19814 * util/grub.d/10_kfreebsd.in: Likewise.
19815 * util/grub.d/10_linux.in: Likewise.
19816
7cc192d9
VS
198172010-02-06 Colin D Bennett <colin@gibibit.com>
19818
19819 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
19820 (gfxmenu_mod_SOURCES): New variable.
19821 (gfxmenu_mod_CFLAGS): Likewise.
19822 (gfxmenu_mod_LDFLAGS): Likewise.
19823 * include/grub/term.h (grub_term_set_current_output): Declare
19824 argument as const.
19825 * docs/gfxmenu-theme-example.txt: New file.
19826 * gfxmenu/gfxmenu.c: Likewise.
19827 * gfxmenu/gui_box.c: Likewise.
19828 * gfxmenu/gui_canvas.c: Likewise.
19829 * gfxmenu/gui_circular_progress.c: Likewise.
19830 * gfxmenu/gui_image.c: Likewise.
19831 * gfxmenu/gui_label.c: Likewise.
19832 * gfxmenu/gui_list.c: Likewise.
19833 * gfxmenu/gui_progress_bar.c: Likewise.
19834 * gfxmenu/gui_string_util.c: Likewise.
19835 * gfxmenu/gui_util.c: Likewise.
19836 * gfxmenu/icon_manager.c: Likewise.
19837 * gfxmenu/model.c: Likewise.
19838 * gfxmenu/named_colors.c: Likewise.
19839 * gfxmenu/theme_loader.c: Likewise.
19840 * gfxmenu/view.c: Likewise.
19841 * gfxmenu/widget-box.c: Likewise.
19842 * include/grub/gfxmenu_model.h: Likewise.
19843 * include/grub/gfxmenu_view.h: Likewise.
19844 * include/grub/gfxwidgets.h: Likewise.
19845 * include/grub/gui.h: Likewise.
19846 * include/grub/gui_string_util.h: Likewise.
19847 * include/grub/icon_manager.h: Likewise.
19848
198492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19850
19851 Agglomerate scrolling in gfxterm.
19852
19853 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
19854 (grub_virtual_screen_setup): Initialise 'total_screen'.
19855 (write_char): Split to ...
19856 (paint_char): ... this ...
19857 (write_char): ... and this.
19858 (paint_char): Handle delayed scrolling.
19859 (draw_cursor): Likewise.
19860 (scroll_up): Split to ...
19861 (real_scroll): ... this ...
19862 (scroll_up): ... and this.
19863 (real_scroll): Handle multi-line scroll and draw below-the-bottom
19864 characters.
19865 (grub_gfxterm_refresh): Call real_scroll.
19866
198672010-02-06 Colin D Bennett <colin@gibibit.com>
19868
19869 * include/grub/misc.h (grub_iscntrl): New inline function.
19870 (grub_isalnum): Likewise.
19871 (grub_strtol): Likewise.
19872
198732010-02-06 Colin D Bennett <colin@gibibit.com>
19874
19875 * normal/menu_text.c (get_entry_number): Move from here ...
19876 * normal/menu.c (get_entry_number): ... moved here.
19877 * include/grub/menu.h (grub_menu_get_default_entry_index):
19878 New prototype.
19879 * normal/menu.c (grub_menu_get_default_entry_index): New function.
19880 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
19881 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
19882 (grub_menu_viewer_should_return): Likewise.
19883 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
19884 * normal/menu_text.c (run_menu): Enable menu switching.
19885 * normal/menu_viewer.c (should_return): New variable.
19886 (menu_viewer_changed): Likewise.
19887 (grub_menu_viewer_show_menu): Handle menu viewer changes.
19888 (grub_menu_viewer_should_return): New function.
19889 (menuviewer_write_hook): Likewise.
19890 (grub_menu_viewer_init): Likewise.
19891
198922010-02-06 Colin D Bennet <colin@gibibit.com>
198932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19894
19895 Support for gfxterm in a window.
19896
19897 * include/grub/gfxterm.h: New file.
19898 * include/grub/video.h (struct grub_video_rect): New declaration.
19899 (grub_video_rect_t): Likewise.
19900 * term/gfxterm.c (struct grub_gfxterm_window): New type.
19901 (refcount): New variable.
19902 (render_target): Likewise.
19903 (window): Likewise.
19904 (repaint_callback): Likewise.
19905 (grub_virtual_screen_setup): Use 'render_target'.
19906 (init_window): New function.
19907 (grub_gfxterm_init_window): Likewise.
19908 (grub_gfxterm_init): Check reference counter.
19909 Use init_window.
19910 (destroy_window): New function.
19911 (grub_gfxterm_destroy_window): Likewise.
19912 (grub_gfxterm_fini): Check reference counter.
19913 Use destroy_window.
19914 (redraw_screen_rect): Restore viewport.
19915 Use 'render_target' and 'window'.
19916 Call 'repaint_callback'.
19917 (write_char): Use 'render_target'.
19918 (draw_cursor): Likewise.
19919 (scroll_up): Restore viewport.
19920 Use 'render_target' and 'window'.
19921 Call 'repaint_callback'.
19922 (grub_gfxterm_cls): Likewise.
19923 (grub_gfxterm_refresh): Use 'window'.
19924 (grub_gfxterm_set_repaint_callback): New function.
19925 (grub_gfxterm_background_image_cmd): Use 'window'.
19926 (grub_gfxterm_get_term): New function.
19927 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
19928
199292010-02-06 Colin D Bennett <colin@gibibit.com>
19930
19931 Bitmap scaling support.
19932
19933 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
19934 (bitmap_scale_mod_SOURCES): New variable.
19935 (bitmap_scale_mod_CFLAGS): Likewise.
19936 (bitmap_scale_mod_LDFLAGS): Likewise.
19937 * include/grub/bitmap_scale.h: New file.
19938 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
19939 (background_image_cmd_options): New variable.
19940 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
19941 (cmd): Rename and change type to ...
19942 (background_image_cmd_handle): ... this. All users updated.
19943 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
19944 * video/bitmap_scale.c: New file.
19945
199462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19947
19948 SDL support.
19949
19950 * Makefile.in (LIBSDL): New variable.
19951 (enable_grub_emu_sdl): Likewise.
19952 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
19953 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
19954 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
19955 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
19956 * util/sdl.c: New file.
19957
199582010-02-06 Colin D Bennett <colin@gibibit.com>
199592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19960
19961 Double buffering support.
19962
19963 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
19964 * include/grub/video.h: Update comment.
19965 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
19966 New type.
19967 (grub_video_fb_doublebuf_blit_init): New prototype.
19968 * term/gfxterm.c (scroll_up): Support double buffering.
19969 (grub_gfxterm_refresh): Likewise.
19970 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
19971 (grub_video_fb_doublebuf_blit_init): Likewise.
19972 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
19973 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
19974 'displayed_page', 'render_page' and 'update_screen'.
19975 (grub_video_vbe_fini): Free offscreen buffer.
19976 (doublebuf_pageflipping_commit): New function.
19977 (doublebuf_pageflipping_update_screen): Likewise.
19978 (doublebuf_pageflipping_init): Likewise.
19979 (double_buffering_init): Likewise.
19980 (grub_video_vbe_setup): Enable doublebuffering.
19981 (grub_video_vbe_swap_buffers): Implement.
19982 (grub_video_vbe_set_active_render_target): Handle double buffering.
19983 (grub_video_vbe_get_active_render_target): Likewise.
19984 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
19985 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
19986 (grub_video_vbe_enable_double_buffering): Likewise.
19987 (grub_video_vbe_swap_buffers): Use update_screen.
19988 (grub_video_set_mode): Use double buffering.
19989
199902010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19991
19992 * maintainance/gentrigtables.py: Remove.
19993 * lib/trig.c: Likewise.
19994
19995 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
19996
19997 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
19998 `trigtables.c'.
19999 (trigtables.c): New rule.
20000 (gentrigtables): Likewise.
20001 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
20002
200032010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20004
20005 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
20006 integer constants.
20007
200082010-02-06 Colin D Bennet <colin@gibibit.com>
20009
20010 Trigonometry support.
20011
20012 * include/grub/trig.h: New file.
20013 * lib/trig.c: Likewise.
20014 * maintainance/gentrigtables.py: Likewise.
20015 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
20016 (trig_mod_SOURCES): New variable.
20017 (trig_mod_CFLAGS): Likewise.
20018 (trig_mod_LDFLAGS): Likewise.
20019
5562834e
VS
200202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20021
20022 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
20023 disk devices.
20024
4f8528fc
VS
200252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
20028 error.
20029
2b4068e9
VS
200302010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20031
20032 * util/hostdisk.c (open_device): Don't use partition device when reading
20033 before the partition.
20034 (grub_util_biosdisk_read): Don't read from partition and before the
20035 partition in single operation.
20036 (grub_util_biosdisk_write): Don't write to partition and before the
20037 partition in single operation.
20038
399f6e4d
TL
200392010-02-03 Torsten Landschoff <torsten@debian.org>
20040
20041 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20042 last sectors.
20043
996649b0
VS
200442010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20045
20046 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
20047 CDROM reads.
20048 (grub_biosdisk_write): Refuse to write to CDROM.
20049
3b205d4d
VS
200502010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20051
20052 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
20053
61e89d9d
VS
200542010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20055
20056 * font/font.c (find_glyph): Check that bmp_idx is available before
20057 using it.
20058 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
20059 with (font == NULL).
20060
bf7fcba2
CS
200612010-01-28 Christian Schmitt <chris@ilovelinux.de>
20062
20063 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
20064
f45d2663
BC
200652010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
20066
20067 * include/grub/script_sh.h (sourcecode): Add const qualifier.
20068 * util/grub-script-check.c (getline): Fix empty lines case.
20069
ec1444e6
RM
200702010-01-28 Robert Millan <rmh.grub@aybabtu.com>
20071
20072 * Makefile.in (check): Exit with fail status when one of the tests
20073 fails.
20074 * tests/example_functional_test.c (example_test): Fix reversed assert.
20075 * tests/example_unit_test.c (example_test): Likewise.
20076
2e1cb9bb
CW
200772010-01-28 Colin Watson <cjwatson@ubuntu.com>
20078
20079 * util/grub.d/10_linux.in: This script does not use any of the
20080 contents of gettext.sh, only the external command `gettext', so stop
20081 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
20082 the same prefix as GRUB.)
20083 * util/grub.d/10_kfreebsd.in: Likewise.
20084
63533ab0
VS
200852010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20086
20087 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
20088 of the line.
20089
989e1f93
VS
200902010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20091
20092 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20093 last sectors.
20094
e709ebe2
VS
200952010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20096
20097 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
20098 having a 4KiB and not 32KiB buffer size.
20099
27dea7ed
RM
201002010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20101
20102 * util/hostfs.c: Include `<errno.h>'.
20103 (grub_hostfs_read): Handle errors from fseeko() and fread().
20104
67667b9c
RM
201052010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20106
20107 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
20108 loop when using read hooks on files whose size isn't sector-aligned.
20109
c294d9d8
RM
201102010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20111
20112 Remove unused parameter.
20113
20114 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
20115 (grub_iso9660_open): Remove initialization of `data->length'.
20116
af75a9f1
RM
201172010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20118
20119 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
20120 memleak conditions.
20121
254e2ce5 201222010-01-27 Carles Pina i Estany <carles@pina.cat>
20123
20124 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
20125 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
20126
b510928c 201272010-01-26 Carles Pina i Estany <carles@pina.cat>
20128
20129 * util/bin2h.c (usage): Fix warning (space after backslash).
20130
aa2f9dd2 201312010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 20132
20133 * font/font.c: Include `grub/fontformat.h.
20134 Remove font file format constants.
20135 (grub_font_load): Use the new macros.
20136 * include/grub/fontformat.h: New file.
20137 * util/grub-mkfont.c: Include `grub/fontformat.c'.
20138 (write_font_pf2): Use the new macros.
20139
94e7e712
RM
201402010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20141
20142 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
20143 does.
20144
3973a59a
RM
201452010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20146
20147 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
20148
20149 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
20150 (_start): Macroify `0x7F'.
20151
20152 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
20153 (make_install_device): Use "(pxe)" as fallback prefix when booting
20154 via PXE.
20155
42e0cba3
GS
201562010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
20157
20158 * configure.ac: Reset LIBS after check for libgcc symbols.
20159
847effd8
CW
201602010-01-25 Colin Watson <cjwatson@ubuntu.com>
20161
20162 * util/hostdisk.c (open_device): Add trailing newline to debug
20163 message.
20164
ea4a7e35
GS
201652010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
20166
20167 * configure.ac: Check for `limits.h'.
20168 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
20169
67951a53
RM
201702010-01-24 Robert Millan <rmh.grub@aybabtu.com>
20171
20172 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
20173 capitalize error strings.
20174
c273d4ce
ST
201752010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
20176
20177 * util/grub.d/10_hurd.in: Add a recovery mode.
20178
69be5b74
VS
201792010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
20180
20181 * configure.ac: Check for libgcc symbols with -nostdlib.
20182
fc9e5810
BC
201832010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
20184
20185 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
20186
4b358c0a
VS
201872010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20188
20189 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
20190 stack since heap may be unavailable at that point.
20191 (grub_ofconsole_gotoxy): Likewise.
20192
454fcd1c
VS
201932010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20194
20195 * configure.ac: Check for _restgpr_14_x.
20196 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
20197 and _savegpr_* prototypes.
20198
566863ca
RM
201992010-01-22 Robert Millan <rmh.grub@aybabtu.com>
20200
20201 Use generic grub_reboot() for i386-efi.
20202
20203 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
20204 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
20205 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
20206
bf86e59a
VS
202072010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20208
20209 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
20210 presence of "prefix" variable as it breaks when normal.mod is
20211 embedded.
20212
d645e0f8
VS
202132010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20214
20215 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
20216 stack since heap is unavailable at that point.
20217
f9ab2e25
VS
202182010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20219
20220 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
20221 (grub_freebsd_bootinfo): Rewritten.
20222 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
20223
01fc7054
VS
202242010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20225
20226 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
20227
caab4fd6
RM
202282010-01-21 Robert Millan <rmh.grub@aybabtu.com>
20229
20230 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
20231 domain now.
20232
67eb1427
FZ
202332010-01-20 Felix Zielcke <fzielcke@z-51.de>
20234
20235 * util/misc.c (make_system_path_relative_to_its_root): Change the work
20236 around for handling "/" to the correct fix. Fix a memory leak. Use
20237 xstrdup instead of strdup.
20238
a9ed4ff3
VS
202392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20240
20241 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
20242
202432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
20244
20245 Optimise glyph lookup by Basic Multilingual Plane lookup array.
20246
20247 * font/font.c (struct grub_font): New member 'bmp_idx'.
20248 (font_init): Initialise 'bmp_idx'.
20249 (load_font_index): Fill 'bmp_idx'.
20250 (find_glyph): Make inline. Use bmp_idx for BMP characters.
20251
48209f4f
VS
202522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20253
20254 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
20255 unnecessary calls.
20256
9f0a4bb7
VS
202572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20258
20259 Move context handling out of the kernel.
20260
20261 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
20262 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
20263 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
20264 * conf/i386-efi.rmk: Likewise.
20265 * conf/i386-ieee1275.rmk: Likewise.
20266 * conf/i386-pc.rmk: Likewise.
20267 * conf/powerpc-ieee1275.rmk: Likewise.
20268 * conf/sparc64-ieee1275.rmk: Likewise.
20269 * conf/x86_64-efi.rmk: Likewise.
20270 * include/grub/env.h: Include grub/menu.h.
20271 (grub_env_var_type): Removed.
20272 (grub_env_var): Replaced field 'type' with 'global'.
20273 (grub_env_find): New prototype.
20274 (grub_env_context_open): Remove EXPORT_FUNC.
20275 (grub_env_context_close): Likewise.
20276 (grub_env_export): Likewise.
20277 (grub_env_set_data_slot): Removed.
20278 (grub_env_get_data_slot): Likewise.
20279 (grub_env_unset_data_slot): Likewise.
20280 (grub_env_unset_menu): New prototype.
20281 (grub_env_set_menu): Likewise.
20282 (grub_env_get_menu): Likewise.
20283 * include/grub/env_private.h: New file.
20284 * include/grub/normal.h (grub_context_init): New prototype.
20285 (grub_context_fini): Likewise.
20286 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
20287 * normal/context.c (grub_cmd_export): ... to here.
20288 * kern/env.c: Include env_private.h.
20289 (HASHSZ): Moved to include/grub/env_private.h.
20290 (grub_env_context): Likewise.
20291 (grub_env_sorted_var): Likewise.
20292 (current_context): Renamed from this ...
20293 (grub_current_context): ...to this. 'static' removed. All users updated.
20294 (grub_env_find): Removed 'static'.
20295 (grub_env_context_open): Moved to normal/context.c.
20296 (grub_env_context_close): Likewise.
20297 (grub_env_export): Likewise.
20298 (mangle_data_slot_name): Removed.
20299 (grub_env_set_data_slot): Likewise.
20300 (grub_env_get_data_slot): Likewise.
20301 (grub_env_unset_data_slot): Likewise.
20302 * kern/main.c (grub_set_root_dev): Don't export root.
20303 It will be done later.
20304 (grub_main): Don't export prefix.
20305 It will be done later.
20306 * normal/context.c: New file.
20307 * normal/main.c (free_menu): Use grub_env_unset_menu.
20308 (grub_normal_add_menu_entry): Use grub_env_get_menu.
20309 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
20310 (GRUB_MOD_INIT(normal)): Call grub_context_init.
20311 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
20312
8dd35b8c
VS
203132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20314
20315 setpci support.
20316
20317 * commands/setpci.c: New file.
20318 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
20319 (setpci_mod_SOURCES): New variable.
20320 (setpci_mod_CFLAGS): Likewise.
20321 (setpci_mod_LDFLAGS): Likewise.
20322
449193d5
VS
203232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20324
20325 Byte-addressable PCI configuration space.
20326
20327 * bus/pci.c (grub_pci_make_address): Use byte address instead of
20328 dword address.
20329 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
20330 GRUB_PCI_REG_CACHELINE.
20331 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
20332 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
20333 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
20334 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
20335 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
20336 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
20337 grub_pci_make_address.
20338 (lock_rom_area): Likewise.
20339 * commands/lspci.c (grub_lspci_iter): Use macroses
20340 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
20341 of grub_pci_make_address.
20342 * disk/ata.c (grub_ata_pciinit): Likewise.
20343 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
20344 (GRUB_PCI_REG_VENDOR): Likewise.
20345 (GRUB_PCI_REG_DEVICE): Likewise.
20346 (GRUB_PCI_REG_COMMAND): Likewise.
20347 (GRUB_PCI_REG_STATUS): Likewise.
20348 (GRUB_PCI_REG_REVISION): Likewise.
20349 (GRUB_PCI_REG_CLASS): Likewise.
20350 (GRUB_PCI_REG_CACHELINE): Likewise.
20351 (GRUB_PCI_REG_LAT_TIMER): Likewise.
20352 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
20353 (GRUB_PCI_REG_BIST): Likewise.
20354 (GRUB_PCI_REG_ADDRESSES): Likewise.
20355 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20356 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20357 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20358 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20359 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20360 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20361 (GRUB_PCI_REG_CIS_POINTER): Likewise.
20362 (GRUB_PCI_REG_SUBVENDOR): Likewise.
20363 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
20364 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
20365 (GRUB_PCI_REG_CAP_POINTER): Likewise.
20366 (GRUB_PCI_REG_IRQ_LINE): Likewise.
20367 (GRUB_PCI_REG_IRQ_PIN): Likewise.
20368 (GRUB_PCI_REG_MIN_GNT): Likewise.
20369 (GRUB_PCI_REG_MAX_LAT): Likewise.
20370 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
20371 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
20372 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 20373 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
20374 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
20375 space.
20376
96d73208
RM
203772010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20378
20379 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
20380 can be reliably determined to be supported.
20381
d4484482
RM
203822010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20383
20384 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
20385 that VESA is supported.
20386 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
20387 supported.
20388
00308ecf
VS
203892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20390
20391 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
20392
f66924a4
RM
203932010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20394
20395 * util/misc.c (make_system_path_relative_to_its_root): Work around
20396 special-casing of "/", as previous incarnation of this routine did.
20397
cbca0ada
VS
203982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20399
20400 Fix any-emu compilation.
20401
20402 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
20403 * grub_bin2h_SOURCES: New variable.
20404
34a66d99
RM
204052010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20406
20407 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
20408
94fabf58
RM
204092010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20410
20411 * util/grub.d/00_header.in: Fix handling of locale_dir.
20412
02cf98ca
VS
204132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20414
20415 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
20416 as possible unifont location (Gentoo).
20417 Reported by: Alexander Brüning
20418
327dbcd7
VS
204192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20420
20421 Don't try to generate lists for kernel.img.
20422
20423 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
20424 (pkglib_MODULES): Remove kernel.img.
20425 (kernel_img_EXPORTS): Removed.
20426 (kernel_img_RELOCATABLE): New variable.
20427 * conf/x86_64-efi.rmk: Likewise.
20428 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
20429
ca467290
VS
204302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
20433 grub_xasprintf or grub_snprintf.
20434 (grub_vsprintf): Likewise.
20435 (grub_snprintf): New proto.
20436 (grub_vsnprintf): Likewise.
20437 (grub_xasprintf): Likewise.
20438 (grub_xvasprintf): Likewise.
20439 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
20440 (grub_sprintf): Removed.
20441 (grub_vsnprintf): New function.
20442 (grub_snprintf): Likewise.
20443 (grub_xvasprintf): Likewise.
20444 (grub_xasprintf): Likewise.
20445 (grub_vsprintf): Renamed to ...
20446 (grub_vsnprintf_real): ...this. New argument max_len.
20447
aca655fd
BC
204482010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20449
20450 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
20451 fix grub-script-check warning.
20452
7ee92c32
VS
204532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20454
20455 * include/grub/font.h (grub_font_load): Fix prototype.
20456
f80927ca
VS
204572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20458
20459 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
20460
119c50ea
VS
204612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20462
20463 * include/grub/x86_64/at_keyboard.h: New file.
20464
47d5f3c1
VS
204652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20466
20467 * loader/mips/linux.c: Include missing grub/i18n.h.
20468
55ff5266
RM
204692009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20470
20471 * normal/menu.c (notify_execution_failure): Clarify error message.
20472
c893cc87
RM
204732009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20474
20475 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
20476 return value (and revert all return statements). Update users.
20477
917dd370
CW
204782010-01-20 Dan Merillat <debian@dan.merillat.org>
20479
20480 * kern/device.c (grub_device_iterate): Allocate new part_ent
20481 structure based on sizeof (*p) rather than sizeof (p->next), to
20482 account for structure padding.
20483
20484 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
20485 disk is NULL, which might happen for LVM physical volumes with no
20486 LVM signature.
20487
d4a4ee57
RM
204882009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20489
20490 * loader/mips/linux.c (grub_cmd_initrd)
20491 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20492
204932009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20494
20495 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20496 (grub_video_video_init, grub_video_bitmap_init)
20497 (grub_font_manager_init, grub_term_gfxterm_init)
20498 (grub_at_keyboard_init): New extern declarations.
20499 (grub_machine_init): Initialize gfxterm and at_keyboard.
20500
20501 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20502
20503 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20504 `gfxterm.mod' into core image.
20505
20506 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20507 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20508 (kernel_img_FORMAT): Copy to ...
20509
20510 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20511 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20512 (kernel_img_FORMAT): ... here, and ...
20513
20514 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20515 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20516 (kernel_img_FORMAT): ... here.
20517
20518 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20519 and input (at_keyboard) terminals in kernel.
20520 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20521
20522 (pkglib_MODULES): Remove `pci.mod'.
20523 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20524 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20525 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20526 (at_keyboard_mod_LDFLAGS): Remove variables.
20527
205282010-01-11 Felix Zielcke <fzielcke@z-51.de>
20529
20530 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20531
205322009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20533
20534 * include/grub/mips/libgcc.h: Only export symbols for functions
20535 that libgcc provides.
20536
205372009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20538
20539 MIPS support.
20540
20541 * bus/bonito.c: New file.
20542 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20543 GRUB_PCI_NUM_DEVICES.
20544 * term/i386/pc/serial.c: Move to ...
20545 * term/serial.c: ... here. All users updated.
20546 * util/i386/pc/grub-mkimage.c: Move to ...
20547 * util/grub-mkrawimage.c: ... here. All users updated.
20548 * term/i386/pc/at_keyboard.c: Move to ...
20549 * term/at_keyboard.c: ... here. All users updated.
20550 * conf/mips-qemu-mips.rmk: New file.
20551 * conf/mips-yeeloong.rmk: Likewise.
20552 * conf/mips.rmk: Likewise.
20553 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20554 mipsel-qemu-mips.
20555 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20556 to port addresses.
20557 (grub_ata_pciinit): Support CS5536.
20558 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20559 * font/font_cmd.c (loadfont_command): Open file before passing it to
20560 grub_font_load.
20561 (pseudo_file_read): New function.
20562 (pseudo_file_close): Likewise.
20563 (pseudo_fs): New structure.
20564 (load_font_module): New function.
20565 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20566 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20567 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20568 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20569 * include/grub/i386/at_keyboard.h: Split into ...
20570 * include/grub/at_keyboard.h: ... this ...
20571 * include/grub/i386/at_keyboard.h: ... and this.
20572 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20573 New prototype.
20574 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20575 updated.
20576 (grub_elf64_size): Likewise.
20577 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20578 filename.
20579 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20580 * include/grub/i386/coreboot/serial.h: Rewritten.
20581 * include/grub/i386/ieee1275/serial.h: Include
20582 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20583 * include/grub/i386/pc/serial.h: Moved from here ...
20584 * include/grub/serial.h: ... to here. All users updated.
20585 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20586 (GRUB_PCI_NUM_BUS): Likewise.
20587 (GRUB_PCI_NUM_DEVICES): Likewise.
20588 (grub_pci_device_map_range): Add missing volatile keyword.
20589 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20590 * include/grub/mips/at_keyboard.h: New file.
20591 * include/grub/mips/cache.h: Likewise.
20592 * include/grub/mips/io.h: Likewise.
20593 * include/grub/mips/kernel.h: Likewise.
20594 * include/grub/mips/libgcc.h: Likewise.
20595 * include/grub/mips/pci.h: Likewise.
20596 * include/grub/mips/qemu-mips/boot.h: Likewise.
20597 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20598 * include/grub/mips/qemu-mips/loader.h: Likewise.
20599 * include/grub/mips/qemu-mips/memory.h: Likewise.
20600 * include/grub/mips/qemu-mips/serial.h: Likewise.
20601 * include/grub/mips/qemu-mips/time.h: Likewise.
20602 * include/grub/mips/relocator.h: Likewise.
20603 * include/grub/mips/time.h: Likewise.
20604 * include/grub/mips/types.h: Likewise.
20605 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20606 * include/grub/mips/yeeloong/boot.h: Likewise.
20607 * include/grub/mips/yeeloong/kernel.h: Likewise.
20608 * include/grub/mips/yeeloong/loader.h: Likewise.
20609 * include/grub/mips/yeeloong/memory.h: Likewise.
20610 * include/grub/mips/yeeloong/pci.h: Likewise.
20611 * include/grub/mips/yeeloong/serial.h: Likewise.
20612 * include/grub/mips/yeeloong/time.h: Likewise.
20613 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20614 * kern/elf.c (grub_elf32_size): New parameter. All users
20615 updated.
20616 (grub_elf64_size): Likewise.
20617 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20618 Load modules before saying "Welcome to GRUB!".
20619 Call grub_refresh after saying "Welcome to GRUB!".
20620 * kern/mips/cache.S: New file.
20621 * kern/mips/cache_flush.S: Likewise.
20622 * kern/mips/dl.c: Likewise.
20623 * kern/mips/init.c: Likewise.
20624 * kern/mips/qemu-mips/init.c: Likewise.
20625 * kern/mips/startup.S: Likewise.
20626 * kern/mips/yeeloong/init.c: Likewise.
20627 * kern/term.c (grub_putcode): Handle NULL terminal.
20628 (grub_getcharwidth): Likewise.
20629 (grub_getkey): Likewise.
20630 (grub_checkkey): Likewise.
20631 (grub_getkeystatus): Likewise.
20632 (grub_getxy): Likewise.
20633 (grub_getwh): Likewise.
20634 (grub_gotoxy): Likewise.
20635 (grub_cls): Likewise.
20636 (grub_setcolorstate): Likewise.
20637 (grub_setcolor): Likewise.
20638 (grub_getcolor): Likewise.
20639 (grub_refresh): Likewise.
20640 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20641 (write_jump): Add hatch nop.
20642 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20643 * lib/mips/setjmp.S: New file.
20644 * loader/mips/linux.c: Likewise.
20645 * term/i386/pc/at_keyboard.c: Move from here ...
20646 * term/at_keyboard.c: ... to here.
20647 * term/i386/pc/serial.c: Moved from here ...
20648 * term/serial.c: ... to here. All users updated.
20649 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20650 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20651 (serial_translate_key_sequence): Avoid deadlock.
20652 (grub_serial_getkey): Handle backspace.
20653 (grub_serial_putchar): Fix newline handling.
20654 * util/i386/pc/grub-mkimage.c: Move from here ...
20655 * util/grub-mkrawimage.c: ... to here. All users updated.
20656 (generate_image): New parameters 'font_path' and 'format'.
20657 Support embedding font.
20658 Use grub_host_to_target* instead of grub_cpu_to_le*.
20659 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
20660 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
20661 (options): New option "--font".
20662 (usage): Likewise.
20663 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
20664 (main): Handle "--font".
20665 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
20666 (grub_virtual_screen_setup): Set bg_color_display.
20667 (redraw_screen_rect): Use bg_color_display instead of incorrect
20668 bg_color.
20669 (grub_gfxterm_cls): Likewise.
20670 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
20671 Support embedding config file.
20672 (add_segments): Likewise.
20673 (options): New option "--config".
20674 (main): Handle "--config".
20675 * video/sm712.c: New file.
20676
25c2b5b3
RM
206772010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20678
20679 Fix parallel builds.
20680
20681 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
20682 font.c depend on ascii.h).
20683
206842010-01-12 Carles Pina i Estany <carles@pina.cat>
20685
20686 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
20687
206882010-01-11 Carles Pina i Estany <carles@pina.cat>
20689
20690 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
20691 By default: disabled.
20692 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
20693 parameter.
20694
206952010-01-10 Carles Pina i Estany <carles@pina.cat>
20696
20697 * font/font.c: Update copyright years.
20698 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
20699
207002010-01-10 Carles Pina i Estany <carles@pina.cat>
20701
20702 * font/font.c: Include `ascii.h'.
20703 (ASCII_BITMAP_SIZE): New macro.
20704 (ascii_font_glyph): Define.
20705 (ascii_glyph_lookup): New function.
20706 (grub_font_get_string_width): Change comment. If glyph not found, use
20707 ascii_glyph_lookup.
20708 (grub_font_get_glyph_with_fallback): If glyph not available returns
20709 ascii_glyph_lookup.
20710 * util/grub-mkfont.c (file_formats): New enum.
20711 (options): Add `ascii-bitmaps' new option.
20712 (usage): Add `asii-bitmaps' new option.
20713 (write_font_ascii_bitmap): New function.
20714 (write_font): Rename to ...
20715 (write_font_p2): ... this. Remove print_glyphs call.
20716 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
20717 used. Call print_glyphs.
20718 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
20719
207202010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20721
20722 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
20723 (grub_bin2h_SOURCES): New variable.
20724 * util/bin2h.c: New file.
20725
915fc1b8
VS
207262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20727
20728 * include/multiboot.h: Resynced with spec.
20729 * include/multiboot2.h: Likewise.
20730 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
20731 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
20732
9444b678
RM
207332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20734
20735 * include/grub/term.h (grub_term_register_input,
20736 grub_term_register_output): Check return of terminal init()
20737 routines, and abort if errors are raised.
20738
20739 * commands/terminal.c: Update copyright year.
20740
cba98e8d
RM
207412010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20742
20743 * commands/terminal.c (grub_cmd_terminal_input)
20744 (grub_cmd_terminal_output): Check return of terminal init()
20745 routines, and abort if errors are raised.
20746
6f7db5d6
VS
207472010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20748
20749 * include/grub/i386/bsd.h: Fix include pathes.
20750
262bff8d
VS
207512010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20752
20753 Add missing *BSD copyright headers.
20754
20755 * include/grub/aout.h: Add BSD licence.
20756 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20757 * include/grub/i386/freebsd_linker.h: ... here,
20758 * include/grub/i386/freebsd_reboot.h: ... here,
20759 * include/grub/i386/netbsd_bootinfo.h: ... here,
20760 * include/grub/i386/netbsd_reboot.h: ... here,
20761 * include/grub/i386/openbsd_bootarg.h: ... here,
20762 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20763 licence to each file.
20764
b2cab848
RM
207652010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20766
20767 * acinclude.m4: Remove `nop' assembly instruction; it's not
20768 implemented by all architectures.
20769
2cb6be4b
RM
207702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20771
20772 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
20773 ELILO. This is no longer necessary.
20774
a2eaee15
BC
207752010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
20776
20777 Added new tool, grub-scrit-check to verify grub.cfg syntax.
20778
20779 * util/grub-script-check.c: grub-script-check tool.
20780 * conf/common.rmk: Make rules for grub-script-check.
20781
88d17012
RM
207822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20783
20784 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
20785 spotting it back in 2008. Shame on me for forgetting he did.
20786
20787 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
20788
8040619d
RM
207892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20790
20791 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
20792 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
20793 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
20794 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
20795 (GRUB_VIDEO_TYPE_EFI): Rename to ...
20796 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
20797
a0c2a0f6
RM
207982010-01-17 Robert Millan <rmh.grub@aybabtu.com>
20799
20800 * include/grub/test.h: Add license header.
20801 * tests/example_functional_test.c: Likewise.
20802 * tests/example_unit_test.c: Likewise.
20803 * tests/lib/functional_test.c: Likewise.
20804 * tests/lib/test.c: Likewise.
20805 * tests/lib/unit_test.c: Likewise.
20806
b0b13907
VS
208072010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
20808
20809 Use flag-based instead of hook-based video mode selection and "auto"
20810 keyword.
20811
20812 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
20813 (grub_video_set_mode): Changed prototype. All users updated.
20814 (grub_video_check_mode_flag): New inline function.
20815 * video/video.c (parse_modespec): New function.
20816 (grub_video_set_mode): Parse flags and keywords.
20817
ea379330 208182010-01-17 Carles Pina i Estany <carles@pina.cat>
20819
20820 * util/misc.c (grub_util_info): Fix the order of the parameters in a
20821 fprintf call.
20822
e15c215e
FZ
208232010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
20824
20825 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
20826
409ae1c9 208272010-01-16 Carles Pina i Estany <carles@pina.cat>
20828
20829 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
20830 string.
20831 * util/grub-emu.c (usage): Likewise.
20832 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
20833 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20834 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20835 * util/i386/pc/grub-setup.c (usage): Likewise.
20836
70a14d3d 208372010-01-16 Carles Pina i Estany <carles@pina.cat>
20838
20839 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
20840 the message.
20841 (grub_util_info): Likewise.
20842 (grub_util_error): Likewise.
20843 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
20844 and/or new lines in `grub_util_warna', `grub_util_info',
20845 `grub_util_error' calls.
20846 * util/getroot.c: Likewise.
20847 * util/grub-editenv.c: Likewise.
20848 * util/grub-emu.c: Likewise.
20849 * util/grub-fstest.c: Likewise.
20850 * util/grub-mkdevicemap.c: Likewise.
20851 * util/grub-mkfont.c: Likewise.
20852 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20853 * util/grub-mkrelpath.c: Likewise.
20854 * util/grub-pe2elf.c: Likewise.
20855 * util/grub-probe.c: Likewise.
20856 * util/hostdisk.c: Likewise.
20857 * util/i386/efi/grub-mkimage.c: Likewise.
20858 * util/i386/pc/grub-mkimage.c: Likewise.
20859 * util/i386/pc/grub-setup.c: Likewise.
20860 * util/ieee1275/ofpath.c: Likewise.
20861 * util/mkisofs/eltorito.c: Likewise.
20862 * util/mkisofs/rock.c: Likewise.
20863 * util/mkisofs/write.c: Likewise.
20864 * util/raid.c: Likewise.
20865 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20866 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20867
a0b766fc
VS
208682010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20869
20870 Enable multiboot on non-pc.
20871
20872 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
20873 multiboot.mod and multiboot2.mod to ...
20874 * conf/i386.rmk (pkglib_MODULES): ... here.
20875 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
20876 Moved to ...
20877 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
20878 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
20879 Moved to ...
20880 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
20881 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
20882 Moved to ...
20883 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
20884 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
20885 Moved to ...
20886 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
20887 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
20888 relocator.mod.
20889 (ata_mod_SOURCES): Removed.
20890 (ata_mod_CFLAGS): Likewise.
20891 (ata_mod_LDFLAGS): Likewise.
20892 (relocator_mod_SOURCES): Removed.
20893 (relocator_mod_CFLAGS): Likewise.
20894 (relocator_mod_ASFLAGS): Likewise.
20895 (relocator_mod_LDFLAGS): Likewise.
20896 Include i386.mk.
20897 * include/grub/x86_64/multiboot.h: New file.
20898 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
20899 Terminate EFI.
20900
884ade56
VS
209012010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20902
20903 Video multiboot support.
20904
20905 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
20906 New prototype.
20907 * include/multiboot.h: Resynced with multiboot specification.
20908 * include/multiboot2.h: Likewise.
20909 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
20910 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
20911 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
20912 (HAS_VGA_TEXT): Likewise.
20913 (accepts_video): New variable.
20914 (grub_multiboot_set_accepts_video): New function.
20915 (grub_multiboot_get_mbi_size): Account for video structures.
20916 (set_video_mode): New function.
20917 (retrieve_video_parameters): Likewise.
20918 (grub_multiboot_make_mbi): Fill video fields.
20919
0d90e8a6
VS
209202010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20921
20922 Video driver ids.
20923
20924 * include/grub/video.h (grub_video_driver_id): New type.
20925 (grub_video_adapter): New member 'id'. All users updated.
20926 (grub_video_get_driver_id): New proto.
20927 * video/video.c (grub_video_get_driver_id): New function.
20928
5c71db1b 209292010-01-14 Carles Pina i Estany <carles@pina.cat>
20930
20931 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
20932 `var=val'.
20933
cca15b52 209342010-01-14 Carles Pina i Estany <carles@pina.cat>
20935
20936 * normal/cmdline.c (print_completion): Gettextizze.
20937
c586fbb2 209382001-01-14 Carles Pina i Estany <carles@pina.cat>
20939
20940 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
20941
ba2f6848 209422010-01-14 Carles Pina i Estany <carles@pina.cat>
20943
20944 * gettext/gettext.c (grub_gettext_translate): Push and pop
20945 grub_errno.
20946 (grub_gettext_delete_list): Change comment style.
20947 * kern/err.c (grub_error): Gettextizze.
20948 (grub_fatal): Gettextizze.
20949
0a46429a
RM
209502010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20951
20952 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
20953 (grub_linux16_real_boot): ... this.
20954 * kern/i386/loader.S: Likewise.
20955 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
20956 (grub_linux16_boot): New function. Switches to text mode and calls
20957 grub_linux16_real_boot().
20958
20959 * loader/i386/bsd.c: Include `<grub/video.h>'.
20960 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
20961 text mode before calling grub_unix_real_boot().
20962
20963 * loader/i386/multiboot.c: Include `<grub/video.h>'.
20964 (grub_multiboot_boot): Switch to text mode before calling
20965 grub_relocator32_boot().
20966
20967 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
20968 (grub_chainloader_boot): Switch to text mode before calling
20969 grub_chainloader_real_boot().
20970
d6f93a66
RM
209712010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
209722010-01-05 Colin Watson <cjwatson@ubuntu.com>
20973
20974 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
20975 non-empty value.
20976
209772010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
209782010-01-05 Colin Watson <cjwatson@ubuntu.com>
20979
20980 * util/grub.d/00_header.in: Define a "savedefault" function for use
20981 in menu entries.
20982 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
20983
209842010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
209852010-01-05 Colin Watson <cjwatson@ubuntu.com>
20986
20987 * util/grub-mkconfig_lib.in (save_default_entry): Only set
20988 saved_entry if boot_once is unset.
20989 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
20990 previous saved entry (i.e. grub-reboot).
20991
209922009-12-08 Colin Watson <cjwatson@ubuntu.com>
20993
20994 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
20995
209962009-12-08 Colin Watson <cjwatson@ubuntu.com>
20997
20998 * util/grub.d/00_header.in: Use `set var=val' rather than plain
20999 `var=val'.
21000 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
21001
210022009-12-08 Colin Watson <cjwatson@ubuntu.com>
21003
21004 * util/grub-reboot.in: Fix --version output.
21005 * util/grub-set-default.in: Likewise.
21006
210072009-12-08 Colin Watson <cjwatson@ubuntu.com>
21008
21009 * util/grub.d/00_header.in: Silently ignore zero-sized environment
21010 blocks.
21011
210122009-12-08 Colin Watson <cjwatson@ubuntu.com>
21013
21014 * util/grub.d/00_header.in: Quote the value assigned to `default',
21015 in case it contains spaces.
21016
210172009-12-08 Colin Watson <cjwatson@ubuntu.com>
21018
21019 * util/grub.d/30_os-prober.in: Fix merge error that moved a
21020 `save_default_entry' call from the macosx case to the linux case.
21021
210222009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
210232009-10-25 Colin Watson <cjwatson@ubuntu.com>
21024
21025 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
21026 in `chosen' environment variable.
21027 * normal/menu_text.c (get_entry_number): Check if the variable
21028 matches the title of a menu entry.
21029 (run_menu): Pass menu to get_entry_number.
21030
21031 * util/grub-reboot.in: New file.
21032 * util/grub-set-default.in: New file.
21033 * conf/common.rmk (grub-reboot): New utility.
21034 (grub-set-default): New utility.
21035
21036 * util/grub-mkconfig_lib.in (save_default_entry): New function.
21037 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
21038 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
21039 move it to `saved_entry' for the next boot. Load environment on
21040 initialisation.
21041 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
21042 * util/grub.d/10_hurd.in: Likewise.
21043 * util/grub.d/10_linux.in (linux_entry): Likewise.
21044 * util/grub.d/10_windows.in: Likewise.
21045 * util/grub.d/30_os-prober.in: Likewise.
21046
21047 * util/grub-install.in: Create environment block.
21048 * util/i386/efi/grub-install.in: Likewise.
21049 * util/ieee1275/grub-install.in: Likewise.
21050 * util/sparc64/ieee1275/grub-install.in: Likewise.
21051
0934d184
BC
210522010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
21053
21054 Unit testing framework for GRUB.
21055
21056 * Makefile.in: Test framework build rules for 'make check'.
21057 * conf/tests.rmk: Build rules for individual tests and framework.
21058
21059 * include/grub/test.h: Header file for whitebox tests.
21060 * tests/lib/functional_test.c: Framework support for whitebox
21061 functional tests.
21062 * tests/lib/test.c: Common whitebox testing code for unit and
21063 functional tests.
21064 * tests/lib/unit_test.c: Framework support for whitebox unit
21065 tests.
21066
21067 * tests/util/grub-shell-tester.in: Support utility for grub-script
21068 tests.
21069 * tests/util/grub-shell.in: Utility to execute grub-script
21070 commands in a Qemu instance.
21071
21072 * tests/example_functional_test.c: Example whitebox functional
21073 test.
21074 * tests/example_grub_script_test.in: Example grub-script test.
21075 * tests/example_scripted_test.in: Example scripted test.
21076 * tests/example_unit_test.c: Example whitebox unit test.
21077
9c4ffeeb
VS
210782010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21079
21080 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
21081 Add loader/i386/multiboot_mbi.c.
21082 (multiboot2_mod_SOURCES): Likewise.
21083 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
21084 (multiboot2_mod_SOURCES): Likewise.
21085 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
21086 (grub_multiboot_make_mbi): Likewise.
21087 (grub_multiboot_free_mbi): Likewise.
21088 (grub_multiboot_init_mbi): Likewise.
21089 (grub_multiboot_add_module): Likewise.
21090 (grub_multiboot_set_bootdev): Likewise.
21091 * loader/i386/multiboot.c (mbi): Removed.
21092 (mbi_dest): Likewise.
21093 (alloc_mbi): New variable.
21094 (grub_multiboot_payload_size): Removed. All users updated.
21095 (grub_multiboot_pure_size): New variable.
21096 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
21097 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
21098 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
21099 (grub_fill_multiboot_mmap): Likewise.
21100 (grub_multiboot_get_bootdev): Likewise.
21101 (grub_multiboot): Use multiboot_mbi functions.
21102 * loader/i386/multiboot_mbi.c: New file.
21103
17383dfe
VS
211042010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21105
21106 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
21107 it would result in module crash.
21108
c1f28820
VS
211092010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
21112 (grub_ofconsole_getwh): Split to ...
21113 (grub_ofconsole_getwh): ... this.
21114 (grub_ofconsole_dimensions): ...and this.
21115 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
21116
58655a16
RM
211172010-01-13 Robert Millan <rmh.grub@aybabtu.com>
21118
21119 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
21120
10891398
VS
211212010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21122
21123 * loader/i386/pc/multiboot2.c: Removed stalled file.
21124
0b8a223c
VS
211252010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21126
21127 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
21128 Reported by: Grégoire Sutre
21129
92ab12b0
RM
211302010-01-11 Robert Millan <rmh.grub@aybabtu.com>
21131
21132 * util/misc.c (canonicalize_file_name): New function.
21133 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
21134 instead of realpath().
21135
a788afb6
CW
211362010-01-11 Colin Watson <cjwatson@ubuntu.com>
21137
21138 * util/grub-install.in (usage): Clarify meaning of --root-directory,
21139 and make it clearer that it's optional. Based on confusion
21140 witnessed on IRC.
21141
ffa8e3d2
VS
211422010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21143
21144 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
21145 in premature implicit newline.
21146
e9060a9d
VS
211472010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21148
21149 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
21150 which resulted in garbled command line at the end of screen.
21151
f0d0c0b7
RM
211522010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21153
21154 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
21155 initialization with similar approach as with other Linux loaders.
21156
0e60bae7
RM
211572010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21158
21159 Fix i386-ieee1275 build.
21160
21161 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
21162 and grub_term_height() for video_{width,height} initialization.
21163
211642010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
21165
21166 Fix grub-emu build.
21167
21168 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
21169
cdb3f378
RM
211702010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
211712010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21172
21173 Support for multiple terminals.
21174
21175 * Makefile.in (pkglib_DATA): terminal.lst.
21176 (terminal.lst): New target.
21177 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
21178 (GRUB_MOD_INIT(handler)): Likewise.
21179 (GRUB_MOD_FINI(handler)): Likewise.
21180 * commands/help.c (grub_cmd_help): Handle multiple terminals.
21181 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
21182 * commands/sleep.c (do_print): Use grub_term_restore_pos.
21183 (grub_cmd_sleep): Use grub_term_save_pos.
21184 * commands/terminal.c: New file.
21185 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
21186 commands/terminal.c and lib/charset.c.
21187 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
21188 (pkglib_MODULES): Add terminal.mod.
21189 (terminal_mod_SOURCES): New variable.
21190 (terminal_mod_CFLAGS): Likewise.
21191 (terminal_mod_LDFLAGS): Likewise.
21192 * genhandlerlist.sh: Don't handle terminals.
21193 * genmk.rb: Generate terminal-*.lst.
21194 * genterminallist.sh: New file.
21195 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
21196 (grub_is_valid_utf8): Likewise.
21197 (grub_utf8_to_ucs4_alloc): Likewise.
21198 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
21199 (grub_menu_register_viewer): Changed argument.
21200 (grub_menu_try_text): New proto.
21201 (grub_gfxmenu_try_hook): New declaration.
21202 * include/grub/normal.h (grub_normal_exit_level): New declaration.
21203 (grub_menu_init_page): Additional argument term.
21204 (grub_normal_init_page): Likewise.
21205 (grub_cmdline_get): Arguments simplified.
21206 (grub_utf8_to_ucs4_alloc): Removed.
21207 (grub_print_ucs4): Additional argument term.
21208 (grub_getstringwidth): Likewise.
21209 (grub_print_message_indented): Likewise.
21210 (grub_menu_text_register_instances): New proto.
21211 (grub_show_menu): Likewise.
21212 (read_terminal_list): Likewise.
21213 (grub_set_more): Likewise.
21214 * include/grub/parser.h: Include handler.h.
21215 * include/grub/reader.h: Rewritten.
21216 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
21217 (GRUB_TERM_WIDTH): Changed to function.
21218 (GRUB_TERM_HEIGHT): Likewise.
21219 (GRUB_TERM_BORDER_WIDTH): Likewise.
21220 (GRUB_TERM_BORDER_HEIGHT): Likewise.
21221 (GRUB_TERM_NUM_ENTRIES): Likewise.
21222 (GRUB_TERM_ENTRY_WIDTH): Likewise.
21223 (GRUB_TERM_CURSOR_X): Likewise.
21224 (grub_term_input_class): Likewise.
21225 (grub_term_output_class): Likewise.
21226 (grub_term_outputs_disabled): New declaration.
21227 (grub_term_inputs_disabled): Likewise.
21228 (grub_term_outputs): Likewise.
21229 (grub_term_inputs): Likewise.
21230 (grub_term_register_input): Rewritten.
21231 (grub_term_register_output): Likewise.
21232 (grub_term_unregister_input): Likewise.
21233 (grub_term_unregister_output): Likewise.
21234 (FOR_ACTIVE_TERM_INPUTS): New macro.
21235 (FOR_DISABLED_TERM_INPUTS): Likewise.
21236 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21237 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21238 * include/grub/terminfo.h: Add oterm argument to all protypes.
21239 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
21240 Use grub_rescue_run.
21241 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
21242 All users updated.
21243 * kern/reader.c: Removed. All users updated.
21244 * kern/rescue_reader.c (grub_rescue_init): Removed.
21245 (grub_rescue_reader): Likewise.
21246 (grub_register_rescue_reader): Likewise.
21247 (grub_rescue_run): New function based on kern/reader.c.
21248 * kern/term.c: Adapted for multiterm.
21249 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
21250 (grub_is_valid_utf8): Likewise.
21251 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
21252 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
21253 right terminal.
21254 * loader/i386/linux.c (grub_linux_boot): Likewise.
21255 * normal/auth.c (grub_username_get): New function.
21256 (grub_auth_check_authentication): Use grub_username_get.
21257 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
21258 * normal/color.c: Adapt for multiterm.
21259 * normal/main.c (read_config_file): Don't use grub_reader_loop.
21260 (grub_normal_init_page): Additional argument term.
21261 (read_lists): Call read_terminal_lists.
21262 (grub_enter_normal_mode): Call grub_cmdline_run.
21263 Handle grub_normal_exit_level.
21264 (grub_cmd_normal): Make reentrant.
21265 (grub_cmd_normal_exit): New function.
21266 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
21267 * normal/menu.c: Adapt for multiterm.
21268 * normal/menu_entry.c: Likewise.
21269 * normal/menu_text.c: Likewise.
21270 * normal/menu_viewer.c: Removed. All users updated.
21271 * normal/term.c: New file.
21272 * util/console.c: Change order of includes to workaround a bug in
21273 ncurses headers.
21274 * term/terminfo.c: New argument oterm on all exported functions.
21275 All users updated.
21276 * util/grub-editenv.c (grub_term_input_class): Removed.
21277 (grub_term_output_class): Likewise.
21278
1a064917
RM
212792010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21280
21281 Make loader output a bit more user-friendly.
21282
21283 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
21284 is being loaded. Likewise for the Hurd.
21285
21286 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
21287 that kernel of FreeBSD ${version} is being loaded.
21288
21289 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
21290 grub_dprintf().
21291 (grub_cmd_initrd): Likewise.
21292 * util/grub.d/10_linux.in (linux_entry): Print message indicating
21293 that Linux ${version} is being loaded. Likewise for initrd.
21294
5ce0a83a 212952010-01-09 Carles Pina i Estany <carles@pina.cat>
21296
21297 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
21298
809bbfeb 212992010-01-08 Carles Pina i Estany <carles@pina.cat>
21300
21301 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
21302 (GRUB_MOD_INIT): Gettextizze.
21303 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
21304 (GRUB_MOD_INIT): Gettextizze.
21305 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
21306 (grub_cmd_linux): Capitalise Linux.
21307 (GRUB_MOD_INIT): Gettextizze.
21308 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
21309 (grub_cmd_linux): Capitalise Linux.
21310 (GRUB_MOD_INIT): Gettextizze.
21311 * loader/i386/linux.c: Include `<grub/i18n.h>'.
21312 (grub_cmd_linux): Capitalise Linux.
21313 (GRUB_MOD_INIT): Gettextizze.
21314 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
21315 (GRUB_MOD_INIT): Gettextizze.
21316 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
21317 (grub_cmd_linux): Capitalise Linux.
21318 (GRUB_MOD_INIT): Gettextizze.
21319 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
21320 (grub_cpu_xnu_init): Gettextizze.
21321 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
21322 (GRUB_MOD_INIT): Gettextizze.
21323 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
21324 (GRUB_MOD_INIT): Gettextizze.
21325 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
21326 (grub_linux_load64): Capitalise Linux.
21327 (GRUB_MOD_INIT): Gettextizze.
21328 * loader/xnu.c: Include `<grub/i18n.h>'.
21329 (GRUB_MOD_INIT): Gettextizze.
21330 * po/POTFILES: Add `loader/efi/appleloader.c',
21331 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
21332 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
21333 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
21334 `loader/i386/xnu.c', `loader/multiboot_loader.c',
21335 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
21336 and `loader/xnu.c'.
21337
b394b2ca
RM
213382010-01-08 Robert Millan <rmh.grub@aybabtu.com>
21339
21340 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
21341
213422010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
21343
21344 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
21345 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
21346 * util/mkisofs/mkisofs.c (main): Readjust --version output.
21347
bc8b32b3
RM
213482010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21349
21350 Reset Multiboot 2 support. New loader implements the draft in
21351 /branches/multiboot2 and shares as much code as possible with the
21352 production Multiboot 1 implementation.
21353
21354 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
21355 * loader/multiboot2.c: Likewise.
21356 * loader/i386/multiboot_helper.S: Likewise.
21357 * include/multiboot2.h: Replace with latest version from the draft
21358 in /branches/multiboot2.
21359
21360 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
21361 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
21362 and `loader/multiboot2.c'.
21363 (pkglib_MODULES): Add `multiboot2.mod'.
21364 (multiboot2_mod_SOURCES): New variable.
21365 (multiboot2_mod_LDFLAGS): Likewise.
21366 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
21367
21368 * conf/i386-pc.rmk: Likewise.
21369
21370 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21371 (multiboot_mod_SOURCES): Remove variable.
21372 (multiboot_mod_LDFLAGS): Likewise.
21373 (multiboot_mod_CFLAGS): Likewise.
21374
21375 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
21376 `<multiboot2.h>' instead of `<multiboot.h>'.
21377 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
21378 (MULTIBOOT_HEADER_MAGIC): New macros.
21379
21380 * loader/multiboot_loader.c (module_version_status): Remove variable.
21381 (find_multi_boot2_header): Remove function.
21382 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
21383 logic. Always check for the Multiboot version we're compiling for.
21384 (grub_cmd_module_loader): Likewise.
21385 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
21386 command instead of `multiboot'.
21387
5d2c52b8
RM
213882010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21389
21390 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
21391 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
21392 all users.
21393
53108d92
RM
213942010-01-07 Robert Millan <rmh.grub@aybabtu.com>
213952010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21396
21397 Fix breakage introduced with previous commit.
21398
21399 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
21400 commands.
21401 * normal/handler.c (read_handler_list): Revert part of previous commit
21402 affecting this file.
21403 * normal/main.c (read_lists): Move read_handler_list() call back to ...
21404 (grub_normal_execute): ... here.
21405
e2e936b2
RM
214062010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21407
21408 Merge prefix-redefinition-fix branch.
21409
21410 * normal/autofs.c (read_fs_list): Make function capable of being
21411 run multiple times, gracefuly replacing the previous data
21412 structures.
21413 * normal/dyncmd.c (read_command_list): Likewise.
21414 * normal/handler.c (read_handler_list): Likewise.
21415 * normal/main.c (read_lists): New function. Calls all the
21416 list reading functions.
21417 (grub_normal_execute): Use read_lists() instead of calling all
21418 list reading functions explicitly. Register read_lists() as a
21419 variable hook attached to ${prefix}.
21420
607a3701
VS
214212010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21422
21423 Merge crypto branch.
21424
21425 * Makefile.in (pkglib_DATA): Add crypto.lst.
21426 (crypto.lst): New target.
21427 * commands/hashsum.c: New file.
21428 * commands/password.c (check_password): Use grub_crypto_memcmp.
21429 * commands/password_pbkdf2.c: New file.
21430 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
21431 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
21432 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
21433 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
21434 -I$(srcdir)/lib/libgcrypt_wrap.
21435 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
21436 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
21437 password_pbkdf2.mod.
21438 (crypto_mod_SOURCES): New variable.
21439 (crypto_mod_CFLAGS): Likewise.
21440 (crypto_mod_LDFLAGS): Likewise.
21441 (hashsum_mod_SOURCES): New variable.
21442 (hashsum_mod_CFLAGS): Likewise.
21443 (hashsum_mod_LDFLAGS): Likewise.
21444 (pbkdf2_mod_SOURCES): New variable.
21445 (pbkdf2_mod_CFLAGS): Likewise.
21446 (pbkdf2_mod_LDFLAGS): Likewise.
21447 (password_pbkdf2_mod_SOURCES): New variable.
21448 (password_pbkdf2_mod_CFLAGS): Likewise.
21449 (password_pbkdf2_mod_LDFLAGS): Likewise.
21450 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
21451 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
21452 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
21453 Include conf/gcry.rmk.
21454 * include/grub/auth.h: Rewritten.
21455 * include/grub/crypto.h: New file.
21456 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
21457 * include/grub/normal.h (read_crypto_list): New prototype.
21458 * lib/crypto.c: New file.
21459 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21460 * lib/pbkdf2.c: Likewise.
21461 * normal/auth.c (grub_auth_strcmp): Removed.
21462 (grub_iswordseparator): Likewise.
21463 (grub_auth_strword): Likewise.
21464 (is_authenticated): Use grub_strword.
21465 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
21466 and grub_strword. Pass entered password to authentication callback.
21467 * normal/crypto.c: New file.
21468 * normal/main.c: Call read_crypto_list.
21469 * util/grub-mkpasswd-pbkdf2.c: New file.
21470 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
21471
42841caa
VS
214722010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
21473
21474 Fix descent and ascent calculation.
21475
21476 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
21477 (options): New option "asce".
21478 (usage): Likewise.
21479 (add_char): Ignore invalid glyphs for descent calculation.
21480 Calculate ascent from actual content.
21481 (print_glyphs): Use 'asce'.
21482 (write_font): Likewise. Allow ascent override.
21483 (main): Handle "asce" option.
21484
e7730de7 214852010-01-06 Carles Pina i Estany <carles@pina.cat>
21486
21487 * kern/err.c: Include `<grub/i18n.h>'.
21488 (grub_print_error): Add full stop. Gettextizze.
21489 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21490 (grub_bsd_load_elf): Capitalise ELF.
21491 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21492 (grub_cmd_freebsd_module): Likewise.
21493 (grub_cmd_freebsd_module_elf): Likewise.
21494 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21495
40e3a41f 214962010-01-06 Carles Pina i Estany <carles@pina.cat>
21497
21498 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21499 * commands/search_file.c (HELP_MESSAGE): New macro.
21500 * commands/search_label.c (HELP_MESSAGE): Likewise.
21501 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21502 * po/POTFILES: Add `commands/search_file.c',
21503 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21504 `commands/search.c'.
21505
83507e68
RM
215062010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21507
21508 * config.rpath: Update from Gnulib.
21509
465c787b
YB
215102010-01-05 Yves Blusseau <blusseau@zetam.org>
21511
21512 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21513
6581dd3a
YB
215142010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21515
21516 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21517
3bff18c5
CW
215182010-01-05 Colin Watson <cjwatson@ubuntu.com>
21519
21520 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21521 arguments to fread so that we get a return value in bytes, rather
21522 than something that will normally be rounded down to 0.
21523 Adjust error handling to avoid producing garbage when size_t is not
21524 the same size as long long.
21525
a1368118
CW
215262010-01-05 Colin Watson <cjwatson@ubuntu.com>
21527
21528 * util/mkisofs/write.c (padblock_write): Check return value of
21529 fread.
21530
7c302978
RM
215312010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21532
21533 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21534 floppy images now.
21535
21536 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21537
e33ace06
RM
215382010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21539
21540 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21541 instead of manual alignment.
21542 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21543 verbose). Avoid attempts to read past end of the device
21544 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21545 but GRUB_DISK_CACHE_SIZE may exceed that).
21546
4b856776
RM
215472010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21548
21549 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21550 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21551 it to upper layer.
21552
52c2d97f
VS
215532010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21554
21555 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21556 New constant.
21557 (grub_efi_piwg_device_path): New structure
21558 (grub_efi_piwg_device_path_t): New type.
21559 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21560 (devpath_1): Transform to a structure. All users updated.
21561 (devpath_2): Likewise.
21562 (devpath_3): Likewise.
21563 (devpath_4): Likewise.
21564 (devpath_5): Likewise.
21565
98ff6a54
VS
215662010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21567
21568 * loader/efi/appleloader.c: Restored. Update all users.
21569
3a73dcb6
RM
215702010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21571
21572 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21573
21574 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21575 (struct boot_blocklist): Move from here ...
21576 * include/grub/i386/pc/boot.h [ASM_FILE]
21577 (struct grub_boot_blocklist): ... to here. Update all users.
21578 (setup): Only initialize `start' member of `first_block'
21579 structure. Add assert() calls to verify the other members.
21580
21581 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21582 (generate_image): Fix broken blocklist length initialization.
21583 Add assert() call to verify blocklist `segment' field.
21584
ab0eeb0c
RM
215852010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21586
21587 * loader/efi/appleloader.c: Remove. Update all users.
21588
58bc8bd5
RM
215892010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21590
21591 * boot/i386/pc/boot.S: Update copyright year.
21592 * boot/i386/pc/cdboot.S: Likewise.
21593 * boot/i386/pc/diskboot.S: Likewise.
21594 * boot/i386/pc/lnxboot.S: Likewise.
21595 * boot/i386/pc/pxeboot.S: Likewise.
21596 * bus/pci.c: Likewise.
21597 * commands/cmp.c: Likewise.
21598 * commands/help.c: Likewise.
21599 * commands/hexdump.c: Likewise.
21600 * commands/i386/pc/halt.c: Likewise.
21601 * commands/i386/pc/play.c: Likewise.
21602 * commands/i386/pc/vbeinfo.c: Likewise.
21603 * commands/ls.c: Likewise.
21604 * commands/test.c: Likewise.
21605 * disk/dmraid_nvidia.c: Likewise.
21606 * disk/i386/pc/biosdisk.c: Likewise.
21607 * disk/ieee1275/nand.c: Likewise.
21608 * disk/ieee1275/ofdisk.c: Likewise.
21609 * disk/lvm.c: Likewise.
21610 * disk/raid.c: Likewise.
21611 * disk/raid6_recover.c: Likewise.
21612 * disk/scsi.c: Likewise.
21613 * fs/affs.c: Likewise.
21614 * fs/cpio.c: Likewise.
21615 * fs/ext2.c: Likewise.
21616 * fs/hfs.c: Likewise.
21617 * fs/iso9660.c: Likewise.
21618 * fs/ntfs.c: Likewise.
21619 * fs/sfs.c: Likewise.
21620 * fs/udf.c: Likewise.
21621 * fs/ufs.c: Likewise.
21622 * fs/xfs.c: Likewise.
21623 * gencmdlist.sh: Likewise.
21624 * genmk.rb: Likewise.
21625 * include/grub/disk.h: Likewise.
21626 * include/grub/efi/api.h: Likewise.
21627 * include/grub/efi/efi.h: Likewise.
21628 * include/grub/efi/pe32.h: Likewise.
21629 * include/grub/elf.h: Likewise.
21630 * include/grub/fs.h: Likewise.
21631 * include/grub/i386/at_keyboard.h: Likewise.
21632 * include/grub/i386/pc/memory.h: Likewise.
21633 * include/grub/i386/pc/vbe.h: Likewise.
21634 * include/grub/i386/pci.h: Likewise.
21635 * include/grub/i386/tsc.h: Likewise.
21636 * include/grub/ieee1275/ieee1275.h: Likewise.
21637 * include/grub/ntfs.h: Likewise.
21638 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21639 * include/grub/sparc64/libgcc.h: Likewise.
21640 * include/grub/symbol.h: Likewise.
21641 * include/grub/types.h: Likewise.
21642 * include/multiboot2.h: Likewise.
21643 * io/gzio.c: Likewise.
21644 * kern/device.c: Likewise.
21645 * kern/disk.c: Likewise.
21646 * kern/efi/efi.c: Likewise.
21647 * kern/efi/mm.c: Likewise.
21648 * kern/elf.c: Likewise.
21649 * kern/file.c: Likewise.
21650 * kern/i386/dl.c: Likewise.
21651 * kern/i386/pc/init.c: Likewise.
21652 * kern/i386/pc/startup.S: Likewise.
21653 * kern/ieee1275/ieee1275.c: Likewise.
21654 * kern/ieee1275/init.c: Likewise.
21655 * kern/main.c: Likewise.
21656 * kern/mm.c: Likewise.
21657 * kern/powerpc/dl.c: Likewise.
21658 * kern/sparc64/dl.c: Likewise.
21659 * kern/x86_64/dl.c: Likewise.
21660 * lib/hexdump.c: Likewise.
21661 * loader/efi/appleloader.c: Likewise.
21662 * loader/i386/ieee1275/linux.c: Likewise.
21663 * loader/i386/pc/chainloader.c: Likewise.
21664 * loader/i386/pc/linux.c: Likewise.
21665 * loader/i386/pc/multiboot2.c: Likewise.
21666 * loader/ieee1275/multiboot2.c: Likewise.
21667 * loader/multiboot2.c: Likewise.
21668 * loader/multiboot_loader.c: Likewise.
21669 * loader/powerpc/ieee1275/linux.c: Likewise.
21670 * normal/completion.c: Likewise.
21671 * normal/menu_entry.c: Likewise.
21672 * partmap/apple.c: Likewise.
21673 * util/grub.d/10_hurd.in: Likewise.
21674 * util/hostfs.c: Likewise.
21675 * video/readers/png.c: Likewise.
21676
e2d70b5c
CW
216772010-01-03 Colin Watson <cjwatson@ubuntu.com>
21678
21679 * include/grub/misc.h (GNUC_PREREQ): New macro.
21680 (ATTRIBUTE_ERROR): New macro.
21681 * include/grub/list.h (grub_bad_type_cast_real): Use
21682 ATTRIBUTE_ERROR.
21683
a173283f 216842010-01-03 Carles Pina i Estany <carles@pina.cat>
21685
21686 * normal/menu_text.c (print_message): Change messages.
21687
7fa7ff74 216882010-01-03 Carles Pina i Estany <carles@pina.cat>
21689
21690 * normal/menu_entry.c (store_completion): Gettextizze.
21691
136d24f6 216922010-01-03 Carles Pina i Estany <carles@pina.cat>
21693
21694 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
21695
f936862e 216962010-01-03 Carles Pina i Estany <carles@pina.cat>
21697
21698 * po/POTFILES: Sort correctly.
21699
29c44ad1 217002010-01-03 Carles Pina i Estany <carles@pina.cat>
21701
21702 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
21703 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
21704 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
21705 full stop.
21706 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
21707 summary. Gettextizze the strings.
21708 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
21709 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
21710 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
21711 full stop.
21712 (GRUB_MOD_INIT): Remove command name from summary.
21713 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
21714 summary.
21715 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
21716 * term/i386/pc/serial.c (options): Add full stops.
21717 (GRUB_MOD_INIT): Remove command name from the summary.
21718
77a79592 217192010-01-03 Carles Pina i Estany <carles@pina.cat>
21720
21721 * commands/acpi.c: Gettextizze help strings and/or options. Include
21722 `grub/i18n.h' if needed.
21723 * commands/blocklist.c: Likewise.
21724 * commands/boot.c: Likewise.
21725 * commands/cat.c: Likewise.
21726 * commands/cmp.c: Likewise.
21727 * commands/configfile.c: Likewise.
21728 * commands/crc.c: Likewise.
21729 * commands/date.c: Likewise.
21730 * commands/echo.c: Likewise.
21731 * commands/efi/fixvideo.c: Likewise.
21732 * commands/efi/loadbios.c: Likewise.
21733 * commands/gptsync.c: Likewise.
21734 * commands/halt.c: Likewise.
21735 * commands/handler.c: Likewise.
21736 * commands/hdparm.c: Likewise.
21737 * commands/hexdump.c: Likewise.
21738 * commands/i386/cpuid.c: Likewise.
21739 * commands/i386/pc/drivemap.c: Likewise.
21740 * commands/i386/pc/halt.c: Likewise.
21741 * commands/i386/pc/pxecmd.c: Likewise.
21742 * commands/i386/pc/vbeinfo.c: Likewise.
21743 * commands/i386/pc/vbetest.c: Likewise.
21744 * commands/ieee1275/suspend.c: Likewise.
21745 * commands/keystatus.c: Likewise.
21746 * commands/loadenv.c: Likewise.
21747 * commands/ls.c: Likewise.
21748 * commands/lsmmap.c: Likewise.
21749 * commands/lspci.c: Likewise.
21750 * commands/memrw.c: Likewise.
21751 * commands/minicmd.c: Likewise.
21752 * commands/parttool.c: Likewise.
21753 * commands/password.c: Likewise.
21754 * commands/probe.c: Likewise.
21755 * commands/read.c: Likewise.
21756 * commands/reboot.c: Likewise.
21757 * commands/search.c: Likewise.
21758 * commands/sleep.c: Likewise.
21759 * commands/test.c: Likewise.
21760 * commands/true.c: Likewise.
21761 * commands/usbtest.c: Likewise.
21762 * commands/videotest.c: Likewise.
21763 * commands/xnu_uuid.c: Likewise.
21764 * disk/loopback.c: Likewise.
21765 * hello/hello.c: Likewise.
21766 * loader/i386/bsd.c: Likewise.
21767 * term/i386/pc/serial.c: Likewise.
21768 * po/POTFILES: Add new files.
21769
da8d5c53
CW
217702010-01-02 Colin Watson <cjwatson@ubuntu.com>
21771
21772 * term/i386/pc/at_keyboard.c
21773 (keyboard_controller_wait_untill_ready): Rename to ...
21774 (keyboard_controller_wait_until_ready): ... this. Update all users.
21775
33937904 217762010-01-01 Carles Pina i Estany <carles@pina.cat>
21777
21778 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
21779 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
21780 string using string width.
21781 * normal/menu_text.c (grub_print_message_indented): Use
21782 grub_print_spaces and not print_spaces.
21783 (print_timeout): Likewise.
21784 (print_spaces): Move to...
21785 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
21786
3fd3b8d8
RM
217872010-01-01 Robert Millan <rmh.grub@aybabtu.com>
21788
21789 Import from Gnulib.
21790
21791 * gnulib/getdelim.c: New file.
21792 * gnulib/getline.c: Likewise.
21793
33433555
VS
217942009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
21795
21796 * include/grub/list.h (grub_assert_fail): Removed.
21797 (grub_bad_type_cast_real): New function.
21798 (grub_bad_type_cast): New macro.
21799 (GRUB_AS_LIST): Use grub_bad_type_cast.
21800 (GRUB_AS_LIST_P): Likewise.
e44721e8 21801 (GRUB_AS_NAMED_LIST): Likewise.
33433555 21802 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 21803 (GRUB_AS_PRIO_LIST): Likewise.
33433555 21804 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 21805 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 21806
f5a51306
VS
218072009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
21808
21809 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
21810 Fix syntax error.
21811
90d1e879
RM
218122009-12-29 Robert Millan <rmh.grub@aybabtu.com>
21813
21814 * configure.ac: Check for TARGET_CFLAGS initialization before we
21815 initialize it ourselves (sigh).
21816 Move a few modifications to TARGET_CFLAGS to be unconditional
21817 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
21818 eh_frame)
21819
21820 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
21821 * term/i386/pc/at_keyboard.c
21822 (keyboard_controller_wait_untill_ready): Likewise.
21823 (keyboard_controller_led): Rename `led_status' paramter to avoid
21824 name conflict.
21825
465b5a81 218262009-12-28 Carles Pina i Estany <carles@pina.cat>
21827
21828 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
21829 quotes.
21830
c181849b
VS
218312009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21832
21833 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
21834
9c8739a4
VS
218352009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21836
21837 * normal/menu_text.c (grub_print_message_indented): Prevent
21838 past-the-end-of-array dereference.
21839
3e74249c
VS
218402009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21841
21842 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
21843 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
21844
64fd18ed 218452009-12-27 Carles Pina i Estany <carles@pina.cat>
21846
21847 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
21848 * normal/main.c (grub_normal_read_line): Remove a space from the
21849 default prompt.
21850
714af9b9 218512009-12-27 Carles Pina i Estany <carles@pina.cat>
21852
21853 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
21854 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21855 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21856 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21857 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21858 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21859 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21860
82f3e412 218612009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 21862
21863 * video/readers/jpeg.c (cmd): Declare.
21864 (grub_cmd_jpegtest): Use `grub_command_t' type.
21865 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21866 Assign to `cmd'.
21867 (GRUB_MOD_FINI): Use `cmd' to unregister.
21868 * video/readers/png.c (cmd): Declare.
21869 (grub_cmd_pngtest): Use `grub_command_t' type.
21870 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21871 Assign to `cmd'.
21872 (GRUB_MOD_FINI): Use `cmd' to unregister.
21873 * video/readers/tga.c (cmd): Declare.
21874 (grub_cmd_tgatest): 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
82f3e412 218792009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 21880
21881 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
21882 stops.
21883 * kern/corecmd.c (grub_register_core_commands): Likewise.
21884 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
21885 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21886 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
21887 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21888 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21889 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
21890 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21891 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
21892 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21893 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21894 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21895 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21896 * normal/handler.c (insert_handler): Likewise.
21897 * normal/main.c (GRUB_MOD_INIT): Likewise.
21898 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21899
fdcdbb66 219002009-12-26 Carles Pina i Estany <carles@pina.cat>
21901
21902 * commands/help.c (grub_cmd_help): Print the command name before the
21903 summary.
21904 (GRUB_MOD_INIT): Remove command name from the summary.
21905 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 21906 string as summary.
fdcdbb66 21907 * lib/arg.c (find_long): Print the command name before the summary.
21908 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
21909 summary.
21910 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
21911 * commands/cat.c (GRUB_MOD_INIT): Likewise.
21912 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
21913 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21914 * commands/crc.c (GRUB_MOD_INIT): Likewise.
21915 * commands/date.c (GRUB_MOD_INIT): Likewise.
21916 * commands/echo.c (GRUB_MOD_INIT): Likewise.
21917 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
21918 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21919 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21920 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
21921 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
21922 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
21923 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
21924 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21925 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
21926 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
21927 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
21928 * commands/ls.c (GRUB_MOD_INIT): Likewise.
21929 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21930 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21931 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21932 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
21933 * commands/password.c (GRUB_MOD_INIT): Likewise.
21934 * commands/probe.c (GRUB_MOD_INIT): Likewise.
21935 * commands/read.c (GRUB_MOD_INIT): Likewise.
21936 * commands/search.c (GRUB_MOD_INIT): Likewise.
21937 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
21938 * commands/test.c (GRUB_MOD_INIT): Likewise.
21939 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
21940 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21941 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21942 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
21943 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21944 * lib/arg.c (GRUB_MOD_INIT): Likewise.
21945 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
21946 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21947 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21948 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21949 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21950 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
21951 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
21952 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
21953
9c288be2
VS
219542009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21955
21956 Use search command for preliminar UUID search.
21957
21958 * commands/search.c: Split into ...
21959 * commands/search_wrap.c: ...this
21960 * commands/search.c: ...and this.
21961 * commands/search_file.c: New file.
21962 * commands/search_label.c: New file.
21963 * commands/search_uuid.c: New file.
21964 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
21965 Add commands/search_wrap.c, commands/search_file.c,
21966 commands/search_label.c and commands/search_uuid.c.
21967 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
21968 (search_mod_SOURCES): Set to commands/search_wrap.c.
21969 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
21970 search_label.mod.
21971 (search_fs_file_mod_SOURCES): New variable.
21972 (search_fs_file_mod_CFLAGS): Likewise.
21973 (search_fs_file_mod_LDFLAGS): Likewise.
21974 (search_label_mod_SOURCES): Likewise.
21975 (search_label_mod_CFLAGS): Likewise.
21976 (search_label_mod_LDFLAGS): Likewise.
21977 (search_fs_uuid_mod_SOURCES): New variable.
21978 (search_fs_uuid_mod_CFLAGS): Likewise.
21979 (search_fs_uuid_mod_LDFLAGS): Likewise.
21980 (fs_file_mod_SOURCES): Removed.
21981 (fs_file_mod_CFLAGS): Likewise.
21982 (fs_file_mod_LDFLAGS): Likewise.
21983 (fs_uuid_mod_SOURCES): Removed.
21984 (fs_uuid_mod_CFLAGS): Likewise.
21985 (fs_uuid_mod_LDFLAGS): Likewise.
21986 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
21987 Set to util/grub-install.in.
21988 * disk/fs_file.c: Removed.
21989 * disk/fs_uuid.c: Likewise.
21990 * include/grub/search.h: New file.
21991 * util/grub-install.in: Handle sparc64.
21992 Create and use load.cfg.
21993 * util/sparc64/ieee1275/grub-install.in: Removed.
21994
db943399
VS
219952009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21996
21997 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
21998 Ignore return status if CF is cleared.
21999 (grub_biosdisk_get_diskinfo_standard): Likewise.
22000
3fdae612
RM
220012009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22002
22003 * term/i386/pc/at_keyboard.c
22004 (keyboard_controller_wait_untill_ready): New function.
22005 (grub_keyboard_controller_write, grub_keyboard_controller_read)
22006 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
22007 for keyboard polling, rather than duplicate the same loop. This
22008 saves a few bytes in code size.
22009
7ebaa2b4
VS
220102009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22011
22012 Support for (pxe[:server[:gateway]]) syntax and
22013 use environment variable for PXE.
22014
22015 * commands/i386/pc/pxecmd.c (options): Removed.
22016 (print_ip): Removed.
22017 (grub_cmd_pxe): Removed
22018 (grub_cmd_pxe_unload): New function.
22019 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
22020 (grub_pxe_your_ip): Made static.
22021 (grub_pxe_default_server_ip): Likewise.
22022 (grub_pxe_default_gateway_ip): Likewise.
22023 (grub_pxe_blksize): Likewise.
22024 (parse_ip): New function.
22025 (grub_pxe_open): Support server and gateway specification.
22026 (grub_pxe_close): Free disk->data.
22027 (grub_pxefs_open): Use disk->data.
22028 (grub_pxefs_read): Likewise.
22029 (grub_env_write_readonly): New function.
22030 (set_mac_env): Likewise.
22031 (set_env_limn_ro): Likewise.
22032 (parse_dhcp_vendor): Likewise.
22033 (grub_pxe_detect): Set the environment variables.
22034 (set_ip_env): New function.
22035 (write_ip_env): Likewise.
22036 (grub_env_write_pxe_default_server): Likewise.
22037 (grub_env_write_pxe_default_gateway): Likewise.
22038 (grub_env_write_pxe_blocksize): Likewise.
22039 (GRUB_MOD_INIT(pxe)): Set environment variables.
22040 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
22041 (grub_pxe_mac_addr_t): ... this. All users updated.
22042 (grub_pxe_your_ip): Removed.
22043 (grub_pxe_server_ip): Likewise.
22044 (grub_pxe_gateway_ip): Likewise.
22045 (grub_pxe_blksize): Likewise.
22046
ec5f98ab 220472009-12-25 Carles Pina i Estany <carles@pina.cat>
22048
22049 * commands/help.c: Include `<grub/i18n.h>'.
22050 (grub_cmd_help): Gettextizze.
22051 (GRUB_MOD_INIT): Likewise.
22052 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
22053 (GRUB_MOD_INIT): Gettextizze.
22054 * commands/search.c: Include `<grub/i18n.h>'.
22055 (options): Gettextizze.
22056 (GRUB_MOD_INIT): Gettextizze.
22057 * lib/arg.c: Include `<grub/i18n.h>'.
22058 (help_options): Gettextizze.
22059 (find_long): Likewise.
22060 (grub_arg_show_help): Likewise.
22061 * normal/dyncmd.c: Include `<grub/i18n.h>'.
22062 (read_command_list): Gettextizze.
22063 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 22064 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 22065
22815526
RM
220662009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22067
22068 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
22069 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
22070 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
22071 (led_status): New variable.
22072 (keyboard_controller_led): New function.
22073 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
22074 update led status for caps lock, num lock and scroll lock.
22075
0ad46fd7
FZ
220762009-12-25 Felix Zielcke <fzielcke@z-51.de>
22077
22078 * util/hostdisk.c (open_device): Fix a comment.
22079
d0e158c2
RM
220802009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22081
22082 * util/grub-install.in (host_os): New variable.
22083 * util/i386/efi/grub-install.in (host_os): Likewise.
22084
401c0ad6
RM
220852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22086
22087 * util/mkisofs/write.c (padblock_write): Abort when given an
22088 excedingly large embed image, instead of silently truncating it.
22089
d14d3370
RM
220902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22091
22092 * include/multiboot.h: Indentation fixes.
22093
eeed10b4
RM
220942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22095
22096 * include/multiboot.h (struct multiboot_aout_symbol_table)
22097 (struct multiboot_elf_section_header_table): New structure
22098 declarations (stolen from GRUB Legacy).
22099 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
22100 table information.
22101
22102 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
22103 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
22104 type aliases.
22105
681c70ab
RM
221062009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22107
22108 * include/multiboot.h: Make comments src2texi-friendly.
22109
e4d47d8d
RM
221102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22111
22112 For consistency with [multiboot]/docs/boot.S.
22113
22114 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
22115 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
22116 (MULTIBOOT_MAGIC2): Rename from this ...
22117 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
22118
a0b70bda
RM
221192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22120
22121 * include/multiboot.h: Remove `<grub/types.h>'.
22122 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
22123 types. Update all users.
22124
61ba42be 221252009-12-25 Carles Pina i Estany <carles@pina.cat>
22126
22127 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
22128 `couldn't' and `can not' by `cannot'.
22129 * commands/i386/pc/drivemap.c: Likewise.
22130 * disk/ata.c: Likewise.
22131 * disk/ieee1275/nand.c: Likewise.
22132 * fs/affs.c: Likewise.
22133 * fs/fat.c: Likewise.
22134 * fs/hfs.c: Likewise.
22135 * fs/hfsplus.c: Likewise.
22136 * fs/iso9660.c: Likewise.
22137 * fs/jfs.c: Likewise.
22138 * fs/minix.c: Likewise.
22139 * fs/reiserfs.c: Likewise.
22140 * fs/sfs.c: Likewise.
22141 * fs/udf.c: Likewise.
22142 * fs/ufs.c: Likewise.
22143 * fs/xfs.c: Likewise.
22144 * loader/powerpc/ieee1275/linux.c: Likewise.
22145 * loader/sparc64/ieee1275/linux.c: Likewise.
22146 * util/grub-probe.c: Likewise.
22147 * util/misc.c: Likewise.
22148
7fd0baee 221492009-12-24 Carles Pina i Estany <carles@pina.cat>
22150
22151 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
22152 grub_errno calls.
22153 * commands/acpi.c: Likewise.
22154 * commands/blocklist.c: Likewise.
22155 * commands/efi/loadbios.c: Likewise.
22156 * commands/i386/pc/drivemap.c: Likewise.
22157 * commands/loadenv.c: Likewise.
22158 * commands/memrw.c: Likewise.
22159 * commands/password.c: Likewise.
22160 * commands/videotest.c: Likewise.
22161 * disk/ata.c: Likewise.
22162 * disk/ata_pthru.c: Likewise.
22163 * disk/dmraid_nvidia.c: Likewise.
22164 * disk/ieee1275/nand.c: Likewise.
22165 * disk/ieee1275/ofdisk.c: Likewise.
22166 * disk/loopback.c: Likewise.
22167 * disk/lvm.c: Likewise.
22168 * disk/mdraid_linux.c: Likewise.
22169 * disk/raid.c: Likewise.
22170 * disk/raid6_recover.c: Likewise.
22171 * disk/scsi.c: Likewise.
22172 * efiemu/main.c: Likewise.
22173 * efiemu/mm.c: Likewise.
22174 * efiemu/pnvram.c: Likewise.
22175 * efiemu/symbols.c: Likewise.
22176 * font/font.c: Likewise.
22177 * fs/cpio.c: Likewise.
22178 * fs/hfsplus.c: Likewise.
22179 * fs/iso9660.c: Likewise.
22180 * fs/jfs.c: Likewise.
22181 * fs/minix.c: Likewise.
22182 * fs/ntfs.c: Likewise.
22183 * fs/ntfscomp.c: Likewise.
22184 * fs/reiserfs.c: Likewise.
22185 * fs/ufs.c: Likewise.
22186 * fs/xfs.c: Likewise.
22187 * gettext/gettext.c: Likewise.
22188 * include/grub/auth.h: Likewise.
22189 * kern/elf.c: Likewise.
22190 * kern/file.c: Likewise.
22191 * kern/ieee1275/init.c: Likewise.
22192 * kern/ieee1275/mmap.c: Likewise.
22193 * kern/ieee1275/openfw.c: Likewise.
22194 * kern/powerpc/dl.c: Likewise.
22195 * kern/sparc64/dl.c: Likewise.
22196 * lib/arg.c: Likewise.
22197 * loader/i386/bsd.c: Likewise.
22198 * loader/i386/bsdXX.c: Likewise.
22199 * loader/i386/efi/linux.c: Likewise.
22200 * loader/i386/efi/xnu.c: Likewise.
22201 * loader/i386/ieee1275/linux.c: Likewise.
22202 * loader/i386/linux.c: Likewise.
22203 * loader/i386/multiboot.c: Likewise.
22204 * loader/i386/pc/linux.c: Likewise.
22205 * loader/i386/pc/multiboot2.c: Likewise.
22206 * loader/i386/xnu.c: Likewise.
22207 * loader/ieee1275/multiboot2.c: Likewise.
22208 * loader/macho.c: Likewise.
22209 * loader/machoXX.c: Likewise.
22210 * loader/multiboot2.c: Likewise.
22211 * loader/multiboot_loader.c: Likewise.
22212 * loader/powerpc/ieee1275/linux.c: Likewise.
22213 * loader/sparc64/ieee1275/linux.c: Likewise.
22214 * loader/xnu.c: Likewise.
22215 * loader/xnu_resume.c: Likewise.
22216 * mmap/i386/pc/mmap.c: Likewise.
22217 * normal/menu_viewer.c: Likewise.
22218 * partmap/acorn.c: Likewise.
22219 * partmap/amiga.c: Likewise.
22220 * partmap/apple.c: Likewise.
22221 * script/lexer.c: Likewise.
22222 * term/gfxterm.c: Likewise.
22223 * term/i386/pc/serial.c: Likewise.
22224 * term/i386/pc/vga.c: Likewise.
22225 * term/ieee1275/ofconsole.c: Likewise.
22226 * term/terminfo.c: Likewise.
22227 * video/bitmap.c: Likewise.
22228 * video/efi_gop.c: Likewise.
22229 * video/efi_uga.c: Likewise.
22230 * video/fb/video_fb.c: Likewise.
22231 * video/i386/pc/vbe.c: Likewise.
22232 * video/readers/tga.c: Likewise.
22233 * video/video.c: Likewise.
22234
0ad46fd7 222352009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
22236
22237 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
22238 * commands/lspci.c: Likewise.
22239 * commands/probe.c: Likewise.
22240 * commands/xnu_uuid.c: Likewise.
22241 * conf/i386-coreboot.rmk: Likewise.
22242 * conf/i386-efi.rmk: Likewise.
22243 * conf/i386-ieee1275.rmk: Likewise.
22244 * conf/i386-pc.rmk: Likewise.
22245 * conf/powerpc-ieee1275.rmk: Likewise.
22246 * conf/sparc64-ieee1275.rmk: Likewise.
22247 * conf/x86_64-efi.rmk: Likewise.
22248 * fs/i386/pc/pxe.c: Likewise.
22249 * gettext/gettext.c: Likewise.
22250 * include/grub/efi/graphics_output.h: Likewise.
22251 * include/grub/i386/pc/memory.h: Likewise.
22252 * kern/env.c: Likewise.
22253 * kern/i386/qemu/startup.S: Likewise.
22254 * lib/i386/pc/biosnum.c: Likewise.
22255 * lib/i386/relocator.c: Likewise.
22256 * lib/i386/relocator_asm.S: Likewise.
22257 * lib/relocator.c: Likewise.
22258 * loader/i386/bsd.c: Likewise.
22259 * loader/i386/multiboot.c: Likewise.
22260 * loader/i386/pc/chainloader.c: Likewise.
22261 * loader/i386/xnu.c: Likewise.
22262 * loader/xnu.c: Likewise.
22263 * normal/main.c: Likewise.
22264 * normal/menu_text.c: Likewise.
22265 * util/getroot.c: Likewise.
22266 * util/grub-mkconfig_lib.in: Likewise.
22267 * util/grub.d/00_header.in: Likewise.
22268 * util/i386/pc/grub-mkimage.c: Likewise.
22269 * util/mkisofs/eltorito.c: Likewise.
22270 * util/mkisofs/exclude.h: Likewise.
22271 * util/mkisofs/hash.c: Likewise.
22272 * util/mkisofs/iso9660.h: Likewise.
22273 * util/mkisofs/joliet.c: Likewise.
22274 * util/mkisofs/mkisofs.c: Likewise.
22275 * util/mkisofs/mkisofs.h: Likewise.
22276 * util/mkisofs/multi.c: Likewise.
22277 * util/mkisofs/name.c: Likewise.
22278 * util/mkisofs/rock.c: Likewise.
22279 * util/mkisofs/tree.c: Likewise.
22280 * util/mkisofs/write.c: Likewise.
22281 * video/efi_gop.c: Likewise.
22282
009ec743
VS
222832009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
22284
22285 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
22286 size counting.
22287
0ad46fd7 222882009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
22289
22290 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
22291 * genmk.rb (class SCRIPT): Modify the target file instead of source.
22292
d3d30ea0
VS
222932009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
22296 (GRUB_MOD_INIT(memrw)): Update help line.
22297
a34f5c70
VS
222982009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22299
22300 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
22301 Use grub_extcmd_t. All users updated.
22302 (options): New variable.
22303 (grub_cmd_read): Restructure for readability. Support "-v" option.
22304 (grub_cmd_write): Restructure for readability.
22305
0ad46fd7 223062009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
22307
22308 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
22309
0ad46fd7 223102009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
22311
22312 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
22313 with the actual contents of the correspondending make variable.
22314 * util/grub-mkrescue.in (pkglib_DATA): New variable.
22315 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
22316 specifying `*.lst' and `efiemu??.o'
22317
0ad46fd7 223182009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
22319
22320 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
22321 after function name.
22322 Noticed by Rene Engelhard <rene@debian.org>.
22323
dc77a799
VS
223242009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22325
22326 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
22327 (options): New variable.
22328 (iospace): Likewise.
22329 (grub_lspci_iter): List IO spaces if "-i" was given.
22330 (grub_cmd_lspci): Parse options.
22331 (GRUB_MOD_INIT(lspci)): Use extcmd.
22332 (GRUB_MOD_FINI(lspci)): Likewise.
22333
0ad46fd7 223342009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
22335
22336 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
22337 `function' keyword.
22338 Patch by Tony Mancill <tmancill@debian.org>.
22339
b5d5993b
VS
223402009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22341
22342 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
22343 (grub_uhci_portstatus): Likewise.
22344 (grub_uhci_portstatus): Add necessary delay.
11d18281 22345 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 22346
941903f2 223472009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 22348
941903f2 22349 * commands/acpi.c (options): Fix capitalizations and/or full stops.
22350 (GRUB_MOD_INIT): Likewise.
22351 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 22352 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
22353 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 22354 * commands/efi/loadbios.c (enable_rom_area): Likewise.
22355 (enable_rom_area): Likewise.
22356 (GRUB_MOD_INIT): Likewise.
22357 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22358 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
22359 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22360 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
22361 * commands/hexdump.c (options): Likewise.
22362 * commands/i386/cpuid.c (options): Likewise.
22363 (GRUB_MOD_INIT): Likewise.
22364 * commands/i386/pc/drivemap.c (options): Likewise.
22365 (GRUB_MOD_INIT): Likewise.
22366 * commands/i386/pc/halt (options): Likewise.
22367 (GRUB_MOD_INIT): Likewise.
22368 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22369 * commands/i386/pc/pxecmd.c (options): Likewise.
22370 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
22371 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
22372 * commands/keystatus.c (options): Likewise.
22373 (GRUB_MOD_INIT): Likewise.
22374 * commands/loadenv.c (options): Likewise.
22375 * commands/ls.c (options): Likewise.
22376 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22377 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22378 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22379 * commands/parttool.c (helpmsg): Likewise.
22380 * commands/probe.c (options): Likewise.
22381 * commands/read.c (GRUB_MOD_INIT): Likewise.
22382 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
22383 * commands/search.c (options): Likewise.
22384 * commands/sleep.c (options): Likewise.
22385 * commands/test.c (GRUB_MOD_INIT): Likewise.
22386 * commands/true.c (GRUB_MOD_INIT): Likewise.
22387 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
22388 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
22389 * lib/arg.c (help_options): Likewise.
e9bbb4e7 22390 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
22391 `$(XGETTEXT)'.
98a50553 22392 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 22393
0ad46fd7 223942009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 22395
ef3c2c3a 22396 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
22397 instead of specifying them explicit.
22398
7922f68b
RM
223992009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22400
22401 * NEWS: Add grub-probe support for GNU/Hurd.
22402
537ce47f
RM
224032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22404
22405 * NEWS: gettext was added after 1.97.
22406
9b214e3a
RM
224072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22408
22409 * util/mkisofs/msdos_partition.h: New file (based on
22410 include/grub/msdos_partition.h).
22411 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
22412 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
22413 (ld_options, main): Recognize --protective-msdos-label.
22414 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
22415 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
22416 (padblock_write): If `use_protective_msdos_label' is set, patch a
22417 protective DOS-style label in the output image.
22418
22419 * util/grub-mkrescue.in: Use --protective-msdos-label.
22420
e9309813
RM
224212009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22422
22423 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
22424 boot.
22425
0ae56929
RM
224262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22427
22428 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
22429 variables.
22430 (ld_options, main): Recognize `--embedded-boot'.
22431 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
22432 declarations.
22433 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
22434 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
22435 (padblock_write): Likewise. Rewrite to support embedded boot image.
22436
22437 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
22438 for BIOS-based disk boot instead of only ElTorito.
22439
b15937b1
RM
224402009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22441
22442 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
22443 build (not needed for bootstrap).
22444
52cc3ce0
RM
224452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22446
22447 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
22448 from i386-pc build (not needed for bootstrap).
22449 Rewrite a pair of strings.
22450
36f5ff04
RM
224512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22452
22453 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
22454
973c6c85 224552009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
22456
22457 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
22458
05d21547
AB
224592009-12-21 Andreas Born <futur.andy@googlemail.com>
22460
22461 * kern/env.c (grub_env_context_open): Mark exported variable for
22462 reexport.
22463
0175d51f
AB
224642009-12-21 Andreas Born <futur.andy@googlemail.com>
22465
22466 * kern/env.c (grub_env_export): Create nonexistent variables before
22467 exporting.
22468
7f39d92f 224692009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 22470
7f39d92f 22471 * include/grub/auth.h: Include `<grub/i18n.h>'.
22472 (GRUB_GET_PASSWORD): Gettextizze string.
22473 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
22474 menu_text.c.
22475 (grub_utf8_to_ucs4_alloc): Fix indentation.
22476 (grub_print_ucs4): Likewise.
22477 (grub_getstringwidth): Likewise.
22478 (print_message_indented): New declaration.
22479 * normal/auth.c: Include `<grub/i18n.h>'.
22480 (grub_auth_check_authentication): Gettexttize string.
22481 * normal/cmdline.c: Include `<grub/i18n.h>'.
22482 (grub_cmdline_get): Gettextizze.
22483 * normal/color.c: Include `<grub/i18n.h>'.
22484 (grub_parse_color_name_pair): Gettexttize strings.
22485 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22486 string (use `print_message_indented').
22487 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22488 `include/grub/normal.h'.
22489 (print_message_indented): Renamed to ...
22490 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22491 used in normal/main.c).
22492 (print_message): Use `grub_print_message_indented' instead of
22493 `print_message_indented'.
22494 (print_timeout): Likewise.
22495 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22496 (grub_normal_print_device_info): Gettexttize strings.
22497 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22498
3041d898
VS
224992009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22500
22501 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22502 of arguments. Return number of tokens and not arguments. All users
22503 updated.
22504
de15bf8e
VS
225052009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22506
22507 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22508 non-MSDOS paritions.
22509
e0a6ca52
VS
225102009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22511
22512 * include/grub/types.h (UNUSED): Removed since it conflicts with
22513 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22514 Reported by Grégoire Sutre.
22515
b99518d1 225162009-12-19 Carles Pina i Estany <carles@pina.cat>
22517
22518 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22519 (grub_print_ucs4_alloc): Likewise.
22520 (grub_getstringwidth): Likewise.
22521 * normal/main.c (grub_normal_init_page): Gettextize version string.
22522 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22523 (getstringwidth): Renamed to ...
22524 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22525 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22526 (grub_print_ucs4): Remove `static' qualifer (now used in
22527 normal/main.c).
22528 * po/POTFILES: Add normal/main.c.
22529
bfd5e52b 225302009-12-19 Carles Pina i Estany <carles@pina.cat>
22531
22532 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22533 (print_message_indented): Add `margin_left' and `margin_right'
22534 parameters.
22535 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22536 strings.
22537 (print_timeout): Use `print_message_indented' to print the message.
22538 Deletes `second_stage' parameter.
22539 (run_menu): Update `print_timeout' calls.
22540
5a1ad2b9
VS
225412009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22542
22543 Fix console palette on OpenFirmware.
22544
22545 * term/ieee1275/ofconsole.c (MAX): Removed.
22546 (colors): Redone based on VGA palette.
22547 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22548 colors are supported.
22549 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22550
b045f00a
VS
225512009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22552
22553 Fix potential EfiEmu double prepare.
22554
22555 * efiemu/main.c (prepared): New variable
22556 (grub_efiemu_unload): Set prepare to '0'.
22557 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22558
22559 set_virtual_address_map support.
22560
22561 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22562 prototype.
22563 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22564 prototype.
22565 (grub_efiemu_crc32): Likewise.
22566 (grub_efiemu_crc64): Likewise.
22567 (grub_efiemu_set_virtual_address_map): Likewise.
22568 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22569 New definition.
22570 (grub_autoefi_set_virtual_address_map): Likewise.
22571 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22572 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22573 Restructure flow to accomodate it.
22574 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22575 (grub_efiemu_crc): Recompute CRC32.
22576 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22577 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22578 * efiemu/symbols.c (relocated_handle): New variable.
22579 (grub_efiemu_free_syms): Free relocated_handle.
22580 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22581 (grub_efiemu_write_sym_markers): New function.
22582 (grub_efiemu_set_virtual_address_map): Likewise.
22583
22584 Newer XNU parameters.
22585
22586 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22587 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22588 (grub_xnu_fill_devicetree): New prototype.
22589 (grub_xnu_heap_real_start): New variable.
22590 * loader/xnu.c (get_name_ptr): New function.
22591 (grub_xnu_load_driver): Fill namelen and name.
22592
22593 64-bit xnu support.
22594
22595 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22596 and 'loader/macho64.c'.
22597 * conf/i386-pc.rmk: Likewise.
22598 * conf/x86_64-efi.rmk: Likewise.
22599 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22600 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22601 * include/grub/macho.h (grub_macho_segment64): New structure.
22602 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22603 (grub_macho_size32): ... to this.
22604 (grub_macho32_get_entry_point): Renamed from ...
22605 (grub_macho_get_entry_point32): ... to this.
22606 (grub_macho_contains_macho64): New prototype.
22607 (grub_macho_size64): Likewise.
22608 (grub_macho_get_entry_point64): Likewise.
22609 (grub_macho32_load): Renamed from ...
22610 (grub_macho_load32): ... to this.
22611 (grub_macho32_filesize): Renamed from ...
22612 (grub_macho_filesize32): ... to this.
22613 (grub_macho32_readfile): Renamed from ...
22614 (grub_macho_readfile32): ... to this.
22615 (grub_macho_filesize64): New prototype.
22616 (grub_macho_readfile64): Likewise.
22617 (grub_macho_parse32): Likewise.
22618 (grub_macho_parse64): Likewise.
22619 * loader/macho.c: Split into ...
22620 * loader/machoXX.c: ... and this. Replace 32 with XX.
22621 * loader/macho32.c: New file.
22622 * loader/macho64.c: Likewise.
22623 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22624 (grub_cmd_xnu_kernel): Make 32-bit only.
22625 (grub_cmd_xnu_kernel64): New function.
22626 (grub_xnu_load_driver): Support Mach-O 64.
22627 (grub_cmd_xnu_mkext): Likewise.
22628 * util/grub.d/30_os-prober.in (osx_entry): New function.
22629 Generate entries for 64-bit boot too.
22630
22631 Eliminate ad-hoc tree format in XNU and EfiEmu.
22632
22633 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22634 * efiemu/pnvram.c: Rewritten to use environment variables.
22635 All users updated.
22636
22637 Inline utf16_to_utf8.
22638
22639 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22640 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22641 All users updated.
22642 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22643
22644 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22645 * commands/usbtest.c (grub_usb_get_string): ... move here.
22646 (usb_print_str): Fix error handling.
22647 * include/grub/usb.h (grub_usb_get_string): Remove.
22648
22649 UTF-8 to UTF-16 transformation.
22650
22651 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22652 (charset_mod_SOURCES): New variable.
22653 (charset_mod_CFLAGS): Likewise.
22654 (charset_mod_LDFLAGS): Likewise.
22655 * include/grub/utf.h: New file.
22656 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22657
22658 Support for device properties.
22659
22660 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
22661 (grub_xnu_devprop_device_header): Likewise.
22662 (grub_xnu_devprop_device_descriptor): Likewise.
22663 (grub_xnu_devprop_add_device): New prototype.
22664 (grub_xnu_devprop_remove_device): Likewise.
22665 (grub_xnu_devprop_remove_property): Likewise.
22666 (grub_xnu_devprop_add_property_utf8): Likewise.
22667 (grub_xnu_devprop_add_property_utf16): Likewise.
22668 (grub_cpu_xnu_init): Likewise.
22669 (grub_cpu_xnu_fini): Likewise.
22670 (grub_cpu_xnu_unload): Likewise.
22671 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
22672 (property_descriptor): Likewise.
22673 (devices): New variable.
22674 (grub_xnu_devprop_remove_property): New function.
22675 (grub_xnu_devprop_add_device): Likewise.
22676 (grub_xnu_devprop_remove_device): Likewise.
22677 (grub_xnu_devprop_add_property): Likewise.
22678 (grub_xnu_devprop_add_property_utf8): Likewise.
22679 (grub_xnu_devprop_add_property_utf16): Likewise.
22680 (hextoval): Likewise.
22681 (grub_cpu_xnu_fill_devprop): Likewise.
22682 (grub_cmd_devprop_load): Likewise.
22683 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
22684 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
22685 (cmd_devprop_load): New variable.
22686 (grub_cpu_xnu_init): New function.
22687 (grub_cpu_xnu_fini): Likewise.
22688 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
22689 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
22690 (grub_cmd_xnu_devtree): Likewise.
22691 (hextoval): New function.
22692 (unescape): Likewise.
22693 (grub_xnu_fill_devicetree): Likewise.
22694
22695 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
22696 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
22697
0945f181
VS
226982009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22699
22700 Workaround for broken ATI VBE.
22701
22702 * video/i386/pc/vbe.c (last_set_mode): New variable.
22703 (grub_vbe_set_video_mode): Set 'last_set_mode'.
22704 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
22705 (grub_video_vbe_setup): Don't check for reserved flag.
22706
0ad46fd7 227072009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
22708
22709 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
22710 the `find' command.
22711
c179ebe4
VS
227122009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22713
22714 UUID support for HFS.
22715
22716 * fs/hfs.c (grub_hfs_uuid): New function.
22717 (grub_hfs_fs): New value .uuid.
22718 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
22719
0ad46fd7 227202009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
22721
22722 Fix a segfault with parsing unknown long options.
22723
22724 * util/grub-mkrelpath.c (options): Zero terminate it.
22725
c4a3e41a
CPE
227262009-12-13 Carles Pina i Estany <carles@pina.cat>
22727
22728 * include/grub/misc.h (grub_puts): New declaration.
22729 (grub_puts_): Likewise.
a22008a6 22730 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
22731 (grub_puts_): Likewise.
22732
2e8a7602
RM
227332009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22734
22735 * util/grub-probe.c (probe): Improve error message.
22736
b50b77b9
RM
227372009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22738
22739 * loader/i386/multiboot_elfxx.c
22740 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22741 initialization.
22742
227432009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22744
22745 Relocator framework
22746
22747 * loader/i386/xnu_helper.S: Removed. All users updated.
22748 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22749 (relocator_mod_SOURCES): New variable.
22750 (relocator_mod_CFLAGS): Likewise.
22751 (relocator_mod_LDFLAGS): Likewise.
22752 (relocator_mod_ASFLAGS): Likewise.
22753 * conf/x86_64.rmk: Likewise.
22754 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22755 (grub_multiboot_payload_entry_offset): Likewise.
22756 (grub_multiboot_forward_relocator): Likewise.
22757 (grub_multiboot_forward_relocator_end): Likewise.
22758 (grub_multiboot_backward_relocator): Likewise.
22759 (grub_multiboot_backward_relocator_end): Likewise.
22760 (grub_multiboot_payload_eip): New variable.
22761 (grub_multiboot_payload_orig): Likewise.
22762 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22763 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22764 * include/grub/i386/memory.h
22765 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
22766 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
22767 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
22768 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
22769 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
22770 * include/grub/i386/relocator.h: New file.
22771 * include/grub/x86_64/relocator.h: Likewise.
22772 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
22773 (XNU_RELOCATOR): New macro.
22774 (grub_xnu_launcher_start): Remove.
22775 (grub_xnu_launcher_end): Likewise.
22776 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
22777 (grub_xnu_heap_real_start): Remove.
22778 (grub_xnu_heap_start): Change to void *. All users updated.
22779 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
22780 * lib/i386/relocator.c: New file.
22781 * lib/i386/relocator_asm.S: Likewise.
22782 * lib/i386/relocator_backward.S: Likewise.
22783 * lib/mips/relocator.c: Likewise.
22784 * lib/mips/relocator_asm.S: Likewise.
22785 * lib/relocator.c: Likewise.
22786 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
22787 (entry): Removed.
22788 (playground): Likewise.
22789 (grub_multiboot_payload_orig): New variable.
22790 (grub_multiboot_payload_dest): Likewise.
22791 (grub_multiboot_payload_size): Likewise.
22792 (grub_multiboot_payload_eip): Likewise.
22793 (grub_multiboot_payload_esp): Likewise.
22794 (grub_multiboot_boot): Use grub_relocator32_boot.
22795 (grub_multiboot_unload): Free relocators.
22796 (grub_multiboot): Setup stack. Use relocators.
22797 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
22798 (grub_multiboot_load_elfXX): Use relocators.
22799 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
22800 (grub_multiboot_payload_size): Likewise.
22801 (grub_multiboot_payload_dest): Likewise.
22802 (grub_multiboot_payload_entry_offset): Likewise.
22803 (grub_multiboot_forward_relocator): Likewise.
22804 (grub_multiboot_backward_relocator): Likewise.
22805 (grub_multiboot_real_boot): Likewise.
22806 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
22807 (grub_xnu_entry_point): Likewise.
22808 (grub_xnu_arg1): Likewise.
22809 (grub_xnu_stack): Likewise.
22810 (grub_xnu_launch): Removed.
22811 (grub_xnu_boot_resume): New function.
22812 (grub_xnu_boot): Use relocators.
22813 * loader/i386/xnu_helper.S: Removed.
22814 * loader/xnu.c (grub_xnu_heap_start): New variable.
22815 (grub_xnu_heap_size): Likewise.
22816 (grub_xnu_heap_malloc): Use relocators.
22817 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
22818
29eb90c6
VS
228192009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22820
22821 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
22822 anything.
22823
31027430
CPE
228242009-12-13 Carles Pina i Estany <carles@pina.cat>
22825
22826 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
22827 GRUB_ERR_NONE before calling grub_env_set.
22828
dc0c71d9
RM
228292009-12-12 Robert Millan <rmh@aybabtu.com>
22830
22831 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
22832 * genmk.rb (video): New variable.
22833 (CLEANFILES, VIDEOFILES): Add #{video}.
22834 (#{video}): New target rule.
22835 * genvideolist.sh: New file.
22836 * Makefile.in (pkglib_DATA): Add video.lst.
22837 (video.lst): New target rule.
22838 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
22839 `video.lst'.
22840 * util/grub.d/30_os-prober.in: Replace `vbe' with
22841 ${GRUB_VIDEO_BACKEND}.
22842
2a4bfcf0
RM
228432009-12-11 Robert Millan <rmh.grub@aybabtu.com>
22844
22845 * THANKS: Add David Miller.
22846
2a3aa4d5
RM
228472009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
22848
22849 libpciaccess support.
22850
22851 * Makefile.in (LIBPCIACCESS): New variable.
22852 (enable_grub_emu_pci): Likewise.
22853 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
22854 util/pci.c and commands/lspci.c.
22855 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
22856 * configure.ac (grub-emu-pci): New option.
22857 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
22858 (grub_pci_device_unmap_range): Likewise.
22859 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
22860 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
22861 (grub_pci_address_t) [!GRUB_UTIL]: New type.
22862 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
22863 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
22864 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
22865 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
22866 * include/grub/pciutils.h: New file.
22867 * util/pci.c: Likewise.
22868
0ad46fd7 228692009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
22870
22871 * util/misc.c: Don't include <errno.h> twice.
22872
0ad46fd7 228732009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
22874
22875 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
22876 name in an error message.
22877 (grub_biosdisk_rw): Likewise.
22878
2e59983c
VS
228792009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22880
22881 Eliminate NTFS 4Gib barrier.
22882
22883 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
22884 (read_run_data): Likewise.
22885 (grub_ntfs_read_run_list): Likewise.
22886 (grub_ntfs_read_block): Likewise.
22887 (grub_ntfs_iterate_dir): Likewise.
22888 (read_mft): Likewise.
22889 (read_data): Likewise.
22890 Use COM_LOG_LEN.
22891 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
22892 to avoid 64-bit division
22893 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
22894 (grub_ntfs_rlst): Use grub_disk_addr_t.
22895
71ee178a
VS
228962009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22897
22898 Eliminate grub-fstest 4Gib barrier.
22899
22900 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
22901 (read_file): Fix error reporting.
22902
2520d4b8
VS
229032009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22904
22905 Eliminate hexdump 4Gib barrier.
22906
22907 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
22908 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
22909
e1f27065
VS
229102009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22911
22912 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
22913 Fixes amarsh bug.
22914
1a0f7f45
RM
229152009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
22916
22917 Remove miscellaneous files in distclean target.
22918
22919 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
22920
c631d9fb
CW
229212009-12-09 Colin Watson <cjwatson@ubuntu.com>
22922
22923 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
22924 if they're already set. This resolves the conflict between my
22925 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
22926 fixing the --grub-probe option again.
22927 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
22928 change on 2009-10-06, so that we now once again source
22929 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22930
7c7b6106
RM
229312009-12-08 Robert Millan <rmh.grub@aybabtu.com>
22932
22933 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
22934 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
22935 `util/devicemap.c'.
22936
e3069ec1
CPE
229372009-12-08 Carles Pina i Estany <carles@pina.cat>
22938
22939 * include/grub/misc.h (grub_printf_): New declaration.
22940 * kern/misc.c (grub_printf_): New definition.
22941 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
22942 instead of `grub_printf' and `_'.
22943 * normal/menu_entry.c (store_completion): Likewise.
22944 (run): Likewise.
22945 (grub_menu_entry_run): Likewise.
22946 * normal/menu_text.c (grub_wait_after_message): Likewise.
22947 (notify_booting): Likewise.
22948 (notify_fallback): Likewise.
22949 (notify_execution_failure): Likewise.
22950
d6ceebf1
CW
229512009-12-07 Colin Watson <cjwatson@ubuntu.com>
22952
22953 * configure.ac: Check for vasprintf.
22954 * util/misc.c (asprintf): Move allocation from here ...
22955 (vasprintf): ... to here. New function.
22956 (xasprintf): New function.
22957 * include/grub/util/misc.h (vasprintf, xasprintf): Add
22958 prototypes.
22959 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22960 * util/grub-mkfont.c (write_font): Likewise.
22961 * util/grub-probe.c (probe): Likewise.
22962 * util/hostdisk.c (make_device_name): Likewise.
22963
de6daa8b
DM
229642009-12-06 David S. Miller <davem@sunset.davemloft.net>
22965
22966 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
22967 anything even prefixed with 'cdrom' as a cdrom.
22968
0ad46fd7 229692009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
22970
22971 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
22972 mount points.
22973
98d3dc02
CPE
229742009-12-05 Carles Pina i Estany <carles@pina.cat>
22975
22976 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
22977 grub_gettext_msg_list.
22978 (grub_gettext_gettranslation_from_position): Return const char *
22979 and not char *.
a2c1332b 22980 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
22981 returns from the list if existing there.
22982 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
22983 (grub_gettext_delete_list): Delete the list.
22984 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
22985 lang environment variable is changed.
22986 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
22987
b283f108
VS
229882009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22989
22990 Rename kernel.mod to kernel.img.
22991
22992 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
22993 (kernel_mod_EXPORTS): Rename to ...
22994 (kernel_img_EXPORTS): ... this.
22995 (kernel_mod_SOURCES): Rename to ...
22996 (kernel_img_SOURCES): ... this.
22997 (kernel_mod_HEADERS): Rename to ...
22998 (kernel_img_HEADERS): ... this. All users updated.
22999 (kernel_mod_CFLAGS): Rename to ...
23000 (kernel_img_CFLAGS): ... this.
23001 (kernel_mod_ASFLAGS): Rename to ...
23002 (kernel_img_ASFLAGS): ... this.
23003 (kernel_mod_LDFLAGS): Rename to ...
23004 (kernel_img_LDFLAGS): ... this.
23005 * conf/x86_64-efi.rmk: Likewise.
23006 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
23007 (read_kernel_image): ... this. All users updated.
23008 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
23009
69055f8a
CPE
230102009-12-05 Carles Pina i Estany <carles@pina.cat>
23011
23012 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
23013 (print_spaces): New function.
23014 (grub_print_ucs4): New function.
23015 (getstringwidth): New function.
23016 (print_message_indented): New function.
23017 (print_message): Gettexttize strings using print_message_indented.
23018 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
23019 width.
23020 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 23021 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
23022 Gettextize.
23023 * normal/menu_entry.c (store_completion): Cleanup the gettextized
23024 string.
23025 (run): Likewise.
23026 (grub_menu_entry_run): Likewise.
23027 * PO/POTFILES: Add normal/menu_entry.c.
23028
f616f51c
VS
230292009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23030
23031 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
23032
57bbe3be
CPE
230332009-12-05 Carles Pina i Estany <carles@pina.cat>
23034
23035 * util/grub-install.in: Install gettext .mo files.
23036 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
23037
013d67a1
CPE
230382009-12-05 Carles Pina i Estany <carles@pina.cat>
23039
23040 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
23041 grub_dprintf.
23042
fb954db0
RM
230432009-12-05 Robert Millan <rmh.grub@aybabtu.com>
23044
23045 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
23046 non-firmware-dependant one in realmode.S takes precedence.
23047
6b8474f8
RM
230482009-12-04 Robert Millan <rmh.grub@aybabtu.com>
23049
23050 * commands/halt.c: Replace misc arch-specific headers with
23051 `<grub/misc.h>'.
23052 * commands/reboot.c: Likewise.
23053 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
23054 `<grub/misc.h>'.
23055 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
23056 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
23057 (kernel_img_SOURCES): ... to here.
23058
23059 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
23060 * include/grub/i386/pc/init.h: Likewise.
23061 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23062 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23063
23064 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
23065
23066 * include/grub/i386/halt.h: Remove.
23067 * include/grub/i386/reboot.h: Likewise.
23068
23069 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
23070
4b2e6ca2
DM
230712009-12-03 David S. Miller <davem@sunset.davemloft.net>
23072
23073 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
23074 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
23075 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
23076 "progname.h"
23077 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23078 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23079 (usage): Add missing comma in printf.
23080
5239348f
RM
230812009-12-02 Robert Millan <rmh.grub@aybabtu.com>
23082
23083 Use the same reboot approach on i386 coreboot and qemu as we do on
23084 BIOS.
23085
23086 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
23087 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
23088 * kern/i386/reboot.c: Remove.
23089 * include/grub/i386/reboot.h (grub_reboot): Export function.
23090 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
23091 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
23092 0xf000:0xfff0 instead of 0xffff:0x0000.
23093 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
23094 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
23095
ef34cbd4
RM
230962009-11-30 Robert Millan <rmh.grub@aybabtu.com>
23097
23098 Fix $srcdir != $objdir build.
23099
23100 * Makefile.in (po/%.po): Rewrite as ...
23101 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
23102
dc9837ea
ST
231032009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
23104
23105 Fix GNU/Hurd grub-install crash.
23106 * util/grub-probe.c (probe): Try to access `path' only when it is not
23107 NULL.
23108
2f857f98
VS
231092009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23110
23111 Correct module naming.
23112
23113 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23114 (GRUB_MOD_INIT(efi_uga)): ... to this
23115 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23116 (GRUB_MOD_FINI(efi_uga)): ... to this
23117 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23118 (GRUB_MOD_INIT(efi_gop)): ... to this
23119 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23120 (GRUB_MOD_FINI(efi_gop)): ... to this
23121
c5448046
RM
231222009-11-28 Robert Millan <rmh.grub@aybabtu.com>
23123
23124 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
23125 translatable.
23126 (usage): Translate `arg' strings using gettext().
23127 Thanks to Jordi Mallach for the suggestion.
23128
c85184ad
VS
231292009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23130
23131 GOP support. Based on patch from Bean
23132 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23133
23134 * video/efi_gop.c: New file.
23135 * include/grub/efi/graphics_output.h: Likewise.
23136 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
23137 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23138 variables.
23139 * conf/x86_64-efi.rmk: Likewise.
23140
8a4c48d8
VS
231412009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23142
23143 Rename efi_fb to efi_uga.
23144
23145 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23146 'efi_uga.mod'.
23147 (efi_fb_mod_SOURCES): Rename this ...
23148 (efi_uga_mod_SOURCES): ... to this.
23149 (efi_fb_mod_CFLAGS): Rename this ...
23150 (efi_uga_mod_CFLAGS): ... to this.
23151 (efi_fb_mod_LDFLAGS): Rename this ...
23152 (efi_uga_mod_LDFLAGS): ... to this.
23153 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23154 'efi_uga.mod'.
23155 (efi_fb_mod_SOURCES): Rename this ...
23156 (efi_uga_mod_SOURCES): ... to this.
23157 (efi_fb_mod_CFLAGS): Rename this ...
23158 (efi_uga_mod_CFLAGS): ... to this.
23159 (efi_fb_mod_LDFLAGS): Rename this ...
23160 (efi_uga_mod_LDFLAGS): ... to this.
23161 * video/efi_fb.c: Move this ...
23162 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
23163
fb6c1a7b
RM
231642009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23165
23166 * po/README: New file. Explain our PO file workflow.
23167
3bc7896c
RM
231682009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23169
23170 * po/ChangeLog: Remove. Move relevant entries back to ...
23171 * ChangeLog: ... here.
23172 * po/ca.po: Remove (now handled by TLP).
23173 * po/id.po: Likewise.
23174 * po/zh_CN.po: Likewise.
23175 * Makefile.in (LINGUAS): Initialize in a way that supports
23176 empty set.
23177
9ed4841d
RM
231782009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23179
23180 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
23181 reliing on po/LINGUAS.
23182 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
23183 (po/%.po): ... this.
23184
0ad46fd7 231852009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
23186
23187 * util/i386/efi/grub-mkimage.c: Include "progname.h".
23188 (main): Use `program_name' instead of nonexistent `progname'.
23189
e30dd392
FZ
231902009-11-26 Felix Zielcke <fzielcke@z-51.de>
23191
23192 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23193 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
23194
7656de4f
RM
231952009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23196
23197 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
23198 commit.
23199 * conf/i386-efi.rmk: Likewise.
23200 * conf/i386-ieee1275.rmk: Likewise.
23201 * conf/powerpc-ieee1275.rmk: Likewise.
23202 * conf/sparc64-ieee1275.rmk: Likewise.
23203 * conf/x86_64-efi.rmk: Likewise.
23204
db77c4d4
FZ
232052009-11-26 Felix Zielcke <fzielcke@z-51.de>
23206
23207 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
23208
a755bb04
FZ
232092009-11-26 Felix Zielcke <fzielcke@z-51.de>
23210
23211 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
23212
8a4c07fd
RM
232132009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23214
23215 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
23216 (grub_mkdevicemap_SOURCES): New variable.
23217 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
23218 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
23219 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
23220 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
23221 (grub_mkdevicemap_SOURCES): Remove.
23222 * conf/i386-efi.rmk: Likewise.
23223 * conf/i386-ieee1275.rmk: Likewise.
23224 * conf/i386-pc.rmk: Likewise.
23225 * conf/powerpc-ieee1275.rmk: Likewise.
23226 * conf/sparc64-ieee1275.rmk: Likewise.
23227 * conf/x86_64-efi.rmk: Likewise.
23228 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
23229 (usage): Fix strings to use `program_name'.
23230 (main): Initialize gettext.
23231 * util/grub-editenv.c: Likewise.
23232 * util/grub-emu.c: Likewise.
23233 * util/grub-fstest.c: Likewise.
23234 * util/grub-mkdevicemap.c: Likewise.
23235 * util/grub-mkfont.c: Likewise.
23236 * util/grub-mkrelpath.c: Likewise.
23237 * util/grub-pe2elf.c: Likewise.
23238 * util/grub-probe.c: Likewise.
23239 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23240 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23241 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23242
23243 * util/misc.c: Include `"progname.h"'.
23244 (progname): Remove variable.
23245 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
23246
6f61ed55
FZ
232472009-11-25 Felix Zielcke <fzielcke@z-51.de>
23248
23249 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
23250 printf and print a newline after the menuentry header line.
23251 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23252
f022876b
FZ
232532009-11-25 Felix Zielcke <fzielcke@z-51.de>
23254
23255 autoconf >= 2.60 support $(localedir).
23256
23257 * INSTALL: Note that autoconf 2.60 is required.
23258 * configure.ac (AC_PREREQ): Bump to 2.60.
23259 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
23260 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23261
6717926e
YB
232622009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
23263
23264 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
23265 aclocal is run.
23266
08806a54
RM
232672009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23268
23269 * normal/main.c (grub_normal_read_line): Fix off-by-one
23270 buffer overflow.
23271
13b33fba
RM
232722009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23273
23274 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
23275 "parser.grub" in grub_command_execute() call.
23276
4a8572e9
CPE
232772009-11-24 Carles Pina i Estany <carles@pina.cat>
23278
23279 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
23280 * conf/i386-efi.rmk: Likewise.
23281 * conf/i386-ieee1275.rmk: Likewise.
23282 * conf/i386-pc.rmk: Likewise.
23283 * conf/powerpc-ieee1275.rmk: Likewise.
23284 * conf/sparc64-ieee1275.rmk: Likewise.
23285 * conf/x86_64-efi.rmk: Likewise.
23286 * gettext/gettex.c: Include <grub/i18n.h>.
23287 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
23288 here ...
23289 * include/grub/i18n.h: ... to here
23290 * include/grub/i18n.h: ... to here.
23291 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 23292 (grub_gettext_dummy): Move above user.
4a8572e9 23293
bee48093
FZ
232942009-11-24 Felix Zielcke <fzielcke@z-51.de>
23295
23296 * util/Makefile.in (install-local): Convert a `for' into a normal
23297 shell expansion.
23298
a031e91c
RM
232992009-11-24 Robert Millan <rmh.grub@aybabtu.com>
23300
23301 * autogen.sh: Add automake call.
23302 * config.guess: Remove.
23303 * config.sub: Likewise.
23304 * install-sh: Likewise.
23305
26bec39d
FZ
233062009-11-24 Felix Zielcke <fzielcke@z-51.de>
23307
23308 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
23309
8e2532fd
FZ
233102009-11-24 Felix Zielcke <fzielcke@z-51.de>
23311
23312 * util/Makefile.in (install-local): Convert a make `$(foreach)'
23313 function to a normal shell `for'.
23314
fefa1b7d
FZ
233152009-11-24 Felix Zielcke <fzielcke@z-51.de>
23316
23317 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23318
4501250b
FZ
233192009-11-24 Felix Zielcke <fzielcke@z-51.de>
23320
23321 * util/grub-mkrelpath.c: New file.
23322 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
23323 (grub_mkrelpath_SOURCES): New variable.
23324 * include/grub/util/misc.h: New function prototype.
23325 * util/misc.c (make_system_path_relative_to_its_root): New function.
23326
23327 * util/grub-mkconfig_lib.in (bindir): New variable.
23328 (grub_mkrelpath): Likewise.
23329 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
23330
23331 * util/probe.c (probe): Make the file path relative to its root.
23332 Change a info message to use the GRUB path. Enable again the
23333 check if we can read the file with GRUB facilities.
23334
23335 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
23336 to its root.
23337
11d9778b
FZ
233382009-11-24 Felix Zielcke <fzielcke@z-51.de>
23339
23340 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
23341 platform.
23342
4465287d
FZ
233432009-11-24 Felix Zielcke <fzielcke@z-51.de>
23344
23345 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
23346 strncmp().
23347
62b47f22
FZ
233482009-11-24 Felix Zielcke <fzielcke@z-51.de>
23349
23350 * util/getroot.c (grub_util_is_dmraid): New function.
23351 (grub_util_get_dev_abstraction): Treat dmraid and multipath
23352 devices as normal ones, not as LVM.
23353
1eafb9b9 233542009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
23355
23356 * conf/common.rmk: Add grub-gettext_lib target and updates
23357 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
23358 LDFLAGS.
23359 * gettext/gettext.c: New file. (Reads mo files).
23360 * include/grub/file.h (grub_file_pread): New prototype.
23361 * include/grub/i18n.h (_): New prototype.
23362 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
23363 prototypes.
23364 * kern/misc.c (grub_gettext_dummy): New function.
23365 * normal/menu_text.c: Include <grub/i18n.h>.
23366 * normal/menu_text.c (print_timeout): Gettexttize string.
23367 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
23368 * po/POTFILES: Add `normal/menu_text.c'.
23369 * po/ca.po: Add new translations.
c3ea6bd4
CPE
23370 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
23371 gettext module and defines locale_dir and lang in grub.cfg.
23372 * NEWS: Add gettext support.
23373
0fdb2568
RM
233742009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23375
23376 * util/hostdisk.c: Include `<grub/i18n.h>'.
23377 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
23378 (make_device_name): Rewrite using asprintf.
23379 (convert_system_partition_to_system_disk): Replace 0 with NULL.
23380 (find_system_device): If a device is not found, generate one just
23381 by reusing the OS path name.
23382 (read_device_map): Make it permissible for device.map not to exist.
23383
f515aa62
RM
233842009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23385
23386 * script/sh/execute.c: Move from here ...
23387 * script/execute.c: ... to here. Update all users.
23388 * script/sh/function.c: Move from here ...
23389 * script/function.c: ... to here. Update all users.
23390 * script/sh/lexer.c: Move from here ...
23391 * script/lexer.c: ... to here. Update all users.
23392 * script/sh/main.c: Move from here ...
23393 * script/main.c: ... to here. Update all users.
23394 * script/sh/parser.y: Move from here ...
23395 * script/parser.y: ... to here. Update all users.
23396 * script/sh/script.c: Move from here ...
23397 * script/script.c: ... to here. Update all users.
23398
f84b481b
RM
233992009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23400
23401 * configure.ac: Detect all `emu' platforms. Define
23402 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
23403 --enable-grub-emu logic. Disable include/grub/machine
23404 symlink on `emu' platforms.
23405
23406 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
23407 * gensymlist.sh.in: Likewise.
23408
23409 * include/grub/i386/coreboot/machine.h: Remove file.
23410 * include/grub/i386/efi/machine.h: Likewise.
23411 * include/grub/i386/ieee1275/machine.h: Likewise.
23412 * include/grub/i386/pc/machine.h: Likewise.
23413 * include/grub/i386/qemu/machine.h: Likewise.
23414 * include/grub/powerpc/ieee1275/machine.h: Likewise.
23415 * include/grub/sparc64/ieee1275/machine.h: Likewise.
23416 * include/grub/x86_64/efi/machine.h: Likewise.
23417
23418 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
23419 * commands/halt.c: Likewise.
23420 * commands/reboot.c: Likewise.
23421 * include/grub/autoefi.h: Likewise.
23422 * include/grub/i386/at_keyboard.h: Likewise.
23423 * include/grub/i386/kernel.h: Likewise.
23424 * include/grub/i386/loader.h: Likewise.
23425 * include/grub/i386/pc/memory.h: Likewise.
23426 * kern/dl.c: Likewise.
23427 * kern/i386/coreboot/init.c: Likewise.
23428 * loader/i386/bsd.c: Likewise.
23429 * loader/i386/linux.c: Likewise.
23430 * loader/multiboot_loader.c: Likewise.
23431 * term/i386/pc/serial.c: Likewise.
23432 * term/usb_keyboard.c: Likewise.
23433
23434 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
23435 `<grub/machine/machine.h>'
23436 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
23437 * util/misc.c: Remove `<grub/machine/machine.h>' and
23438 `<grub/machine/time.h>'.
23439
23440 * Makefile.in (enable_grub_emu): Remove variable.
23441 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
23442
23443 * conf/any-emu.rmk: New file.
23444 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
23445 (grub_emu_init.c): Move from here ...
23446 * conf/any-emu.rmk: ... to here.
23447
23448 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
23449 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
23450 * conf/any-emu.rmk: ... to here.
23451
4efeab03
RM
234522009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23453
23454 * include/grub/parser.h (grub_parser_register): Document need
23455 of `name' parameter.
23456 * normal/main.c (grub_normal_read_line): Simplify prompt string.
23457 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
23458 "sh" to "grub".
23459
ea1dd8bf
RM
234602009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23461
23462 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
23463 `$(XGETTEXT)'.
23464 * include/grub/i18n.h (N_): New macro.
23465 * util/mkisofs/mkisofs.h: Likewise.
23466 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
23467 around N_().
23468 (usage): Use gettext() to translate help strings when printing them.
23469
0c140626
RM
234702009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23471
23472 Based on patch from Bean
23473 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23474
23475 * video/efi_fb.c: New file.
23476 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
23477 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23478 variables.
23479 * conf/x86_64-efi.rmk: Likewise.
23480
87d58298
RM
234812009-11-22 Robert Millan <rmh.grub@aybabtu.com>
23482
23483 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
23484 * util/i386/pc/grub-setup.c: Likewise.
23485
994cc3a3
ST
234862009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23487
23488 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23489 <hurd/fs.h>
23490 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23491 file_get_storage_info to implement grub_guess_root_device.
23492
26a61d6a
FZ
234932009-11-21 Felix Zielcke <fzielcke@z-51.de>
23494
23495 * Makefile.in (target): Use make's builtin $(shell) function
23496 instead of calling directly $(SHELL) to create the locale directories,
23497 inside the $(foreach) function.
23498
74ff1dd5
FZ
234992009-11-21 Felix Zielcke <fzielcke@z-51.de>
23500
23501 * util/grub-mkrescue.in: Print an error and usage if output option
23502 has not been given.
23503
0b787d0e
FZ
235042009-11-21 Felix Zielcke <fzielcke@z-51.de>
23505
23506 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23507 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23508 root and /boot are on different devices.
23509
1164b270
RM
235102009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23511
23512 Fix build for srcdir != objdir.
23513
23514 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23515 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23516 $(srcdir).
23517 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23518 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23519 reference for input.
23520
13774a2f
RM
235212009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23522
23523 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23524 or hardlinking it). Remove -J option, Joliet is not compatible with
23525 multiple source directories.
23526
efda854e
RM
235272009-11-21 Carles Pina i Estany <carles@pina.cat>
235282009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23529
23530 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23531 (process_input_dir): New function. Process an arbitrary input
23532 directory.
23533 Misc adjustments to support both "override mode" and system-wide mode.
23534
6c09890c
FZ
235352009-11-20 Felix Zielcke <fzielcke@z-51.de>
23536
23537 * configure.ac (UNIFONT_BDF): Rename to ...
23538 (FONT_SOURCE): ... this. Update all users.
23539
a797824f
FZ
235402009-11-20 Felix Zielcke <fzielcke@z-51.de>
23541
23542 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23543 to the list of unifont files to look for.
23544
cd4f42b0
RM
235452009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23546
23547 Patch from Joe Auricchio <jauricchio@gmail.com>
23548 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23549 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23550 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23551
393c783d
FZ
235522009-11-19 Felix Zielcke <fzielcke@z-51.de>
23553
23554 * Makefile.in (install-local): Add a missing backslash.
23555
b2f1e327
FZ
235562009-11-19 Felix Zielcke <fzielcke@z-51.de>
23557
23558 * include/grub/x86_64/io.h: New file.
23559
f577f7a0
RM
235602009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23561
23562 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23563 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23564 Include `"progname.h"'.
23565 (main): Initialize gettext.
23566 * util/i386/pc/grub-setup.c: Gettexttize.
23567 * util/i386/pc/grub-mkimage.c: Likewise.
23568
23569 * Makefile.in (po/*.po): Redefine as ...
23570 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23571
3bc7896c
RM
23572 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23573
c37943b6
RM
235742009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23575
23576 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23577 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23578 (program_name): Remove.
23579 (main): Initialize gettext support.
6323f705
RM
23580 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23581 Include `<libintl.h>'.
23582 (_): New macro.
c37943b6
RM
23583
23584 * util/mkisofs/eltorito.c: Gettexttize.
23585 * util/mkisofs/joliet.c: Likewise.
23586 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23587 * util/mkisofs/multi.c: Likewise.
23588 * util/mkisofs/rock.c: Likewise.
23589 * util/mkisofs/tree.c: Likewise.
23590 * util/mkisofs/write.c: Likewise.
23591
3bc7896c
RM
23592 * po/POTFILES: Update with new files.
23593
5ce77c6e
RM
235942009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23595
23596 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23597 * util/mkisofs/iso9660.h: Likewise.
23598 * util/mkisofs/joliet.c: Likewise.
23599 * util/mkisofs/mkisofs.c: Likewise.
23600 * util/mkisofs/mkisofs.h: Likewise.
23601 * util/mkisofs/rock.c: Likewise.
23602 * util/mkisofs/tree.c: Likewise.
23603 * util/mkisofs/write.c: Likewise.
23604
23605 * util/mkisofs/eltorito.c (rcsid): Remove.
23606 * util/mkisofs/hash.c: Likewise.
23607 * util/mkisofs/joliet.c: Likewise.
23608 * util/mkisofs/name.c: Likewise.
23609 * util/mkisofs/rock.c: Likewise.
23610 * util/mkisofs/tree.c: Likewise.
23611 * util/mkisofs/write.c: Likewise.
23612
1dabbc77
RM
236132009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23614
23615 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23616 instead of static allocation.
23617 * util/mkisofs/match.h: Likewise.
23618
633877cb
RM
236192009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23620
3bc7896c
RM
23621 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23622 and `util/grub.d/10_linux.in'.
633877cb
RM
23623 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23624 translatable Shell files.
23625
af1c0c85
RM
236262009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23627
23628 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23629
769ae37b
RM
236302009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23631
23632 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 23633 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
23634 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23635 Add gettext initialization.
23636 (kfreebsd_entry): Make menuentry output translatable.
23637
236382009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23639
23640 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23641 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23642 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23643 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23644 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 23645 * po/LINGUAS: New file.
769ae37b
RM
23646
236472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23648
23649 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23650 other things).
23651 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23652 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23653 bindtextdomain() calls for gettext initialization.
23654
236552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23656
23657 * gnulib/progname.c: New file (imported from Gnulib).
23658 * gnulib/progname.h: Likewise.
23659 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23660 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
23661 (usage): Replace `progname' with `program_name'.
23662 (main): Use set_program_name() for program name initialization.
23663
236642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23665
23666 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
23667 from here ...
23668 * Makefile.in (CPPFLAGS): ... to here.
23669
236702009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23671
23672 * aclocal.m4: Move from here ...
23673 * acinclude.m4: ... to here.
23674 * autogen.sh: Add call to `aclocal'.
23675 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
23676
236772009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23678
23679 * Makefile.in (CLEANFILES): Add `po/*.mo'.
23680 (LINGUAS): New variable.
23681 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
23682 (install-local): Install MO files.
23683 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
23684 * include/grub/i18n.h: New file.
3bc7896c
RM
23685 * po/POTFILES: New file.
23686 * po/ca.po: New file.
769ae37b
RM
23687 * util/grub.d/10_linux.in (bindir): New variable.
23688 Add gettext initialization.
23689 (linux_entry): Make menuentry output translatable.
23690 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
23691 (usage): Make --help output translatable.
23692 (main): Initialize gettext.
23693
02c0a6ad
RM
236942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23695
23696 * import_gcry.py: New file (written by Vladimir with minor
23697 adjustments).
23698 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
23699 ciphers.
23700 * INSTALL: Document that Python is required for bootstrap.
23701
237022009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23703
23704 Import ciphers from libgcrypt 1.4.4.
23705
23706 * lib/libgcrypt/cipher/ChangeLog
23707 * lib/libgcrypt/cipher/ac.c
23708 * lib/libgcrypt/cipher/arcfour.c
23709 * lib/libgcrypt/cipher/bithelp.h
23710 * lib/libgcrypt/cipher/blowfish.c
23711 * lib/libgcrypt/cipher/camellia-glue.c
23712 * lib/libgcrypt/cipher/camellia.c
23713 * lib/libgcrypt/cipher/camellia.h
23714 * lib/libgcrypt/cipher/cast5.c
23715 * lib/libgcrypt/cipher/cipher.c
23716 * lib/libgcrypt/cipher/crc.c
23717 * lib/libgcrypt/cipher/des.c
23718 * lib/libgcrypt/cipher/dsa.c
23719 * lib/libgcrypt/cipher/ecc.c
23720 * lib/libgcrypt/cipher/elgamal.c
23721 * lib/libgcrypt/cipher/hash-common.c
23722 * lib/libgcrypt/cipher/hash-common.h
23723 * lib/libgcrypt/cipher/hmac-tests.c
23724 * lib/libgcrypt/cipher/md.c
23725 * lib/libgcrypt/cipher/md4.c
23726 * lib/libgcrypt/cipher/md5.c
23727 * lib/libgcrypt/cipher/primegen.c
23728 * lib/libgcrypt/cipher/pubkey.c
23729 * lib/libgcrypt/cipher/rfc2268.c
23730 * lib/libgcrypt/cipher/rijndael-tables.h
23731 * lib/libgcrypt/cipher/rijndael.c
23732 * lib/libgcrypt/cipher/rmd.h
23733 * lib/libgcrypt/cipher/rmd160.c
23734 * lib/libgcrypt/cipher/rsa.c
23735 * lib/libgcrypt/cipher/seed.c
23736 * lib/libgcrypt/cipher/serpent.c
23737 * lib/libgcrypt/cipher/sha1.c
23738 * lib/libgcrypt/cipher/sha256.c
23739 * lib/libgcrypt/cipher/sha512.c
23740 * lib/libgcrypt/cipher/tiger.c
23741 * lib/libgcrypt/cipher/twofish.c
23742 * lib/libgcrypt/cipher/whirlpool.c
23743
af2f93ac
RM
237442009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23745
23746 Fix build for systems without error().
23747
23748 * gnulib/error.c: New file (imported from Gnulib).
23749 * gnulib/error.h: Likewise.
23750 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23751 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23752 (this variable is now used by error()).
23753
73fb3dd5
FZ
237542009-11-16 Felix Zielcke <fzielcke@z-51.de>
23755
814f5e96
FZ
23756 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23757 instead of relying that char is signed.
73fb3dd5 23758
a691ca33
VS
237592009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23760
23761 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23762 blocksize different from specified.
23763 (grub_pxefs_read): Likewise.
23764
2af8f0f4
FZ
237652009-11-16 Felix Zielcke <fzielcke@z-51.de>
23766
23767 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
23768
23769 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
23770 (grub_ata_readwrite): Likewise. Update 2 format strings.
23771 (grub_atapi_read): Likewise.
23772
23773 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
23774 * conf/i386.rmk (pkglib_MODULES): ... to here ...
23775 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
23776 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
23777 (ata_mod_LDFLAGS): Move from here ...
23778 * conf/i386.rmk: ... to here ...
23779 * conf/x86_64-efi.rmk: ... and here.
23780 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
23781 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
23782
83bdecaf
RM
237832009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23784
23785 Relicense multiboot.h, with RMS' blessing.
23786
23787 * include/multiboot.h: Change to X11 license.
23788
fd6fd3d7
RM
237892009-11-15 Robert Millan <rmh.grub@aybabtu.com>
23790
23791 Support --version in grub-mkisofs.
23792
23793 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
23794 (OPTION_VERSION): New macro.
23795 (ld_options): Recognize --version.
23796 (usage): Move `program_name' from here ...
23797 (program_name): ... to here. Add `static' qualifier.
23798 (main): Recognize `OPTION_VERSION'.
23799
16a88c49
FZ
238002009-11-15 Felix Zielcke <fzielcke@z-51.de>
23801
23802 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
23803 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
23804
a4158476
RM
238052009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23806
23807 Fix help2man generation for mkisofs.
23808
23809 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
23810 (usage): Send output to stdout (rather than stderr).
23811
fc2208b0
RM
238122009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23813
23814 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
23815 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23816 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
23817 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23818 (bin_SCRIPTS): Add `grub-mkfloppy'.
23819 (grub_mkfloppy_SOURCES): New variable.
23820
23821 * util/grub-mkrescue.in: New file.
23822 * util/i386/pc/grub-mkfloppy.in: New file.
23823
23824 * util/i386/coreboot/grub-mkrescue.in: Remove.
23825 * util/i386/pc/grub-mkrescue.in: Remove.
23826
8d0edf4a
RM
238272009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23828
23829 * include/grub/multiboot.h (struct grub_multiboot_header): Move
23830 from here ...
23831 * include/multiboot.h (struct multiboot_header): ... to here. Update
23832 all users.
23833 * include/grub/multiboot.h (struct grub_multiboot_info): Move
23834 from here ...
23835 * include/multiboot.h (struct multiboot_info): ... to here. Update
23836 all users.
23837 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
23838 from here ...
23839 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
23840 Update all users.
23841 * include/grub/multiboot.h (struct grub_mod_list): Move
23842 from here ...
23843 * include/multiboot.h (struct multiboot_mod_list): ... to here.
23844 Update all users.
23845
a73f5969
RM
238462009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23847
23848 * include/multiboot2.h (multiboot_word): Rename from this ...
23849 (multiboot2_word): ... to this. Update all users.
23850 (multiboot_header): Rename from this ...
23851 (multiboot2_header): ... to this. Update all users.
23852 (multiboot_tag_header): Rename from this ...
23853 (multiboot2_tag_header): ... to this. Update all users.
23854 (multiboot_tag_start): Rename from this ...
23855 (multiboot2_tag_start): ... to this. Update all users.
23856 (multiboot_tag_name): Rename from this ...
23857 (multiboot2_tag_name): ... to this. Update all users.
23858 (multiboot_tag_module): Rename from this ...
23859 (multiboot2_tag_module): ... to this. Update all users.
23860 (multiboot_tag_memory): Rename from this ...
23861 (multiboot2_tag_memory): ... to this. Update all users.
23862 (multiboot_tag_unused): Rename from this ...
23863 (multiboot2_tag_unused): ... to this. Update all users.
23864 (multiboot_tag_end): Rename from this ...
23865 (multiboot2_tag_end): ... to this. Update all users.
23866
1c8927f0
RM
238672009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23868
23869 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
23870 this platform we should support Multiboot1 first.
23871
23872 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23873 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
23874 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
23875
6e1e0d89
RM
238762009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23877
23878 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
23879 of write calls (converting them to fwrite() if they aren't already).
23880 (get_torito_desc): Likewise.
23881 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
23882
7f2b34d8
RM
238832009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23884
23885 * util/i386/pc/grub-install.in: Move from here ...
23886 * util/grub-install.in: ... to here. Update all users.
23887
c0ef3311
CW
238882009-11-11 Colin Watson <cjwatson@ubuntu.com>
23889
23890 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
23891
e1f240ff
RM
238922009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23893
23894 Support for El Torito without floppy emulation.
23895
23896 * util/mkisofs/eltorito.c: Include `<errno.h>'.
23897 (init_boot_catalog): Improve error handling.
23898 (get_torito_desc): Don't use floppy emulation unless requested by
23899 user. Patch boot information table when requested via
23900 `-boot-info-table'.
23901 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
23902 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
23903 (use_boot_info_table): New variables.
23904 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
23905 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
23906 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
23907 `--eltorito-emul-floppy'.
23908 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
23909 and `OPTION_ELTORITO_EMUL_FLOPPY'.
23910 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
23911 (use_boot_info_table, get_731): New prototypes.
23912 * util/mkisofs/write.c (get_731): New function.
23913
af7d4de5
FZ
239142009-11-11 Felix Zielcke <fzielcke@z-51.de>
23915
23916 Fix the generation of the man page.
23917
23918 * util/pc/i386/grub-install.in: Source
23919 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23920
2c55dbc0
RM
239212009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23922
23923 Large file support for grub-mkisofs.
23924
23925 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
23926 * util/mkisofs/mkisofs.c (next_extent, last_extent)
23927 (session_start): Upgrade type to `uint64_t'. Update all users.
23928 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
23929 (struct directory_entry): Upgrade type of `starting_block' and
23930 `size' to `uint64_t'. Update all users.
23931 (struct deferred): Remove unused structure.
23932 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
23933 Update all users.
23934 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
23935 file is larger than `UINT32_MAX'.
23936 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
23937 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
23938 return value.
23939 (struct deferred_write): Upgrade type of `extent' and `size' to
23940 `uint64_t'. Update all users.
23941 (last_extent_written): Upgrade type to `uint64_t'. Update all
23942 users.
23943 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
23944 Update all users. Upgrade type of `remain' to `int64_t' and
23945 `use' to `size_t'. Use error() to handle fread() errors.
23946 (write_files): Rely on write_one_file() rather than calling
23947 xfwrite() directly.
23948
6a9cead5
FZ
239492009-11-09 Felix Zielcke <fzielcke@z-51.de>
23950
23951 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
23952
4825d790
RM
239532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23954
23955 * util/mkisofs/fnmatch.c: Remove.
23956 * util/mkisofs/getopt1.c: Likewise.
23957 * util/mkisofs/getopt.c: Likewise.
23958 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
23959 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
23960 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
23961 `gnulib/getopt1.c' and `gnulib/getopt.c'.
23962 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
23963
23964 * configure.ac: Detect `mingw32msvc' host_os.
23965 Check for lstat(), getuid() and getgid().
23966
23967 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
23968 instances of `u_char' with `uint8_t'.
23969
23970 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
23971 [!HAVE_GETUID] (getuid): New function (stub).
23972 [!HAVE_GETGID] (getgid): Likewise.
23973 [!HAVE_LSTAT] (lstat): Likewise.
23974 [!S_IROTH] (S_IROTH): New macro (dummy).
23975 [!S_IRGRP] (S_IRGRP): Likewise.
23976
84b860d8
RM
239772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23978
23979 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
23980 conditional expression).
23981
66e9b712
RM
239822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23983
23984 Import from Gnulib.
23985
23986 * gnulib/fnmatch.c: New file.
23987 * gnulib/fnmatch.h: Likewise.
23988 * gnulib/fnmatch_loop.c: Likewise.
23989 * gnulib/getopt.c: Likewise.
23990 * gnulib/getopt.h: Likewise.
23991 * gnulib/getopt1.c: Likewise.
23992 * gnulib/getopt_int.h: Likewise.
23993 * gnulib/gettext.h: Likewise.
23994
34f4a5b0
RM
239952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23996
23997 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
23998 * normal/handler.c (read_handler_list): Likewise.
23999
ac451143
RM
240002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24001
24002 Misc cleanup.
24003
24004 * kern/command.c (grub_register_command_prio): Use
24005 grub_zalloc() instead of explicitly zeroing data.
24006 * kern/list.c: Include `<grub/mm.h>'.
24007 (grub_named_list_find): Replace `0' with `NULL'.
24008 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
24009 (fs_module_list): Change type to `grub_named_list_t'. Update all
24010 users.
24011 * normal/dyncmd.c (read_command_list): Add space between function
24012 call and parenthesis.
24013 * normal/handler.c (read_handler_list): Likewise.
24014
4089b167
RM
240152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24016
24017 * normal/auth.c (punishment_delay): Moved from here ...
24018 (grub_auth_strcmp): ... to here (inside function).
24019
325f5037
RM
240202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24021
24022 * include/grub/list.h (struct grub_named_list): Remove `const'
24023 qualifier from `name'.
24024 (struct grub_prio_list): Likewise.
24025
7aea29a3
RM
240262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24027
24028 * normal/auth.c: Include `<grub/time.h>'.
24029 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
24030
3fd6f044
RM
240312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24032
24033 * normal/auth.c (punishment_delay): New variable.
24034 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
24035 (grub_auth_check_authentication): Punish failed login attempts with
24036 an incremental (2^N) delay.
24037
a4cd68e4
RM
240382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24039
24040 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
24041 path with $(srcdir).
24042
7ad12f43
VS
240432009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24044
24045 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
24046
c1129f03
RM
240472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24048
24049 * util/i386/coreboot/grub-mkrescue.in: New file.
24050 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
24051 variables.
24052
24053 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
24054 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
24055 * configure.ac: Add header and function checks to satisfy grub-mkisofs
24056 requirements.
24057 * util/mkisofs/defaults.h: New file.
24058 * util/mkisofs/eltorito.c: Likewise.
24059 * util/mkisofs/exclude.h: Likewise.
24060 * util/mkisofs/fnmatch.c: Likewise.
24061 * util/mkisofs/getopt.c: Likewise.
24062 * util/mkisofs/getopt1.c: Likewise.
24063 * util/mkisofs/hash.c: Likewise.
24064 * util/mkisofs/include/fctldefs.h: Likewise.
24065 * util/mkisofs/include/mconfig.h: Likewise.
24066 * util/mkisofs/include/prototyp.h: Likewise.
24067 * util/mkisofs/include/statdefs.h: Likewise.
24068 * util/mkisofs/iso9660.h: Likewise.
24069 * util/mkisofs/joliet.c: Likewise.
24070 * util/mkisofs/match.c: Likewise.
24071 * util/mkisofs/match.h: Likewise.
24072 * util/mkisofs/mkisofs.c: Likewise.
24073 * util/mkisofs/mkisofs.h: Likewise.
24074 * util/mkisofs/multi.c: Likewise.
24075 * util/mkisofs/name.c: Likewise.
24076 * util/mkisofs/rock.c: Likewise.
24077 * util/mkisofs/tree.c: Likewise.
24078 * util/mkisofs/write.c: Likewise.
24079
ec8bb77d
VS
240802009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24081
24082 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
24083 being insecure.
24084
3716b12c
RM
240852009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24086
24087 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
24088 `grub-mkimage' (and use $0 when possible).
24089
b97b7b91
RM
240902009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24091
24092 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
24093 error message for excessively large memory map.
24094
04114812
RM
240952009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24096
24097 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
24098 executable bit.
24099
e4eb2373
RM
241002009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24101
24102 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
24103 message for coreboot users.
24104
c926e1d5 241052009-11-07 Robert Millan <rmh.grub@aybabtu.com>
24106
24107 Fix build with GNU gold.
24108
24109 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
24110 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
24111 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
24112 link addresses.
24113 * aclocal.m4: Likewise.
24114
86e5b1db 241152009-11-04 Felix Zielcke <fzielcke@z-51.de>
24116
24117 * configure.ac (AC_PREREQ): Bump to 2.59d.
24118 * INSTALL: Make it more clear when Autoconf and Ruby are
24119 needed and when to run `./autogen.sh'.
24120
246cd78f 241212009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
24122
24123 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
24124 OSes.
24125
4f9dfb37 241262009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24127
24128 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
24129
b82bd5e1 241302009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24131
24132 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
24133 giving it to GNU Mach.
24134
ff1a9bca 241352009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24136
24137 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
24138 GNU partition number to get internal GRUB partition number.
24139
61697d9c 241402009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24141
24142 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
24143 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
24144
a50569e1 241452009-11-01 Robert Millan <rmh.grub@aybabtu.com>
24146
24147 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
24148 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
24149 case.
24150
5b153867 241512009-11-01 Felix Zielcke <fzielcke@z-51.de>
24152
24153 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
24154
d9e2cd70 241552009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24156
24157 Fix build problem.
24158
24159 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
24160 `-isystem=$(srcdir)/include'.
24161
805111a4 241622009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24163
24164 * util/i386/pc/grub-install.in: Remove hint that device.map should be
24165 checked (grub-install doesn't currently rely on it).
24166
fa6e945f 241672009-10-29 Robert Millan <rmh.grub@aybabtu.com>
24168
24169 Revert SVN r2660.
24170
24171 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
24172 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24173 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
24174 * conf/i386-ieee1275.rmk: Likewise.
24175 * conf/i386-pc.rmk: Likewise.
24176 * conf/powerpc-ieee1275.rmk: Likewise.
24177 * conf/sparc64-ieee1275.rmk: Likewise.
24178 * conf/x86_64-efi.rmk: Likewise.
24179
cee15086 241802009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24181
24182 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
24183
95b9239e 241842009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24185
24186 * include/grub/misc.h: Stop checking for APPLE_CC.
24187
2ed19dfd 241882009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24189
24190 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
24191 doesn't cause an infinite call loop.
24192
fdcdde19 241932009-10-28 Felix Zielcke <fzielcke@z-51.de>
24194
24195 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
24196 strings.
24197
cefabfe1 241982009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24199
24200 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
24201 variable.
24202 * Makefile.in: Likewise.
24203
ed96ab6d 242042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24205
24206 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
24207
0579b753 242082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24209
24210 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
24211
478df409 242122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24213
24214 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
24215
083d1679 242162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24217
24218 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
24219 from here ...
24220 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
24221
5947ae32 242222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24223
24224 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
24225 in $(MAKEINFO) invocation. This makes it clear in output that
24226 errors are being ignored.
24227
94180ff6 242282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24229
24230 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
24231 from here ...
24232 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24233 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
24234 * conf/i386-ieee1275.rmk: Likewise.
24235 * conf/i386-pc.rmk: Likewise.
24236 * conf/powerpc-ieee1275.rmk: Likewise.
24237 * conf/sparc64-ieee1275.rmk: Likewise.
24238 * conf/x86_64-efi.rmk: Likewise.
24239
9031b03a 242402009-10-26 Colin Watson <cjwatson@ubuntu.com>
24241
24242 * util/grub-editenv.c (main): If only a command is given, use
24243 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
24244 (usage): FILENAME is now optional and has a default.
24245
e4f6809b 242462009-10-26 Colin Watson <cjwatson@ubuntu.com>
24247
24248 Improve grub-mkconfig performance when there are several menu
24249 entries on a single filesystem.
24250
24251 * util/grub.d/10_linux.in (linux_entry): Cache the output of
24252 prepare_grub_to_access_device.
24253 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24254 * util/grub.d/30_os-prober.in: Likewise.
24255
67937d4d 242562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24257
24258 * util/grub.d/10_freebsd.in: Remove.
24259 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
24260 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
24261
ee3756cc 242622009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24263
5c35048e 24264 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 24265
4dea1c6f 242662009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24267
24268 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
24269 grub_util_error() call.
24270
042484d7 242712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24272
24273 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
24274 `reserved_first_sector' member.
24275 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
24276 `reserved_first_sector' to 1.
24277 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
24278 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
24279 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
24280 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
24281 filesystems which begin at first sector.
24282 (options): New option --skip-fs-probe.
24283 (main): Handle --skip-fs-probe and pass it to setup().
24284
d64448a7 242852009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24286
24287 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
24288 (memset): Fix function prototype.
24289
508d42ec 242902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
242912009-10-25 Vasily Averin <vvs@parallels.com>
24292
24293 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
24294 `dirent.direntlen == 0'.
24295
b240e30c 242962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24297
24298 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
24299 `cpio'.
24300 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
24301
346e7fbe 243022009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24303
24304 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
24305 `__trampoline_setup' and `__ucmpdi2'.
24306 * include/grub/powerpc/libgcc.h: Only export symbols for functions
24307 that libgcc provides.
24308
cdb308b0 243092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24310
24311 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
24312 * include/grub/sparc64/libgcc.h (memset): Likewise.
24313 * include/grub/misc.h (memset, memcmp): New function prototypes.
24314
fb26abc2 243152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24316
24317 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
24318 `cpio'.
24319 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
24320
f6693890 243212009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24322
24323 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
24324 * docs/grub.cfg: Compensate for recent change in multiboot
24325 loader (since 2009-08-14 it won't pass filename to payload).
24326 * util/grub.d/10_hurd.in: Likewise.
24327
0933cdc0 243282009-10-21 Felix Zielcke <fzielcke@z-51.de>
24329
24330 * config.guess: Update to latest version from config git
24331 repository.
24332 * config.sub: Likewise.
24333
3b2fe8c2 243342009-10-20 Robert Millan <rmh.grub@aybabtu.com>
24335
24336 Fix build on sparc64.
24337
24338 * configure.ac: Perform checks for libgcc symbols before
24339 adding `-nostdlib' to LDFLAGS.
24340
46695a62 243412009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24342
24343 Let user specify OpenBSD root device.
24344
24345 * loader/i386/bsd.c (openbsd_root): New variable.
24346 (openbsd_opts): New option 'root'.
24347 (OPENBSD_ROOT_ARG): New macro.
24348 (grub_openbsd_boot): Use 'openbsd_root'.
24349 (grub_cmd_openbsd): Fill 'openbsd_root'.
24350
d2b6b7fc 243512009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24352
24353 * NEWS: Misc adjustments.
24354
421bd7ac 243552009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24356
24357 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
24358
f1d29d87 243592009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24360
24361 * configure.ac: Bump version to 1.97.
24362
6f3cd880 243632009-10-16 Colin Watson <cjwatson@ubuntu.com>
24364
24365 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
24366 -mno-3dnow on x86 architectures. Some toolchains enable these
24367 features by default, but they rely on registers that aren't enabled
24368 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
24369
035f7122 243702009-10-15 Robert Millan <rmh.grub@aybabtu.com>
24371
24372 Make entry text a bit more readable.
24373
24374 * util/grub.d/10_linux.in: Add `with' before `Linux'.
24375
44998e58 243762009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24377
24378 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
24379
cd2851b3 243802009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24381
24382 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
24383 operations.
24384
c6f3b249 243852009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24386
24387 * configure.ac: Add missing dollar.
24388
6b5886ba 243892009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24390
24391 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
24392
24393 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
24394 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
24395 exports.
24396 * include/grub/sparc64/libgcc.h: Likewise. Use
24397 preprocessor conditionals.
24398
e9d66f6d 243992009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24400
24401 * conf/common.rmk (grub-dumpbios): Remove rule.
24402 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
24403 * util/grub-dumpbios.in: Remove file.
24404
9155bc17 244052009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24406
24407 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
24408 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
24409
24410 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
24411 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
24412 users.
24413
24414 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
24415 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
24416 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
24417 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
24418 users.
24419
bf7f7a18 244202009-10-12 Robert Millan <rmh.grub@aybabtu.com>
24421
24422 * term/tparm.c: Switch to GPLv3.
24423
86564c26 244242009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24425
24426 * include/grub/i386/cpuid.h: Add header protection.
24427
5c936493 244282009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24429
24430 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
24431
24432 * include/grub/i386/cpuid.h: New file.
24433 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
24434 (has_longmode): Rename to ...
24435 (grub_cpuid_has_longmode): ... this. Update all users. Remove
24436 `static' attribute.
24437 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
24438 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
24439 on a CPU that doesn't implement AMD64 instruction set.
24440
186e7cf2 244412009-10-06 Colin Watson <cjwatson@ubuntu.com>
24442
24443 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
24444 that version.texi is rebuilt on version number changes.
24445
83b65c4a 244462009-10-06 Colin Watson <cjwatson@ubuntu.com>
24447
24448 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
24449 Fixes bug #27602.
24450
d244281c 244512009-10-06 Colin Watson <cjwatson@ubuntu.com>
24452
24453 * util/i386/pc/grub-install.in: Source
24454 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
24455 that the --grub-probe option will work.
24456 * util/sparc64/ieee1275/grub-install.in: Likewise.
24457
da25306d 244582009-10-05 Robert Millan <rmh.grub@aybabtu.com>
24459
24460 * configure.ac: Bump version to 1.97~beta4.
24461
e8ee83c0 244622009-10-03 Robert Millan <rmh.grub@aybabtu.com>
24463
24464 Resync grub-mkdevicemap in x86_64-efi.
24465
24466 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
24467 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
24468 `util/devicemap.c'.
24469
50dcabcf 244702009-10-01 Colin Watson <cjwatson@ubuntu.com>
24471
24472 * util/grub-editenv.c (create_envblk_file): Write new block with a
24473 .new suffix and then rename it into place, to ensure atomic
24474 creation.
24475
0e51c3a7 244762009-09-28 Robert Millan <rmh.grub@aybabtu.com>
24477
24478 Do not automatically install headers.
24479
24480 * Makefile.in (include_DATA): Remove. Update all users.
24481
31299a95 244822009-09-26 Robert Millan <rmh.grub@aybabtu.com>
24483
24484 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
24485 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24486
24487 * util/osdetect.lua: Remove.
24488 * script/lua/lauxlib.c: Likewise.
24489 * script/lua/ldebug.c: Likewise.
24490 * script/lua/grub_main.c: Likewise.
24491 * script/lua/lauxlib.h: Likewise.
24492 * script/lua/ldebug.h: Likewise.
24493 * script/lua/ltablib.c: Likewise.
24494 * script/lua/liolib.c: Likewise.
24495 * script/lua/lstrlib.c: Likewise.
24496 * script/lua/lualib.h: Likewise.
24497 * script/lua/ldo.c: Likewise.
24498 * script/lua/ldump.c: Likewise.
24499 * script/lua/ldo.h: Likewise.
24500 * script/lua/loslib.c: Likewise.
24501 * script/lua/lundump.c: Likewise.
24502 * script/lua/grub_lib.c: Likewise.
24503 * script/lua/ldblib.c: Likewise.
24504 * script/lua/lundump.h: Likewise.
24505 * script/lua/lmem.c: Likewise.
24506 * script/lua/grub_lib.h: Likewise.
24507 * script/lua/lmathlib.c: Likewise.
24508 * script/lua/lstate.c: Likewise.
24509 * script/lua/ltm.c: Likewise.
24510 * script/lua/lvm.c: Likewise.
24511 * script/lua/lmem.h: Likewise.
24512 * script/lua/lstate.h: Likewise.
24513 * script/lua/ltm.h: Likewise.
24514 * script/lua/ltable.c: Likewise.
24515 * script/lua/lvm.h: Likewise.
24516 * script/lua/llex.c: Likewise.
24517 * script/lua/lgc.c: Likewise.
24518 * script/lua/grub_lua.h: Likewise.
24519 * script/lua/loadlib.c: Likewise.
24520 * script/lua/lfunc.c: Likewise.
24521 * script/lua/lopcodes.c: Likewise.
24522 * script/lua/lparser.c: Likewise.
24523 * script/lua/ltable.h: Likewise.
24524 * script/lua/llex.h: Likewise.
24525 * script/lua/lgc.h: Likewise.
24526 * script/lua/lfunc.h: Likewise.
24527 * script/lua/lbaselib.c: Likewise.
24528 * script/lua/lopcodes.h: Likewise.
24529 * script/lua/lparser.h: Likewise.
24530 * script/lua/lzio.c: Likewise.
24531 * script/lua/linit.c: Likewise.
24532 * script/lua/lobject.c: Likewise.
24533 * script/lua/llimits.h: Likewise.
24534 * script/lua/lstring.c: Likewise.
24535 * script/lua/lzio.h: Likewise.
24536 * script/lua/lapi.c: Likewise.
24537 * script/lua/lcode.c: Likewise.
24538 * script/lua/lua.h: Likewise.
24539 * script/lua/lobject.h: Likewise.
24540 * script/lua/lstring.h: Likewise.
24541 * script/lua/lapi.h: Likewise.
24542 * script/lua/lcode.h: Likewise.
24543 * script/lua/luaconf.h: Likewise.
24544
cb8a2c38 245452009-09-26 Colin Watson <cjwatson@ubuntu.com>
24546
24547 * docs/grub.texi (Command-line and menu entry commands): Document
24548 date and echo commands.
24549
6b9b6276 245502009-09-24 Pavel Roskin <proski@gnu.org>
24551
24552 * include/grub/kernel.h (struct grub_module_header): Remove
24553 `grub_module_header_types'. Make `type' unsigned. Make `size'
24554 32-bit on all platforms.
24555 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24556 8-bit field. Use grub_host_to_target32() for `size'.
24557 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24558 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24559 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24560
4e5a02a7 245612009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24562
24563 Fix "lost keypress" bug in at_keyboard.
24564
24565 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24566 Checks for readyness of input buffer (without flushing it).
24567 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24568 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24569
c6dcedf6 245702009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24571
24572 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24573 size check within GRUB_MACHINE_PCBIOS section.
24574
74c958b1 245752009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24576
24577 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24578 return value.
24579 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24580 KEYBOARD_ISREADY check.
24581 (grub_at_keyboard_checkkey): Rename to ...
24582 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24583 Remove gratuitous cast.
24584
ff420223 245852009-09-23 Colin Watson <cjwatson@ubuntu.com>
24586
24587 * configure.ac: Call AC_PROG_MKDIR_P.
24588 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24589 version.texi in $(builddir) rather than $(srcdir).
24590 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24591 to makeinfo's @include search path.
24592
d96875df 245932009-09-23 Felix Zielcke <fzielcke@z-51.de>
24594
24595 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24596
9b3f8365 245972009-09-23 Felix Zielcke <fzielcke@z-51.de>
24598
24599 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24600 for `*.dpkg-new'.
24601
c44c90db 246022009-09-21 Colin Watson <cjwatson@ubuntu.com>
24603
24604 Build info documentation. Some code borrowed from Automake.
24605
24606 * configure.ac: Check for makeinfo.
24607 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24608 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24609 docs/version.texi.
24610 (MOSTLYCLEANFILES): Add vti.tmp.
24611 (docs/version.texi, docs/stamp-vti): Update automatically.
24612 (docs/grub.info): Build info documentation. Use --force and ignore
24613 errors for now.
24614 (all-local): Add $(INFOS).
24615 (install-local): Install info files.
24616 (uninstall): Uninstall info files.
24617 * docs/version.texi: Remove from revision control. This file is
24618 automatically generated on build now.
24619 * gendistlist.sh: Add `*.info'.
24620
e0b37bb5 246212009-09-21 Felix Zielcke <fzielcke@z-51.de>
24622
24623 * kern/term.c: Fix indentation.
24624
5a78865b 246252009-09-21 Felix Zielcke <fzielcke@z-51.de>
24626
24627 * util/hostdisk.c: Fix a comment.
24628
dace7e8a 246292009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24630
24631 Fix regression introduced in r2539.
24632
24633 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24634 to 0xA1.
24635
a83d079b 246362009-09-19 Colin Watson <cjwatson@ubuntu.com>
24637
24638 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 24639 os-prober. Under normal operation, it does not print anything to
24640 stderr; if it does, we need to debug it, and throwing away stderr
24641 makes that excessively difficult.
a83d079b 24642
be94a509 246432009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24644
24645 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24646
63f745e8 246472009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24648
24649 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24650 AC_LANG_PROGRAM from autoconf.
24651 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24652 prototypes (fixes warning).
24653
24654 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24655 `--disable-werror' was used.
24656
bbb2a70f 246572009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24658
24659 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
24660 uninitialized `lastaddr'.
24661
77c24f1d 246622009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
24663
0f0b8c87 24664 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 24665
07197f23 246662009-09-14 Colin Watson <cjwatson@ubuntu.com>
24667
24668 * commands/test.c (get_fileinfo): Return immediately if
24669 grub_fs_probe fails.
24670
dabf1798 246712009-09-14 José Martínez <xosemp@gmail.com>
24672
24673 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
24674
d52109a7 246752009-09-14 Colin Watson <cjwatson@ubuntu.com>
24676
24677 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
24678 output.
24679
56532179 246802009-09-13 Robert Millan <rmh.grub@aybabtu.com>
24681
24682 * configure.ac: Remove --enable-grub-pe2elf. Only build
24683 grub-pe2elf when needed by the build system itself.
24684 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
24685
8ef070f5 246862009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24687
24688 * configure.ac: Bump version to 1.97~beta3.
24689 * docs/version.texi: Likewise.
24690
61229557 246912009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24692
24693 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
24694 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
24695 from here ...
24696 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
24697 (grub_linux_setup_video): ... to here (with some adjustments).
24698
5c9f8d84 246992009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24700
24701 Fix memory corruption issue (spotted by Colin Watson).
24702
24703 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
24704 causing returned size to be stored in an incorrect memory location.
24705 Fix use of uninitialized value when storing the returned size.
24706
e8f5d6e9 247072009-09-12 Yves Blusseau <blusseau@zetam.org>
24708
24709 Change clean rules to properly remove files
24710
24711 * genmk.rb: add new clean rules
24712 * Makefile.in (clean): add the new targets
24713 (mostlyclean): likewise
24714
cda2a409 247152009-09-11 Colin Watson <cjwatson@ubuntu.com>
24716
24717 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
24718 to grub_uint64_t.
24719 * fs/ntfs.c (init_file): Understand 64-bit sizes for
24720 non-resident files.
24721
86695375 247222009-09-11 Colin Watson <cjwatson@ubuntu.com>
24723
24724 * configure.ac: Don't look for help2man when cross-compiling. Fixes
24725 part of bug #27349.
24726
8aa1541a 247272009-09-10 Felix Zielcke <fzielcke@z-51.de>
24728
24729 * util/grub-mkconfig.in: Make the created config mode 400 and
24730 print a warning if it fails.
24731
48d9bb0a 247322009-09-10 Robert Millan <rmh.grub@aybabtu.com>
24733
24734 * util/grub.d/40_custom.in: Ask user to type custom entries below
24735 comment, rather than below 'exec tail' line.
24736
3b0521be 247372009-09-10 Colin Watson <cjwatson@ubuntu.com>
24738
24739 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24740 visible in grub.cfg.
24741
50051d55 247422009-09-10 Colin Watson <cjwatson@ubuntu.com>
24743
24744 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24745 file.
24746
c0d34387 247472009-09-10 Felix Zielcke <fzielcke@z-51.de>
24748
24749 * docs/grub.cfg: Add an example menu entry for memtest86+.
24750
80a608f3 247512009-09-09 Felix Zielcke <fzielcke@z-51.de>
24752
a2094832 24753 * config.guess: Update to latest version from config git.
80a608f3 24754 * config.sub: Likewise.
24755
99423078 247562009-09-08 Colin Watson <cjwatson@ubuntu.com>
24757
24758 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24759 unknown-command case. Fixes bug #27320.
24760
44454e4c 247612009-09-08 Felix Zielcke <fzielcke@z-51.de>
24762
24763 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24764 `help' if the command exists.
24765
e30d87ad 247662009-09-06 Robert Millan <rmh.grub@aybabtu.com>
24767
24768 * INSTALL: Require GCC 4.1.3 or later.
24769
9a86f1ec 247702009-09-06 Yves Blusseau <blusseau@zetam.org>
24771
24772 * Makefile.in (RMKFILES): add i386-qemu.rmk
24773 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
24774 $(srcdir)/stamp-h.in
24775
7f26d466 247762009-09-05 Robert Millan <rmh.grub@aybabtu.com>
24777
24778 * util/grub-probe.c (probe): Comment out buggy codepath, which
24779 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
24780 should be re-enabled after 1.97.
24781
3a613259 247822009-09-05 Felix Zielcke <fzielcke@z-51.de>
24783
24784 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
24785 find searches for.
24786
197f76c7 247872009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24788
24789 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
24790 unnecessary calls to grub_error.
24791
70ba68ce 247922009-09-04 Colin Watson <cjwatson@ubuntu.com>
24793
24794 * NEWS: Mention `keystatus' and Unicode fonts.
24795
4ff0d7a4 247962009-09-04 Robert Millan <rmh.grub@aybabtu.com>
24797
24798 * configure.ac: Bump version to 1.97~beta2.
24799 * docs/version.texi: Likewise.
24800
77c55a87 248012009-09-03 Colin Watson <cjwatson@ubuntu.com>
24802
24803 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
24804 containing unwind information in some cases where it previously did
24805 not. Use -fno-dwarf2-cfi-asm if available to restore the old
24806 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
24807 discussion.
24808
f79572cd 248092009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
24810
24811 Embedding loadenv module into grub-emu
24812
24813 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
24814 commands/loadenv.c
24815 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
24816 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
24817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
24818 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
24819 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
24820 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
24821
93a81088 248222009-09-03 Magnus Granberg <zorry@ume.nu>
24823
24824 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
24825 include -fPIE in the default specs.
24826 * configure.ac: Check if pie_possible is yes and add -fno-PIE
24827 to TARGET_CFLAGS.
24828
160034b2 248292009-09-03 Felix Zielcke <fzielcke@z-51.de>
24830
24831 * INSTALL: Note that GNU Bison 2.3 or later is required.
24832
087c07c4 248332009-09-03 Colin Watson <cjwatson@ubuntu.com>
24834
24835 * kern/i386/pc/startup.S: Fix typo.
24836
cbf978c0 248372009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24838
24839 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
24840 according to GCS.
24841
248422009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 24843
24844 * docs/grub.texi (Naming convention): Describe one-based partition
24845 numbering.
24846 (Device syntax): Likewise.
24847 (File name syntax): Likewise.
24848 (Block list syntax): Likewise.
24849 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
24850 menu.lst.
24851 (File name syntax): Likewise.
24852 (Command-line and menu entry commands): Document acpi, blocklist,
24853 crc, export, insmod, keystatus, ls, set, and unset commands.
24854
f3e8cdfd 248552009-09-02 Colin Watson <cjwatson@ubuntu.com>
24856
24857 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
24858 to avoid implying that only one of --shift, --ctrl, or --alt may be
24859 used.
24860
c0bc232b 248612009-09-02 Colin Watson <cjwatson@ubuntu.com>
24862
24863 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
24864 rather than comparing against S_IFREG, which will almost never work.
24865
aa0f752d 248662009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24867
24868 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
24869 (write_blocklists): Likewise.
24870
ecb3166a 248712009-09-01 Colin Watson <cjwatson@ubuntu.com>
24872
24873 * script/lua/grub_lua.h (fputs): Supply a format string as the first
24874 argument to grub_printf.
24875
c403a125 248762009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 24877
24878 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 24879 non GNU test.
31aba781 24880
b5e7312c 248812009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24882
24883 * kern/file.c (grub_file_read): Spelling fix
24884
fe00f472 248852009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24886
24887 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
24888 loading of headers in some cases.
24889
cc55302e 248902009-08-30 Robert Millan <rmh.grub@aybabtu.com>
24891
24892 * configure.ac: Bump version to 1.97~beta1.
24893 * docs/version.texi: Likewise.
24894
5c90cdd2 248952009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 24896
24897 * include/grub/i386/xnu.h: Add license header.
24898 include grub/err.h explicitly.
24899
c90edae4 249002009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24901
24902 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
24903 to `ufs' in the vfs.root.mountfrom kernel parameter.
24904
d8888b5c 249052009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24906
24907 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
24908
24909 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
24910 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
24911
24912 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
24913 `ARRAY_SIZE' macro.
24914
6f07b921 249152009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24916
24917 * kern/file.c (grub_file_read): Check offset.
24918 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
24919 * fs/jfs.c (grub_jfs_read_file): Likewise.
24920 * fs/ntfs.c (grub_ntfs_read): Likewise.
24921 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
24922 * fs/minix.c (grub_minix_read_file): Correct offset check.
24923 * fs/ufs.c (grub_ufs_read_file): Likewise.
24924
b4f34077 249252009-08-28 Colin Watson <cjwatson@ubuntu.com>
24926
24927 * term/i386/pc/console.c (bios_data_area): Cast
24928 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
24929
e7c69859 249302009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24931
24932 1-bit optimised blitters.
24933
24934 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
24935 prototype.
24936 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24937 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24938 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24939 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24940 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24941 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24942 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
24943 function.
24944 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24945 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24946 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24947 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24948 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24949 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24950 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
24951 when possible.
24952 * video/video.c (grub_video_get_blit_format): Return
24953 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
24954
a57da43f 249552009-08-28 Colin Watson <cjwatson@ubuntu.com>
24956
24957 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
24958 the first argument to grub_printf.
24959
4cbe67e5 249602009-08-28 Colin Watson <cjwatson@ubuntu.com>
249612009-08-28 Robert Millan <rmh.grub@aybabtu.com>
24962
24963 Add `getkeystatus' terminal method. Add a new `keystatus' command
24964 to query it.
24965
24966 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
24967 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
24968 modifier key bitmasks.
24969 (struct grub_term_input): Add `getkeystatus' member.
24970 (grub_getkeystatus): Add prototype.
24971 * kern/term.c (grub_getkeystatus): New function.
24972
24973 * include/grub/i386/pc/memory.h
24974 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
24975 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
24976 Data Area layout.
24977 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
24978 (grub_console_term_input): Set `getkeystatus' member.
24979 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
24980 constants.
24981 (grub_usb_keyboard_getreport): Likewise.
24982 (grub_usb_keyboard_checkkey): Likewise.
24983 (grub_usb_keyboard_getkeystatus): New function.
24984 (grub_usb_keyboard_term): Set `getkeystatus' member.
24985
24986 * commands/keystatus.c: New file.
24987 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
24988 (keystatus_mod_SOURCES): New variable.
24989 (keystatus_mod_CFLAGS): Likewise.
24990 (keystatus_mod_LDFLAGS): Likewise.
24991 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
24992 commands/keystatus.c.
24993 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24994 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24995 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24997 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24998 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 24999
6e2a9085 250002009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25001
25002 Split befs.mod and afs.mod into *_be.mod and *.mod
25003
25004 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
25005 (grub_fstest_SOURCES): Likewise.
25006 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
25007 (afs_be_mod_SOURCES): New variable.
25008 (afs_be_mod_CFLAGS): Likewise.
25009 (afs_be_mod_LDFLAGS): Likewise.
25010 (befs_be_mod_SOURCES): Likewise.
25011 (befs_be_mod_CFLAGS): Likewise.
25012 (befs_be_mod_LDFLAGS): Likewise.
25013 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
25014 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25015 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25016 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25017 (grub_emu_SOURCES): Likewise.
25018 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25019 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25020 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25021 * fs/afs_be.c: New file.
25022 * fs/befs_be.c: New file.
25023 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
25024 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
25025 (U16): Replaced with ...
25026 (grub_afs_to_cpu16): ...this. All users updated.
25027 (U32): Replaced with ...
25028 (grub_afs_to_cpu32): ...this. All users updated.
25029 (U64): Replaced with ...
25030 (grub_afs_to_cpu64): ...this. All users updated.
25031 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
25032 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 25033 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 25034 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25035 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25036 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25037 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25038 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25039 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25040 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25041 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25042
32a71655 250432009-08-26 Bean <bean123ch@gmail.com>
25044
25045 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
25046 64-bit number.
25047 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
25048 (grub_xfs_inode_block): Change return type to grub_uint64_t.
25049 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
25050
552bf6c5 250512009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25052
25053 NetBSD memory map support.
25054
25055 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
25056 (grub_netbsd_btinfo_mmap_header): New structure.
25057 (grub_netbsd_btinfo_mmap_entry): Likewise.
25058 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
25059
1ae2078c 250602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25061
25062 Enable bsd.mod on coreboot.
25063
25064 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
25065 (bsd_mod_SOURCES): New variable.
25066 (bsd_mod_CFLAGS): Likewise.
25067 (bsd_mod_LDFLAGS): Likewise.
25068 (bsd_mod_ASFLAGS): Likewise.
25069 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
25070 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
25071
beefc598 250722009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25073
25074 Cleanup NetBSD root support.
25075
25076 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
25077 grub_bsd_get_device.
25078 Fix typo.
25079
3b76e68b 250802009-08-25 Felix Zielcke <fzielcke@z-51.de>
25081
25082 * util/grub.d/00_header.in: Move check for the video backend of
25083 gfxterm from here ...
25084 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
25085 a suitable video backend.
25086
aea664ea 250872009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25088
25089 Fix breakage in grub-setup.
25090
25091 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
25092 "msdos_partition_map".
25093
ff747d50 250942009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25095
25096 Fix breakage in normal/auth.c.
25097
25098 * normal/auth.c (grub_iswordseparator): New function.
25099
e7e1f93f 251002009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25101
25102 Authentication support.
25103
25104 * commands/password.c: New file.
25105 * conf/common.rmk (pkglib_MODULES): Add password.mod.
25106 (password_mod_SOURCES): New variable.
25107 (password_mod_CFLAGS): Likewise.
25108 (password_mod_LDFLAGS): Likewise.
25109 (normal_mod_SOURCES): Add normal/auth.c.
25110 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
25111 normal/auth.c.
25112 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25113 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25114 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25116 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25117 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25118 * include/grub/auth.h: New file.
25119 * include/grub/err.h (grub_err_t): New enum value
25120 GRUB_ERR_ACCESS_DENIED.
25121 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
25122 'users'.
25123 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
25124 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
25125 users updated.
25126 * normal/auth.c: New file.
25127 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
25128 (grub_cmdline_run): Don't allow to go to command line without
25129 authentication.
25130 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
25131 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
25132 menuentry without superuser rights.
25133 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
25134 user isn't a superuser.
25135
70f1161d 251362009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25137
25138 Save space by inlining misc.c functions.
25139
25140 * kern/misc.c (grub_iswordseparator): Made static.
25141 * kern/misc.c (grub_strcat): Moved from here ...
25142 * include/grub/misc.h (grub_strcat): ... here. Inlined.
25143 * kern/misc.c (grub_strncat): Moved from here ...
25144 * include/grub/misc.h (grub_strncat): ... here. Inlined.
25145 * kern/misc.c (grub_strcasecmp): Moved from here ...
25146 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
25147 * kern/misc.c (grub_strncasecmp): Moved from here ...
25148 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
25149 * kern/misc.c (grub_isalpha): Moved from here ...
25150 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
25151 * kern/misc.c (grub_isdigit): Moved from here ...
25152 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
25153 * kern/misc.c (grub_isgraph): Moved from here ...
25154 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
25155 * kern/misc.c (grub_tolower): Moved from here ...
25156 * include/grub/misc.h (grub_tolower): ... here. Inlined.
25157
48e40bff 251582009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25159
25160 * script/sh/function.c (grub_script_function_find): Cut error message
25161 not to flood terminal.
25162 * script/sh/lexer.c (grub_script_yylex): Remove command line length
25163 limit.
25164 * script/sh/script.c (grub_script_arg_add): Duplicate string.
25165
c385bfc3 251662009-08-24 Colin Watson <cjwatson@ubuntu.com>
25167
25168 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
25169 `report' grub_uint8_t *.
25170 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
25171 Use a 50-millisecond timeout rather than just repeating
25172 grub_usb_keyboard_getreport 50 times.
25173 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
25174
2d21e3e8 251752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25176
25177 Rename *_partition_map to part_*
25178
25179 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
25180 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
25181 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
25182 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
25183 All users updated.
25184 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
25185 All users updated.
25186 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
25187 * util/grub-probe.c (probe_partmap): Don't transform partition name
25188 to get module name.
25189
dd103c4e 251902009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25191
25192 Fix OpenBSD and NetBSD support.
25193
25194 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
25195 memory address conflict.
25196 (OPENBSD_MMAP_ACPI): New definition.
25197 (OPENBSD_MMAP_NVS): Likewise.
25198 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
25199 and OPENBSD_MMAP_NVS.
25200 Add memory map terminator
25201 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 25202 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 25203
16c84d74 252042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25205
25206 Let user specify NetBSD root device.
25207
25208 * loader/i386/bsd.c (netbsd_root): New variable.
25209 (netbsd_opts): New option 'root'.
25210 (NETBSD_ROOT_ARG): New macro.
25211 (grub_netbsd_boot): Use 'netbsd_root'.
25212 (grub_bsd_unload): Free 'netbsd_root'.
25213 (grub_cmd_netbsd): Fill 'netbsd_root'.
25214
adb29902 252152009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25216
25217 Support for 64-bit NetBSD.
25218
25219 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
25220 point when booting non-FreeBSD.
25221
f5ae9f74 252222009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25223
25224 Support --no-smp and --no-acpi for NetBSD.
25225
25226 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
25227 (NETBSD_AB_NOACPI): Likewise.
25228 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
25229 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
25230
de74f136 252312009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25232
25233 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
25234 errors.
25235 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
25236 errors. Call grub_error when needed.
25237
e9a925da 252382009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25239
25240 * commands/search.c (search_fs): Try searching without autoload first.
25241 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
25242 filesystem module explicitly for faster booting.
25243
5174302b 252442009-08-23 Colin Watson <cjwatson@ubuntu.com>
25245
25246 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
25247
c8c80635 252482009-08-23 Colin Watson <cjwatson@ubuntu.com>
25249
25250 * util/grub.d/30_os-prober.in: Disable os-prober if
25251 `GRUB_DISABLE_OS_PROBER' was set to true.
25252
71acf5e5 252532009-08-23 Robert Millan <rmh.grub@aybabtu.com>
25254
25255 * partmap/pc.c: Rename to ...
25256 * partmap/msdos.c: ... this. Update all users.
25257 (grub_pc_partition_map): Rename to ...
25258 (grub_msdos_partition_map): ... this. Update all users.
25259
25260 * parttool/pcpart.c: Rename to ...
25261 * parttool/msdospart.c: ... this. Update all users.
25262
25263 * include/grub/pc_partition.h: Rename to ...
25264 * include/grub/msdos_partition.h: ... this. Update all users.
25265 (grub_pc_partition_bsd_entry): Rename to ...
25266 (grub_msdos_partition_bsd_entry): ... this. Update all users.
25267 (grub_pc_partition_disk_label): Rename to ...
25268 (grub_msdos_partition_disk_label): ... this. Update all users.
25269 (grub_pc_partition_entry): Rename to ...
25270 (grub_msdos_partition_entry): ... this. Update all users.
25271 (grub_pc_partition_mbr): Rename to ...
25272 (grub_msdos_partition_mbr): ... this. Update all users.
25273 (grub_pc_partition): Rename to ...
25274 (grub_msdos_partition): ... this. Update all users.
25275 (grub_pc_partition_is_empty): Rename to ...
25276 (grub_msdos_partition_is_empty): ... this. Update all users.
25277 (grub_pc_partition_is_extended): Rename to ...
25278 (grub_msdos_partition_is_extended): ... this. Update all users.
25279 (grub_pc_partition_is_bsd): Rename to ...
25280 (grub_msdos_partition_is_bsd): ... this. Update all users.
25281
25282 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
25283 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
25284 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
25285 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
25286 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
25287 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
25288 (gpt_mod_LDFLAGS): Rename to ...
25289 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
25290 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
25291 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
25292 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
25293 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
25294 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
25295 (part_gpt_mod_LDFLAGS): ... this.
25296 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
25297 `pcpart.mod' to `msdospart.mod'.
25298 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
25299 to ...
25300 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
25301 (msdospart_mod_LDFLAGS): ... this.
25302
c11fded5 253032009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25304
25305 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
25306 (openbsd_opts): Likewise.
25307 (netbsd_opts): Likewise.
25308 (freebsd_flags): Added 0 terminator.
25309 (openbsd_flags): Likewise.
25310 (netbsd_flags): Likewise.
25311 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
25312 (grub_cmd_freebsd): Transformed into extended command.
25313 (grub_cmd_openbsd): Likewise.
25314 (grub_cmd_netbsd): Likewise.
25315 (cmd_freebsd): Changed type to grub_extcmd_t.
25316 (cmd_openbsd): Likewise.
25317 (cmd_netbsd): Likewise.
25318 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
25319 grub_cmd_openbsd as extended commands.
25320 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
25321 cmd_netbsd and cmd_openbsd
25322
11d1c769 253232009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25324
25325 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
25326
7a9094e5 253272009-08-21 Pavel Roskin <proski@gnu.org>
25328
5496c37e 25329 * Makefile.in (install-local): When checking if a file is in the
25330 build directory, use "test -e" to detect symlinks.
25331
7a9094e5 25332 * Makefile.in (install-local): Remove all files in
25333 $(DESTDIR)$(pkglibdir) before installing new files there.
25334
e53cea11 253352009-08-18 Felix Zielcke <fzielcke@z-51.de>
25336
25337 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
25338 grub-mkelfimage.
25339
9aced544 253402009-08-18 Felix Zielcke <fzielcke@z-51.de>
25341
25342 * util/grub-mkconfig.in: Don't use gfxterm by default if not
25343 explicitly specified by the user.
25344
b7da6bab 253452009-08-18 Pavel Roskin <proski@gnu.org>
25346
25347 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
25348 grub_uint8_t pointer for data.
25349 * include/grub/fbutil.h (struct grub_video_fbblit_info):
25350 Likewise.
25351 * video/fb/fbutil.c: Remove unnecessary casts.
25352
19f1b335 253532009-08-17 Michal Suchanek <hramrach@centrum.cz>
25354
25355 VBE cleanup.
25356
25357 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
25358 (grub_vbe_set_video_mode): Save active mode info
25359 only after setting the mode.
25360 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
25361 second argument.
25362
2f467aa9 253632009-08-17 Michal Suchanek <hramrach@centrum.cz>
25364
25365 Rename variables for clarity.
25366
25367 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
25368 (active_vbe_mode_info): ... this. All users updated.
25369 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
25370 All users updated.
25371 (initial_mode): Rename to ...
25372 (initial_vbe_mode): ... this. All users updated.
25373 (mode_in_use): Rename to ..
25374 (vbe_mode_in_use): ... this. All users updated.
25375 (mode_list): Rename to ..
25376 (vbe_mode_list): ... this. All users updated.
25377 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
25378 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
25379 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
25380 'mode_list_size' to 'vbe_mode_list_size'.
25381 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
25382 'best_mode_info' to 'best_vbe_mode_info' and
25383 'best_mode' to 'best_vbe_mode'
25384
6025fcd7 253852009-08-17 Michal Suchanek <hramrach@centrum.cz>
25386
25387 Remove duplicate grub_video_fb_get_video_ptr.
25388
25389 * include/grub/fbutil.h (get_data_ptr): Rename to ...
25390 (grub_video_fb_get_video_ptr): ... this.
25391 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
25392 * video/fb/fbutil.c: Add comment about addressing.
25393 (get_data_ptr): Rename to ...
25394 (grub_video_fb_get_video_ptr): ... this. All users updated.
25395 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
25396
cc8c6faf 253972009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25398
25399 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
25400 grub_dprintf() that was just added.
25401
08aa61f0 254022009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25403
25404 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
25405 (DEFAULT_VIDEO_MODE): Remove macros.
25406 (grub_linux_boot): Remove assumption that Linux has FB support,
25407 and use "text" as default video mode.
25408
7cef4f75 254092009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
25410
25411 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
25412 grub_dprintf.
25413 * fs/fat.c (grub_fat_read_data): Likewise.
25414
e1f39873 254152009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25416
25417 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
25418 payload.
25419 (grub_module): Likewise.
25420
c166d79e 254212009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25422
25423 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
25424 mbi->cmdline but free playground.
25425
c60cee8e 254262009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25427
25428 Handle group offset on UFS1.
25429
25430 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
25431 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
25432
c0d8b5d4 254332009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25434
25435 Split ufs.mod into ufs1.mod and ufs2.mod.
25436
25437 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
25438 (grub_fstest_SOURCES): Likewise.
25439 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
25440 (ufs_mod_SOURCES): Remove.
25441 (ufs_mod_CFLAGS): Likewise.
25442 (ufs_mod_LDFLAGS): Likewise.
25443 (ufs1_mod_SOURCES): New variable.
25444 (ufs1_mod_CFLAGS): Likewise.
25445 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 25446 (ufs2_mod_SOURCES): New variable.
25447 (ufs2_mod_CFLAGS): Likewise.
25448 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 25449 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
25450 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25451 Likewise.
25452 (grub_emu_SOURCES): Likewise.
25453 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25454 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25455 (grub_setup_SOURCES): Likewise.
25456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25457 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
25458 (grub_setup_SOURCES): Likewise.
25459 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25460 Likewise.
25461 * fs/ufs2.c: New file.
25462 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
25463
d3539132 254642009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25465
25466 Framebuffer split.
25467
25468 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
25469 subsystem at the end.
25470 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
25471 (video_fb_mod_SOURCES): New variable.
25472 (video_fb_mod_CFLAGS): Likewise.
25473 (video_fb_mod_LDFLAGS): Likewise.
25474 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
25475 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
25476 * video/i386/pc/vbeblit.c: Moved from here ...
25477 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
25478 * video/i386/pc/vbefill.c: Moved from here ...
25479 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
25480 * video/i386/pc/vbeutil.c: Moved from here ...
25481 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
25482 * include/grub/i386/pc/vbeblit.h: Moved from here ...
25483 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
25484 * include/grub/i386/pc/vbefill.h: Moved from here ...
25485 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25486 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25487 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25488 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25489 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25490 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25491 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25492 (grub_video_adapter): Added 'get_info_and_fini'.
25493 (grub_video_get_info_and_fini): New prototype.
25494 (grub_video_set_mode): make modestring const char *.
25495 * loader/i386/linux.c (grub_linux_setup_video): Use
25496 grub_video_get_info_and_fini.
25497 (grub_linux_boot): Move modesetting just before booting.
25498 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25499 grub_video_get_info_and_fini.
25500 * video/i386/pc/vbe.c: Moved framebuffer part ...
25501 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25502 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25503 grub_video_fbstd_colors and grub_video_fb_set_palette.
25504 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25505 grub_video_fb_init.
25506 (grub_video_vbe_fini): Use grub_video_fb_fini.
25507 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25508 render_target and use grub_video_fb_set_active_render_target and
25509 grub_video_fb_set_palette.
25510 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25511 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25512 (grub_video_vbe_adapter): Use framebuffer.
25513 * video/video.c (grub_video_get_info_and_fini): New function.
25514 (grub_video_set_mode): Make modestring const char *.
25515 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25516 values are already initialised.
25517
d404ee56 255182009-08-14 Pavel Roskin <proski@gnu.org>
25519
25520 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25521 ABS and APPLE_CC.
25522 * boot/i386/pc/diskboot.S: Likewise.
25523 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25524 sectors allow compilation on MacOSX.
25525 * conf/i386-pc.rmk: Enable unconditional compilation of
25526 lnxboot.img.
25527
9a10df16 255282009-08-13 Colin Watson <cjwatson@ubuntu.com>
25529
25530 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25531 * util/grub.d/00_header.in: Enter interruptible sleep if
25532 GRUB_HIDDEN_TIMEOUT is set.
25533
be3c9ca7 255342009-08-13 Yves Blusseau <blusseau@zetam.org>
25535
25536 * include/grub/symbol.h: Add the LOCAL macro.
25537 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25538 starting with "L_".
25539
1f9e557e 255402009-08-13 Pavel Roskin <proski@gnu.org>
25541
9ca62843 25542 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25543 any modern compilers we support.
25544
1f9e557e 25545 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25546 Use local labels starting with "L_" so that Apple assembler
25547 knows they are local.
25548
81623db6 255492009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25550
25551 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25552 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25553 (bsd_kernel_types): ... this enum.
25554
25555 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25556 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25557 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25558
25559 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25560 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25561 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25562 messages.
25563
f5d35e7a 255642009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25565
25566 * util/grub-dumpdevtree: Moved from here ...
25567 * util/i386/efi/grub-dumpdevtree: ... to here.
25568 (hexify): New function. Converts a string to its hex version.
25569 Generate hex versions of "efi" and "device-properties" by calling
25570 hexify() on the ASCII strings rather than by hardcoding numbers.
25571
d1e1d527 255722009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25573
25574 * fs/jfs.c: Update copyright year.
25575
1ebbe064 255762009-08-08 Felix Zielcke <fzielcke@z-51.de>
25577
25578 * util/grub.d/00_header.in: Fix a comment.
25579 * util/grub.d/10_linux.in: Likewise.
25580 * util/grub.d/10_windows.in: Likewise.
25581 * util/grub.d/10_hurd.in: Likewise.
25582
a78c8d24 255832009-08-08 Felix Zielcke <fzielcke@z-51.de>
25584
25585 * util/grub-mkconfig.in: Allow the user to specify the used font
25586 with GRUB_FONT.
25587
29a6b9e8 255882009-08-08 Pavel Roskin <proski@gnu.org>
25589
b5f16cc4 25590 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25591 available, xfs.mod needs it now.
25592
2f5cb827 25593 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25594 the "g" modifier in sed when the intention is to strip something
25595 once. This fixes comparison of kernels with multiple dashes.
25596
29a6b9e8 25597 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25598 on it. Add missing space before closing bracket. Fix
25599 misleading formatting.
25600
892a3d98 256012009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25602
25603 * docs/grub.texi: Major overhaul. Remove all sections that are
25604 specific to GRUB Legacy, or mostly composed of Legacy-specific
25605 information.
25606
ed94253f 256072009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25608
25609 * docs/version.texi: New file. Provides version information for
25610 grub.texi.
25611
126d6628 256122009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25613
25614 * docs/grub.texi: Update CVS information to SVN.
25615 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25616
998b5aa9 256172009-08-07 Felix Zielcke <fzielcke@z-51.de>
25618
25619 * util/grub-mkconfig.in: Remove a wrong `fi'.
25620
818e094a 256212009-08-07 Felix Zielcke <fzielcke@z-51.de>
25622
25623 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25624 (grub_jfs_uuid): New function.
25625 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25626
b969c52f 256272009-08-07 Felix Zielcke <fzielcke@z-51.de>
25628
25629 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25630 of it to ...
25631 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25632 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25633
7a4894cc 256342009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25635
25636 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25637 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25638 Update all users.
25639
25640 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25641 not just "vmlinu[zx]".
25642 Moved from here ...
25643 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25644 all users.
25645
25646 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25647 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25648 all users.
25649
4e2171f8 256502009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25651
25652 * util/grub.d/10_freebsd.in: Use an absolute device path for
25653 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25654
6dcfcb32 256552009-08-06 Felix Zielcke <fzielcke@z-51.de>
25656
25657 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
25658 handling of multiple abstraction modules.
25659
f56a8756 256602009-08-04 Robert Millan <rmh.grub@aybabtu.com>
25661
25662 Fix a bug resulting in black screen when loading Linux using a
25663 packed video mode.
25664
25665 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
25666 function.
25667
25668 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
25669 (grub_vbe_bios_getset_dac_palette_width): New function.
25670 (grub_vbe_bios_get_dac_palette_width)
25671 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
25672 grub_vbe_bios_getset_dac_palette_width()).
25673
25674 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
25675 check for return status.
25676 (grub_vbe_get_video_mode_info): When getting information for a packed
25677 mode (<= 8 bpp), obtain DAC palette width using
25678 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
25679 {red,green,blue}_mark_size.
25680
222671b2 256812009-08-04 Felix Zielcke <fzielcke@z-51.de>
25682
ecb1a6d9 25683 * commands/search.c (options): Fix help output to match actual code.
222671b2 25684
f84114f5 256852009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
25686
25687 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
25688 of homegrown code.
25689
bd288a20 256902009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 25691
25692 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
25693 on XFS or ReiserFS.
25694
8aab5e25 256952009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25696
25697 Support Apple partition map with sector size different from 512 bytes.
25698
25699 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
25700 (apple_partition_map_iterate): Respect 'aheader.blocksize'
25701 and 'apart.partmap_size'.
25702
6ad6258a 257032009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
257042009-08-01 Robert Millan <rmh.grub@aybabtu.com>
25705
25706 Fix cpuid command.
25707
25708 * commands/i386/cpuid.c (options): New variable.
25709 (grub_cmd_cpuid): Return real error.
25710 (GRUB_MOD_INIT(cpuid)): Declare options.
25711
67459bc6 257122009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
25713
25714 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
25715 valid.
25716
fbc6ab54 257172009-07-31 Bean <bean123ch@gmail.com>
25718
25719 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
25720 log2_inode.
25721 (grub_fshelp_node): Move inode field to the end.
25722 (grub_xfs_data): Remove inode field.
25723 (grub_xfs_inode_block): Calculate inode size using sblock.
25724 (grub_xfs_inode_offset): Likewise.
25725 (grub_xfs_read_inode): Calculate inode size using sblock.
25726 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
25727 (grub_xfs_iterate_dir): Calculate inode size using sblock.
25728 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
25729 to match inode size.
25730 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
25731 not accessible when data is null.
25732 (grub_xfs_open): Likewise.
25733
f45d6cfc 257342009-07-31 Bean <bean123ch@gmail.com>
25735
25736 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
25737 Don't change pv->disk if it's already set.
25738
25739 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25740 (grub_raid_register): ... here.
25741 (grub_raid_rescan): Removed.
25742
25743 * include/grub/raid.h (grub_raid_rescan): Removed.
25744
25745 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25746 (fstest): Replace grub_raid_rescan with module fini function followed
25747 by init function.
25748
25749 * util/grub-probe.c: Add include file <grub/raid.h>.
25750 (probe_raid_level): New function.
25751 (probe): Detect abstraction by walking the disk device, support two
25752 level of abstraction (LVM on RAID) when detecting partition map.
25753
24443b5a 257542009-07-31 Pavel Roskin <proski@gnu.org>
25755
25756 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25757 to grub_zalloc(), it was erroneous.
25758 Reported by Bean <bean123ch@gmail.com>
25759
a275d9e7 257602009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25761
25762 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 25763 embedding zone, not only the first one.
a275d9e7 25764
56c5a47f 257652009-07-29 Joe Auricchio <jauricchio@gmail.com>
25766
25767 * term/gfxterm.c (clear_char): New function.
25768 (grub_virtual_screen_setup): Use clear_char.
25769 (scroll_up): Likewise.
25770 (grub_virtual_screen_cls): Likewise.
25771
67bb323a 257722009-07-29 Felix Zielcke <fzielcke@z-51.de>
25773
25774 * util/deviceiter.c (get_acceleraid_disk_name): New static
25775 function.
25776 (grub_util_iterate_devices): Handle Accelraid devices.
25777 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
25778
388a7c75 257792009-07-28 Robert Millan <rmh.grub@aybabtu.com>
25780
25781 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
25782 separator for the suggested gfxpayload string (';' collides with the
25783 parser and needs escaping).
25784
3bb7abcf 257852009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25786
25787 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
25788 Clear direction flag before jumping to OS.
25789 (grub_multiboot2_real_boot): Likewise.
25790
2ddd36d7 257912009-07-28 Felix Zielcke <fzielcke@z-51.de>
25792
25793 * util/i386/pc/grub-install: Fix parsing of --disk-module
25794 option.
25795
c521b62b 257962009-07-28 Felix Zielcke <fzielcke@z-51.de>
25797
25798 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
25799 when embedding.
25800
880e0a0c 258012009-07-26 Felix Zielcke <fzielcke@z-51.de>
25802
25803 * util/grub-mkconfig.in (package_version): New variable.
25804 Use it do display the version.
25805
2366e356 258062009-07-25 Felix Zielcke <fzielcke@z-51.de>
25807
25808 * kern/file.c (grub_file_open): Revert to previous check with
25809 grub_errno.
25810
7ad8c80e 258112009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25812
25813 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
25814 from help line. It's out of sync with code.
25815
72b9658b 258162009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25817
25818 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
25819 entries on failed boot.
25820
77435277 258212009-07-25 Felix Zielcke <fzielcke@z-51.de>
25822
25823 * kern/file.c (grub_file_open): Fix an error check.
25824
fcaa8b21 258252009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
25826
35d16c74 25827 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
25828 partition map couldn't be identified.
fcaa8b21 25829
48904cd1 258302009-07-23 Pavel Roskin <proski@gnu.org>
25831
ef3c317f 25832 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
25833 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
25834 case of little endian words becomes just an optimization.
25835 Respect const modifier.
ad8ea1f4 25836 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 25837
48904cd1 25838 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
25839 to avoid loss of upper bits if align is unsigned and shorter
25840 than addr.
25841
260c9a89 258422009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25843
25844 UUID support for UFS
25845
25846 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
25847 (grub_ufs_uuid): New function.
25848 (grub_ufs_fs): add .uuid
25849
f76ce889 258502009-07-21 Pavel Roskin <proski@gnu.org>
25851
25852 * kern/dl.c (grub_dl_check_header): Make static.
25853
6a6cbcaf 258542009-07-21 Felix Zielcke <fzielcke@z-51.de>
25855
25856 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
25857 add drivemap for Vista. It breaks Windows 7.
25858
cffcddb2 258592009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25860
25861 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
25862 128 bytes
25863
1ef44b80 258642009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25865
25866 Add BFS support
25867
25868 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
25869 (grub_fstest_SOURCES): Likewise.
25870 (pkglib_MODULES): Add befs.mod.
25871 (befs_mod_SOURCES): New variable.
25872 (befs_mod_CFLAGS): Likewise.
25873 (befs_mod_LDFLAGS): Likewise.
25874 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25875 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25876 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25877 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25878 (grub_setup_SOURCES): Likewise.
25879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25880 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25881 (grub_setup_SOURCES): Likewise.
25882 * fs/befs.c: New file.
25883 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
25884 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
25885 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
25886 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
25887 (B_KEY_INDEX_ALIGN): New declaration.
25888 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
25889 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
25890 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
25891 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
25892 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
25893 (grub_afs_mount) [MODE_BFS]: Likewise.
25894 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
25895 (grub_afs_fs): Use GRUB_AFS_FSNAME
25896 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
25897 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
25898 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
25899 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
25900
4f253044 259012009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
25902
25903 * util/getroot.c (find_root_device): Add support for MacOSX.
25904 * util/hostdisk.c: Likewise.
25905
57a55913 259062009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25907
25908 * font/font.c (find_glyph): Check whether a font is present to avoid
25909 segmentation fault.
75421ca9 25910
259112009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 25912
25913 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
25914
e98cd0c2 259152009-07-20 Pavel Roskin <proski@gnu.org>
25916
25917 * configure.ac: Trim excessively wordy excuses.
25918
1d2d169a 259192009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25920
25921 Add symlink, mtime and label support to AtheFS.
25922
25923 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
25924 (grub_afs_iterate_dir): Handle symlinks.
25925 (grub_afs_open): Use grub_afs_read_symlink.
25926 (grub_afs_dir): Likewise.
25927 Pass mtime.
25928 (grub_afs_label): New function.
25929 (grub_afs_fs): Add grub_afs_label.
25930 (grub_afs_read_symlink): New function.
25931
186f3189 259322009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25933
25934 Fix AtheFS support.
25935
25936 * fs/afs.c: Fix comments style.
25937 (grub_afs_blockrun): Declare as packed.
25938 (grub_afs_datastream): Likewise.
25939 (grub_afs_bnode): Likewise.
25940 (grub_afs_btree): Likewise.
25941 (grub_afs_sblock): Likewise.
25942 Declare `name' as char.
25943 (grub_afs_inode): Declare as packed.
25944 Change void *vnode to grub_uint32_t unused.
25945 (grub_afs_iterate_dir): Check that key_size is positive.
25946 (grub_afs_mount): Don't read superblock twice.
75421ca9 25947 (grub_afs_dir): Don't free node in case of error,
186f3189 25948 grub_fshelp_find_file already handles this.
25949 (grub_afs_open): Likewise.
25950
5680109e 259512009-07-19 Pavel Roskin <proski@gnu.org>
25952
25953 * Makefile.in: Remove LIBLZO and enable_lzo.
25954 * conf/i386-pc.rmk: Remove lzo support.
25955 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
25956 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
25957 support.
25958 * kern/i386/pc/lzo1x.S: Remove.
25959 * kern/i386/pc/startup.S: Remove lzo support.
25960 * util/i386/pc/grub-mkimage.c: Likewise.
25961
ac70fa32 259622009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
25963
25964 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
25965 * fs/xfs.c (grub_xfs_dir): Likewise.
25966 * fs/afs.c (grub_afs_dir): Likewise.
25967 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
25968 (grub_iso9660_open): Likewise.
25969 * fs/jfs.c (grub_jfs_open): Likewise.
25970 * fs/ext2.c (grub_ext2_dir): Likewise.
25971 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
25972 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 25973
eab58da2 259742009-07-16 Pavel Roskin <proski@gnu.org>
25975
d2838156 25976 * configure.ac: Never add "-c" to CFLAGS.
25977
55c70904 25978 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
25979
43e6200c 25980 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
25981 grub_cv_cc_efiemu should be used.
25982
ce7a733d 25983 * configure.ac: Typo fixes.
25984
eab58da2 25985 * kern/mm.c (grub_zalloc): New function.
25986 (grub_debug_zalloc): Likewise.
25987 * include/grub/mm.h: Declare grub_zalloc() and
25988 grub_debug_zalloc().
25989 * util/misc.c (grub_zalloc): New function.
25990 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
25991 instead of grub_malloc(), remove unneeded initializations.
25992 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
25993 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
25994 * commands/parttool.c (grub_cmd_parttool): Likewise.
25995 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25996 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
25997 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
25998 * disk/usbms.c (grub_usbms_finddevs): Likewise.
25999 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
26000 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
26001 (grub_cmd_efiemu_pnvram): Likewise.
26002 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
26003 * fs/iso9660.c (grub_iso9660_mount): Likewise.
26004 (grub_iso9660_iterate_dir): Likewise.
26005 * fs/jfs.c (grub_jfs_opendir): Likewise.
26006 * fs/ntfs.c (list_file): Likewise.
26007 (grub_ntfs_mount): Likewise.
26008 * kern/disk.c (grub_disk_open): Likewise.
26009 * kern/dl.c (grub_dl_load_core): Likewise.
26010 * kern/elf.c (grub_elf_file): Likewise.
26011 * kern/env.c (grub_env_context_open): Likewise.
26012 (grub_env_set): Likewise.
26013 (grub_env_set_data_slot): Likewise.
26014 * kern/file.c (grub_file_open): Likewise.
26015 * kern/fs.c (grub_fs_blocklist_open): Likewise.
26016 * loader/i386/multiboot.c (grub_module): Likewise.
26017 * loader/xnu.c (grub_xnu_create_key): Likewise.
26018 (grub_xnu_create_value): Likewise.
26019 * normal/main.c (grub_normal_add_menu_entry): Likewise.
26020 (read_config_file): Likewise.
26021 * normal/menu_entry.c (make_screen): Likewise.
26022 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26023 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
26024 * script/sh/script.c (grub_script_parse): Likewise.
26025 * video/bitmap.c (grub_video_bitmap_create): Likewise.
26026 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
26027 * video/readers/png.c (grub_png_output_byte): Likewise.
26028 (grub_video_reader_png): Likewise.
26029
830afef7 260302009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 26031
26032 Enable all targets that can be built by default
26033
830afef7 26034 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 26035 grub-mkfont and grub-fstest if they can be built
26036
ee293aee 260372009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26038
26039 Fix hang and segmentation fault in grub-emu-usb
26040
26041 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
26042 * util/usb.c (grub_libusb_devices): likewise
26043 (grub_libusb_init): rename to ...
26044 (GRUB_MOD_INIT (libusb)):...this
26045 (grub_libusb_fini): rename to ..
26046 (GRUB_MOD_FINI (libusb)):...this
26047 * disk/usbms.c (grub_usbms_transfer): fix retry logic
26048 * include/grub/disk.h (grub_raid_init): removed, it's useless
26049 (grub_raid_fini): likewise
26050 (grub_lvm_init): likewise
26051 (grub_lvm_fini): likewise
26052 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
26053 by grub_init_all
26054
94414221 260552009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26056
26057 Fix libusb
26058
26059 * Makefile.in (LIBUSB): new macro
26060 * genmk.rb (Utility/print_tail): new method
26061 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
26062 (top level): call util.print_tail at the end.
26063
59ade63d 260642009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26065
26066 Make FreeBSD accept zpool.cache
26067
26068 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
26069 type is /boot/zfs/zpool.cache
26070
a58da8c7 260712009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26072
26073 Fix 64-bit efiemu
26074
26075 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
26076 correct wrong typedef
26077 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
26078
20591577 260792009-07-15 Pavel Roskin <proski@gnu.org>
26080
560ca572 26081 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
26082 * kern/disk.c (struct grub_disk_cache): Likewise.
26083
e8e8e4fd 26084 * commands/probe.c (options): Typo fix.
26085
fde24e10 26086 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
26087 Increase to 0x5a to accommodate FAT32. Adjust other offsets
26088 accordingly.
26089 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
26090
379c54c1 26091 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
26092 the end of "Error" to make the message more readable.
26093
7bd8f5bf 26094 * boot/i386/pc/boot.S (kernel_segment): Remove.
26095 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
26096 for destination.
26097
40b132c5 26098 * boot/i386/pc/boot.S (boot_version): Remove.
26099 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
26100 Remove.
26101
20591577 26102 * include/grub/i386/pc/boot.h: Sort all offsets.
26103 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
26104 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
26105 * boot/i386/pc/boot.S: Assert location of every offset listed in
26106 include/grub/i386/pc/boot.h.
26107
2df32b2c 261082009-07-13 Pavel Roskin <proski@gnu.org>
26109
44b5d879 26110 * include/grub/i386/coreboot/machine.h: Rename
26111 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
26112 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
26113 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
26114
17dc3751 26115 * kern/dl.c: Force native word size to suppress warnings when
26116 compiling grub-emu.
26117
2df32b2c 26118 * kern/device.c (grub_device_iterate): Change struct part_ent to
26119 hold the name, not a pointer to it. Use one grub_malloc() per
26120 partition, not two. Free partition_name if grub_malloc() fails.
26121 Set ents to NULL only before grub_partition_iterate() is called.
26122
75c59f59 261232009-07-11 Bean <bean123ch@gmail.com>
26124
26125 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
26126 childname.
26127
0ae1bf88 261282009-07-10 Bean <bean123ch@gmail.com>
261292009-07-10 Robert Millan <rmh.grub@aybabtu.com>
26130
26131 * kern/ieee1275/openfw.c (grub_children_iterate)
26132 (grub_devalias_iterate): Fix size evaluation for property or path
26133 strings, which was broken since r2132.
26134
8279cade 261352009-07-07 Pavel Roskin <proski@gnu.org>
26136
7d8a52d3 26137 * commands/search.c (search_file): Merge into ...
26138 (search_fs): ... this. Accept search type as argument.
26139 (grub_cmd_search): Pass search type to search_fs().
26140
25f9a05a 26141 * include/grub/util/console.h: New file.
26142 * util/console.c: Use it instead of grub/machine/console.h.
26143 * util/grub-emu.c: Likewise.
26144
8279cade 26145 * lib/arg.c (find_long_option): Remove.
26146 (find_long): Add `len' argument, make `s' const char *.
26147 (grub_arg_parse): Parse long options in place, not in a
26148 temporary buffer.
26149
4a11b60f 261502009-07-06 Pavel Roskin <proski@gnu.org>
26151
99f68041 26152 * commands/search.c (search_fs): Fix potential NULL pointer
26153 dereference.
26154
4a11b60f 26155 * commands/search.c (search_fs): Replace QUID macro with quid_fn
26156 function pointer.
26157
e110f4de 261582009-07-06 Daniel Mierswa <impulze@impulze.org>
26159
26160 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
26161 comparison.
26162
46eeb6a2 261632009-07-05 Pavel Roskin <proski@gnu.org>
26164
bab74958 26165 * include/grub/i386/linux.h (struct linux_kernel_params):
26166 Restore padding3, it's still needed.
26167
46eeb6a2 26168 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
26169 FreeBSD.
26170 * util/osdetect.lua: Likewise.
26171
b4a1dc79 261722009-07-05 Bean <bean123ch@gmail.com>
26173
26174 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
26175
26176 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
26177 (grub_lua_getenv): Likewise.
26178 (grub_lua_setenv): Likewise.
26179 (save_errno): New function.
26180 (push_result): Likewise.
26181 (grub_lua_enum_device): Likewise.
26182 (grub_lua_enum_file): Likewise.
26183 (grub_lua_file_open): Likewise.
26184 (grub_lua_file_close): Likewise.
26185 (grub_lua_file_seek): Likewise.
26186 (grub_lua_file_read): Likewise.
26187 (grub_lua_file_getline): Likewise.
26188 (grub_lua_file_getsize): Likewise.
26189 (grub_lua_file_getpos): Likewise.
26190 (grub_lua_file_eof): Likewise.
26191 (grub_lua_file_exist): Likewise.
26192 (grub_lua_add_menu): Likewise.
26193
26194 * script/lua/grub_lua.h (isupper): New inline function.
26195 (islower): Likewise.
26196 (ispunct): Likewise.
26197 (isxdigit): Likewise.
26198 (strcspn): Change to normal function.
26199 (strpbkr): New function declaration.
26200 (memchr): Likewise.
26201
26202 * script/lua/grub_main.c (scan_str): New function.
26203 (strcspn): Likewise.
26204 (strpbrk): Likewise.
26205 (memchr): Likewise.
26206
26207 * script/lua/linit.c (lualibs): Enable the string library.
26208
26209 * util/osdetect.lua: New file.
26210
2da92295 262112009-07-04 Robert Millan <rmh.grub@aybabtu.com>
26212
26213 * include/grub/i386/linux.h (struct linux_kernel_params): Add
26214 `capabilities' member.
26215
b2582ec9 262162009-07-02 Pavel Roskin <proski@gnu.org>
26217
26218 * genparttoollist.sh: Add missing newline at the end.
26219
32622956 262202009-07-01 Pavel Roskin <proski@gnu.org>
26221
87a7339e 26222 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
26223
d23af54e 26224 * util/hostdisk.c (open_device): Remove `const' from
26225 `sysctl_size', as sysctlbyname() can change it (in this case it
26226 doesn't actually happen).
26227
c94b18a9 26228 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
26229 using signed long int constants.
26230
c6cd3ef0 26231 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
26232 constant to avoid a warning on FreeBSD.
26233
0df63420 26234 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
26235 where it's needed.
26236
999577f1 26237 * Makefile.in: Install include/grub/machine symlink.
26238
6f41557f 26239 * Makefile.in: When installing symlinks, use "cp -fR", which
26240 works on FreeBSD and MacOSX.
26241 From Yves Blusseau <cl7m42e02@sneakemail.com>
26242
c8d22988 26243 * kern/dl.c (grub_dl_resolve_symbol): Make static.
26244 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
26245
1b96e952 26246 * util/misc.c: Move grub_reboot() and grub_halt() ...
26247 * util/grub-emu.c: ... here. Make main_env static.
26248 * include/grub/util/misc.h: Remove main_env.
26249
2ef0084d 26250 * kern/mm.c: Use correct format to print size_t.
26251
32622956 26252 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
26253 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
26254 * kern/powerpc/dl.c: Likewise.
26255 * kern/sparc64/dl.c: Likewise.
26256 * kern/x86_64/dl.c: Likewise.
26257
3f7f0cd0 262582009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26259
26260 Fix grub-emu build on sparc64-ieee1275.
26261
75421ca9 26262 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 26263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
26264
211d06b5 262652009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26266
26267 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
26268 (grub_reboot, grub_halt): New functions.
26269
26270 * util/i386/pc/misc.c: Delete. Update all users.
26271 * util/sparc64/ieee1275/misc.c: Likewise.
26272 * util/powerpc/ieee1275/misc.c: Likewise.
26273
aaf53e3c 262742009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26275
26276 * conf/i386.rmk (setjmp_mod_SOURCES)
26277 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
26278 * conf/common.rmk (setjmp_mod_SOURCES)
26279 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
26280 to use $(target_cpu).
26281 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
26282 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
26283 * conf/powerpc-ieee1275.rmk: Likewise.
26284 * conf/sparc64-ieee1275.rmk: Likewise.
26285
26286 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
26287 $(target_cpu) for kern/$(target_cpu)/dl.c.
26288 * conf/i386-efi.rmk: Likewise.
26289 * conf/i386-ieee1275.rmk: Likewise.
26290 * conf/x86_64-efi.rmk: Likewise.
26291 * conf/i386-coreboot.rmk: Likewise.
26292 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
26293 $(target_cpu) for kern/$(target_cpu)/dl.c and for
26294 kern/$(target_cpu)/cache.S.
26295 * conf/sparc64-ieee1275.rmk: Likewise.
26296
a337130b 262972009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26298
26299 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
26300 type to `grub_uint8_t', and adjust `padding9' accordingly.
26301
c6fe4d53 263022009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26303
b09db61d 26304 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
26305
c6fe4d53 26306 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
26307 assembly in final jump, using register constraints.
26308
b09db61d 26309 (grub_linux_boot): For text mode, initialize `have_vga' using
26310 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
26311
26312 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
26313 right before the final jump.
26314
26315 Set `video_mode' to 0x3.
26316
26317 Document initialization of `video_page', `video_mode' and
26318 `video_ega_bx'.
26319
28333ad0 263202009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26321
26322 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
26323 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 26324 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 26325
02164e1b 263262009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26327
26328 Fix build on Debian / sparc.
26329
26330 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
26331
18b6c557 263322009-06-28 Pavel Roskin <proski@gnu.org>
26333
85f2aab6 26334 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
26335 fix a warning.
26336
18b6c557 26337 * util/grub.d/10_linux.in: Match SUSE style initrd names.
26338
ad760f81 263392009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26340
26341 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
26342 `err'.
26343
87a4623b 263442009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26345
26346 Revert r2338.
26347
26348 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
26349 file can't be opened. grub_file_open() is already supposed to set
75421ca9 26350 grub_errno / grub_errmsg appropriately.
87a4623b 26351 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26352
8231fb77 263532009-06-27 Pavel Roskin <proski@gnu.org>
263542009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26355
26356 * include/grub/dl.h: Include grub/elf.h.
26357 (struct grub_dl): Add symtab field.
26358 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
26359 GRUB_MODULES_MACHINE_READONLY.
26360 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
26361 of the header for read-only modules.
26362 (grub_dl_unload): Free mod->symtab for read-only modules.
26363 * kern/i386/dl.c: Use mod->symtab.
26364 * kern/powerpc/dl.c: Likewise.
26365 * kern/sparc64/dl.c: Likewise.
26366 * kern/x86_64/dl.c: Likewise.
26367
26368 * conf/i386-qemu.rmk: New file.
26369 * kern/i386/qemu/startup.S: Likewise.
26370 * kern/i386/qemu/mmap.c: Likewise.
26371 * boot/i386/qemu/boot.S: Likewise.
26372 * include/grub/i386/qemu/time.h: Likewise.
26373 * include/grub/i386/qemu/serial.h: Likewise.
26374 * include/grub/i386/qemu/kernel.h: Likewise.
26375 * include/grub/i386/qemu/console.h: Likewise.
26376 * include/grub/i386/qemu/boot.h: Likewise.
26377 * include/grub/i386/qemu/init.h: Likewise.
26378 * include/grub/i386/qemu/machine.h: Likewise.
26379 * include/grub/i386/qemu/loader.h: Likewise.
26380 * include/grub/i386/qemu/memory.h: Likewise.
26381
26382 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
26383 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
26384 [qemu] (pkglib_IMAGES): Add `boot.img'.
26385 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
26386 [qemu] (boot_img_FORMAT): New variables.
26387 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
26388 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
26389 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
26390 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26391 [qemu] (kernel_img_FORMAT): New variables.
26392
26393 * configure.ac: Recognise `i386-qemu'.
26394
26395 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
26396 (for no compression).
26397 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
26398 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
26399 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
26400 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
26401 ifdefs).
26402
97fe384e 264032009-06-27 Pavel Roskin <proski@gnu.org>
26404
26405 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
26406 read.
26407 * efiemu/prepare32.c: Likewise.
26408 * efiemu/prepare64.c: Likewise.
26409
c402ab17 264102009-06-26 Pavel Roskin <proski@gnu.org>
26411
26412 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
26413 * include/grub/elf.h: Define symbols without "32" or "64" based
26414 on GRUB_TARGET_WORDSIZE.
26415 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
26416 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
26417 ELF definitions.
26418 * efiemu/loadcore64.c: Likewise.
26419 * loader/i386/bsd32.c: Likewise.
26420 * loader/i386/bsd64.c: Likewise.
26421 * kern/dl.c: Remove own ELF definitions.
26422 * util/i386/efi/grub-mkimage.c: Likewise.
26423
9bbdfd4d 264242009-06-23 Robert Millan <rmh.grub@aybabtu.com>
26425
26426 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
26427 segment 0x0 unconditionally, because the reference generated by
26428 GAS is an absolute address.
26429
a42ce6e9 264302009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26431
26432 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
26433 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
26434
c952cf92 264352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26436
26437 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
26438 indexes. Check for -f explicitly.
cc3752ad 26439 (search_file): Improve error message.
26440 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 26441
132a0a59 264422009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26443
26444 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
26445 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
26446
387a140c 264472009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26448
26449 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
26450 * conf/i386-ieee1275.rmk: Likewise.
26451 * conf/i386-coreboot.rmk: Likewise.
26452
26453 * kern/i386/pc/startup.S (grub_stop): Remove function.
26454 * kern/i386/ieee1275/startup.S: Likewise.
26455 * kern/i386/coreboot/startup.S: Likewise.
26456 * kern/i386/misc.S (grub_stop): New function.
26457
41da9665 264582009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26459
26460 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
26461 * kern/i386/realmode.S (real_to_prot): ... to here.
26462
bf337234 264632009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26464
26465 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
26466 with `kernel.img'.
26467 (kernel_elf_SOURCES): Rename to ...
26468 (kernel_img_SOURCES): ... this.
26469 (kernel_elf_HEADERS): Rename to ...
26470 (kernel_img_HEADERS): ... this. Update all users.
26471 (kernel_elf_ASFLAGS): Rename to ...
26472 (kernel_img_ASFLAGS): ... this.
26473 (kernel_elf_CFLAGS): Rename to ...
26474 (kernel_img_CFLAGS): ... this.
26475 (kernel_elf_LDFLAGS): Rename to ...
26476 (kernel_img_LDFLAGS): ... this.
26477 * conf/i386-coreboot.rmk: Likewise.
26478 * conf/powerpc-ieee1275.rmk: Likewise.
26479
26480 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
26481 with "kernel.img".
26482
f52196ff 264832009-06-21 Pavel Roskin <proski@gnu.org>
26484
c3cee413 26485 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26486 to match nested functions.
26487 * loader/sparc64/ieee1275/linux.c: Likewise.
26488
f52196ff 26489 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26490
58750afc 264912009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26492
26493 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26494 all i386 platforms.
26495
15355c7d 264962009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26497
26498 Fix asm file handling on ELF, and remove workarounds.
26499
26500 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 26501 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 26502 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26503 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26504
3f3ec72b 265052009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26506
26507 Load BSD ELF modules
26508
26509 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26510 and loader/i386/bsd64.c
26511 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26512 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26513 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26514 (grub_freebsd_load_elfmodule32): New declaration
26515 (grub_freebsd_load_elfmoduleobj64): Likewise
26516 (grub_freebsd_load_elf_meta32): Likewise
26517 (grub_freebsd_load_elf_meta64): Likewise
26518 (grub_freebsd_add_meta): Likewise
26519 (grub_freebsd_add_meta_module): Likewise
26520 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26521 (grub_freebsd_add_meta_module): Likewise and move module-specific
26522 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26523 (grub_cmd_freebsd): Add elf-kernel specific parts
26524 based on grub_freebsd_add_meta_module
26525 (grub_cmd_freebsd_module): Add type parsing moved from
26526 grub_freebsd_add_meta_module
26527 (grub_cmd_freebsd_module_elf): New function
26528 (cmd_freebsd_module_elf): New variable
26529 (GRUB_MOD_INIT): Register freebsd_module_elf
26530 * loader/i386/bsd32.c: New file
26531 * loader/i386/bsd64.c: Likewise
26532 * loader/i386/bsdXX.c: Likewise
26533 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26534 (grub_elf64_load): Likewise
26535 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26536 All users updated
26537 (grub_elf64_load_hook_t): Likewise
26538
0db15301 265392009-06-21 Colin Watson <cjwatson@ubuntu.com>
26540
26541 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26542 variable.
26543 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26544 don't write a menu entry for recovery mode.
26545
546796c1 265462009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26547
26548 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26549 after it's no longer needed.
26550
cd7310d5 265512009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26552
26553 * include/grub/i386/loader.h (grub_linux_prot_size)
26554 (grub_linux_tmp_addr, grub_linux_real_addr)
26555 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26556 GRUB_MACHINE_PCBIOS.
26557 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26558 common grub_util_info() call to ...
26559 (generate_image): ... here.
26560 Fix use of uninitialized memory, comparison of signed with
26561 unsigned integers and memory leak.
26562 Remove bogus module address message.
26563
ab32d3b5 265642009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26565
26566 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26567 grub_raid_register
26568 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26569
024ef597 265702009-06-19 Pavel Roskin <proski@gnu.org>
26571
26572 * configure.ac: Remove stray AC_MSG_CHECKING.
26573
3ac72b51 265742009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26575
26576 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26577
e14cd814 265782009-06-18 Pavel Roskin <proski@gnu.org>
26579
26580 * conf/common.rmk: Add fs_file.mod.
26581 * disk/fs_file.c: New file.
26582 * include/grub/disk.h (enum grub_disk_dev_id): Add
26583 GRUB_DISK_DEVICE_FILE_ID.
26584
26586d98 265852009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26586
26587 Fix build with Apple's toolchain. Part 2
26588
26589 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26590 a fake start
26591
26de2bcd 265922009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26593
26594 Fix build with Apple's toolchain. Part 1
26595
26596 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26597 for long calls
26598 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26599 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26600 Apple's toolchain
26601
09b3490b 266022009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26603
26604 Fix warnings
26605
26606 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26607 (decomp_block): initialize ch
26608 use grub_memcpy instead of memcpy
26609
c22a006a 266102009-06-17 Pavel Roskin <proski@gnu.org>
26611
d3638678 26612 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26613 version, use declarations needed to use vga_text as the startup
26614 console.
26615
c22a006a 26616 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26617 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26618 the kernel.
26619 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26620 and grub_at_keyboard_fini(), it's done on module load and
26621 unload.
26622
05b129e0 266232009-06-17 Felix Zielcke <fzielcke@z-51.de>
26624
26625 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26626 file can't be found.
26627 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26628
cf24ed9e 266292009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26630
26631 Fix newline handling
26632
26633 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 26634 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 26635 (grub_script_yylex): don't segfault on unterminated script
26636 newline terminates command and variable
26637
74aa8e4b 266382009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26639
26640 avoid double grub_adjust_range call. Bug reported by David Simner
26641
26642 * kern/disk.c (grub_disk_write): change to raw disk access before
26643 calling disk_read
26644
1bd265f3 266452009-06-17 Colin Watson <cjwatson@ubuntu.com>
26646
26647 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26648 spaces, for the benefit of help2man.
26649 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26650
a2d08c06 266512009-06-16 Pavel Roskin <proski@gnu.org>
26652
26653 * kern/i386/halt.c: Include grub/machine/init.h.
26654 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26655
b97bcb19 266562009-06-16 Felix Zielcke <fzielcke@z-51.de>
26657
26658 * util/grub.d/30_os-prober.in: Use ${root} in the generated
26659 drivemap menuentry.
26660
0644f96c 266612009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
26662
26663 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
26664 `echo' command.
26665
3ef17a2e 266662009-06-16 Pavel Roskin <proski@gnu.org>
26667
26668 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
26669 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
26670 save %dx, we only need %dl and we never change it.
26671 * boot/i386/pc/cdboot.S: Don't set the root drive.
26672 * boot/i386/pc/pxeboot.S: Likewise.
26673 * include/grub/i386/pc/boot.h: Remove
26674 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
26675 GRUB_BOOT_MACHINE_DRIVE_CHECK.
26676 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
26677 * kern/i386/pc/init.c (make_install_device): Remove references
26678 to grub_root_drive.
26679 * kern/i386/pc/startup.S: Likewise.
26680 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
26681
693fe637 266822009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26683
26684 xnu_uuid command
26685
26686 * commands/xnu_uuid.c: new file
26687 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
26688 (xnu_uuid_mod_SOURCES): new variable
26689 (xnu_uuid_mod_CFLAGS): likewise
26690 (xnu_uuid_mod_LDFLAGS): likewise
26691 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26692 * conf/i386-ieee1275.rmk: likewise
26693 * conf/i386-pc.rmk: likewise
26694 * conf/powerpc-ieee1275.rmk: likewise
26695 * conf/sparc64-ieee1275.rmk: likewise
26696 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
26697
c9da87d0 266982009-06-16 Pavel Roskin <proski@gnu.org>
26699
26700 * configure.ac: Avoid '==' in test command, it's not portable.
26701
9c6f4596 267022009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26703
26704 Probe command
26705
26706 * commands/probe.c: new file
26707 * conf/common.rmk (pkglib_MODULES): add probe.mod
26708 (probe_mod_SOURCES): new variable
26709 (probe_mod_CFLAGS): likewise
26710 (probe_mod_LDFLAGS): likewise
26711 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26712 * conf/i386-ieee1275.rmk: likewise
26713 * conf/i386-pc.rmk: likewise
26714 * conf/powerpc-ieee1275.rmk: likewise
26715 * conf/sparc64-ieee1275.rmk: likewise
26716
70b7f9fd 267172009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
26718
26719 Fix handling of string like \"hello\" and "a
26720 b"
26721
26722 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
26723 (grub_script_yylex): fix parsing of quoting, escaping and newline
26724
71c79a6b 267252009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
26726
dd74360c 26727 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 26728 handling
dd74360c 26729
0644f96c 267302009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 26731
26732 * util/grub-mkconfig.in: Fix parsing of --output option.
26733
e40893c3 267342009-06-12 Pavel Roskin <proski@gnu.org>
26735
26736 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
26737 genmk.rb don't need to be generated or installed.
26738
3a1acfe2 267392009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26740
26741 * commands/i386/pc/drivemap_int13h.S: add more comments
26742
3a4575d4 267432009-06-11 Pavel Roskin <proski@gnu.org>
26744
0658e928 26745 * Makefile.in (uninstall): Uninstall manuals.
26746
ca0388f0 26747 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26748 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26749 and update-grub_lib in two places.
26750 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26751
e3b27c39 26752 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26753 a compiler warning.
26754
3a4575d4 26755 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26756 `entry_lo' to fix variable shadowing.
26757
af1f4f55 267582009-06-11 Christian Franke <franke@computer.org>
26759
26760 * kern/misc.c (__enable_execute_stack): Add missing return type
26761 to prevent gcc warning.
26762
5225e649 267632009-06-11 Felix Zielcke <fzielcke@z-51.de>
26764
26765 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
26766
7d83bd47 267672009-06-11 Pavel Roskin <proski@gnu.org>
26768
c1cb63ba 26769 * Makefile.in: Don't rely on any scripts being executable.
26770 Always use $(SHELL) to run shell scripts.
26771
7d83bd47 26772 * configure.ac: Always define ___main if using -nostdlib. This
26773 fixes tests on Cygwin.
26774
948f48e7 267752009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
26776
26777 UDF fix
26778
7d83bd47 26779 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 26780 is in bytes and not in blocks
7d83bd47 26781
8ada9bc1 267822009-06-11 Pavel Roskin <proski@gnu.org>
26783
26784 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
26785 warning.
26786
25ad2323 267872009-06-11 Felix Zielcke <fzielcke@z-51.de>
26788
26789 * util/grub.d/30_os-prober.in: Fix a comment. Source
26790 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
26791 to set the root device. Place drivemap command in the generated
26792 chain entry.
26793
e65acb0c 267942009-06-11 Pavel Roskin <proski@gnu.org>
26795
26796 * configure.ac: Remove host_m32. Issues with 64-bit utilities
26797 have long been resolved.
26798
f285fe2d 267992009-06-11 Colin Watson <cjwatson@ubuntu.com>
26800
bd47b0b5 26801 * util/grub.d/10_linux.in: Capitalise "Linux".
26802
f285fe2d 26803 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
26804
a0c62e4e 268052009-06-11 Pavel Roskin <proski@gnu.org>
26806
b6783cb2 26807 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
26808 fix a gcc warning and ensure that the function won't ever exit.
26809
dde032e8 26810 * kern/i386/ieee1275/init.c: Add missing prototype for
26811 grub_stop_floppy().
26812
22cd079d 26813 * loader/ieee1275/multiboot2.c [__i386__]: Include
26814 grub/cpu/multiboot.h.
26815
a0c62e4e 26816 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
26817 casts to short - they are not portable and cause warnings. Fix
26818 use of uninitialized values in input_buf. Use ARRAY_SIZE.
26819
63963d17 268202009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
26821
26822 Drivemap fixes
26823
26824 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
26825 new function
26826 (grub_get_root_biosnumber_saved): new variable
26827 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
26828 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 26829 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 26830 %dx after the call if necessary
26831 * conf/common.rmk (pkglib_MODULES): remove boot.mod
26832 (boot_mod_SOURCES): remove
26833 (boot_mod_CFLAGS): remove
26834 (boot_mod_LDFLAGS): remove
26835 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
26836 (boot_mod_SOURCES): new variable
26837 (boot_mod_CFLAGS): likewise
26838 (boot_mod_LDFLAGS): likewise
26839 * conf/i386-efi.rmk: likewise
26840 * conf/i386-ieee1275.rmk: likewise
26841 * conf/i386-pc.rmk: likewise
26842 * conf/powerpc-ieee1275.rmk: likewise
26843 * conf/sparc64-ieee1275.rmk: likewise
26844 * conf/x86_64-efi.rmk: likewise
26845 * include/grub/i386/pc/biosnum.h: new file
26846 * lib/i386/pc/biosnum.c: likewise
26847 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
26848 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
26849 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 26850
33abf7ae 268512009-06-10 Pavel Roskin <proski@gnu.org>
26852
5ac35b35 26853 * io/gzio.c (test_header): Don't reuse one buffer for all data.
26854 Use separate variables. Read only the file size at the end, but
26855 not the checksum that we don't use.
26856
5c5215d5 26857 * kern/file.c (grub_file_read): Use void pointer for the buffer.
26858 Adjust all callers.
26859
27d5fef7 26860 * kern/ieee1275/openfw.c: Remove libc includes.
26861 * kern/ieee1275/cmain.c: Likewise.
26862 * include/grub/ieee1275/ieee1275.h: Likewise.
26863
33abf7ae 26864 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
26865 compiler warnings.
26866
19d50c2b 268672009-06-10 Felix Zielcke <fzielcke@z-51.de>
26868
26869 * Makefile.in: Remove all trailing whitespace.
26870 * conf/i386-pc.rmk: Likewise.
26871 * conf/powerpc-ieee1275.rmk: Likewise.
26872 * conf/sparc64-ieee1275.rmk: Likewise.
26873 * docs/grub.texi: Likewise.
26874 * docs/texinfo.tex: Likewise.
26875 * disk/fs_uuid.c: Likewise.
26876 * disk/lvm.c: Likewise.
26877 * disk/scsi.c: Likewise.
26878 * disk/ata.c: Likewise.
26879 * disk/ieee1275/ofdisk.c: Likewise.
26880 * disk/i386/pc/biosdisk.c: Likewise.
26881 * disk/host.c: Likewise.
26882 * disk/raid.c: Likewise.
26883 * disk/efi/efidisk.c: Likewise.
26884 * disk/usbms.c: Likewise.
26885 * disk/memdisk.c: Likewise.
26886 * disk/loopback.c: Likewise.
26887 * kern/powerpc/dl.c: Likewise.
26888 * kern/device.c: Likewise.
26889 * kern/dl.c: Likewise.
26890 * kern/sparc64/dl.c: Likewise.
26891 * kern/ieee1275/ieee1275.c: Likewise.
26892 * kern/term.c: Likewise.
26893 * kern/fs.c: Likewise.
26894 * kern/i386/dl.c: Likewise.
26895 * kern/i386/pc/startup.S: Likewise.
26896 * kern/i386/pc/init.c: Likewise.
26897 * kern/i386/pc/mmap.c: Likewise.
26898 * kern/i386/pc/lzo1x.S: Likewise.
26899 * kern/i386/ieee1275/init.c: Likewise.
26900 * kern/i386/realmode.S: Likewise.
26901 * kern/i386/tsc.c: Likewise.
26902 * kern/partition.c: Likewise.
26903 * kern/corecmd.c: Likewise.
26904 * kern/file.c: Likewise.
26905 * kern/efi/efi.c: Likewise.
26906 * kern/efi/init.c: Likewise.
26907 * kern/efi/mm.c: Likewise.
26908 * kern/main.c: Likewise.
26909 * kern/err.c: Likewise.
26910 * kern/env.c: Likewise.
26911 * kern/disk.c: Likewise.
26912 * kern/generic/millisleep.c: Likewise.
26913 * kern/generic/rtc_get_time_ms.c: Likewise.
26914 * kern/misc.c: Likewise.
26915 * kern/parser.c: Likewise.
26916 * genmk.rb: Likewise.
26917 * configure.ac: Likewise.
26918 * boot/i386/pc/diskboot.S: Likewise.
26919 * boot/i386/pc/pxeboot.S: Likewise.
26920 * boot/i386/pc/boot.S: Likewise.
26921 * boot/i386/pc/lnxboot.S: Likewise.
26922 * boot/i386/pc/cdboot.S: Likewise.
26923 * parttool/pcpart.c: Likewise.
26924 * video/readers/tga.c: Likewise.
26925 * video/video.c: Likewise.
26926 * video/bitmap.c: Likewise.
26927 * lib/envblk.c: Likewise.
26928 * lib/i386/setjmp.S: Likewise.
26929 * fs/xfs.c: Likewise.
26930 * fs/afs.c: Likewise.
26931 * fs/fat.c: Likewise.
26932 * fs/ntfs.c: Likewise.
26933 * fs/udf.c: Likewise.
26934 * fs/affs.c: Likewise.
26935 * fs/iso9660.c: Likewise.
26936 * fs/hfs.c: Likewise.
26937 * fs/fshelp.c: Likewise.
26938 * fs/ext2.c: Likewise.
26939 * fs/jfs.c: Likewise.
26940 * fs/reiserfs.c: Likewise.
26941 * fs/hfsplus.c: Likewise.
26942 * fs/minix.c: Likewise.
26943 * fs/cpio.c: Likewise.
26944 * fs/sfs.c: Likewise.
26945 * fs/ufs.c: Likewise.
26946 * efiemu/prepare.c: Likewise.
26947 * efiemu/loadcore_common.c: Likewise.
26948 * efiemu/runtime/efiemu.sh: Likewise.
26949 * efiemu/runtime/efiemu.S: Likewise.
26950 * efiemu/runtime/efiemu.c: Likewise.
26951 * efiemu/pnvram.c: Likewise.
26952 * efiemu/main.c: Likewise.
26953 * efiemu/i386/pc/cfgtables.c: Likewise.
26954 * efiemu/i386/loadcore64.c: Likewise.
26955 * efiemu/i386/loadcore32.c: Likewise.
26956 * efiemu/loadcore.c: Likewise.
26957 * efiemu/symbols.c: Likewise.
26958 * efiemu/mm.c: Likewise.
26959 * include/grub/autoefi.h: Likewise.
26960 * include/grub/datetime.h: Likewise.
26961 * include/grub/term.h: Likewise.
26962 * include/grub/hfs.h: Likewise.
26963 * include/grub/lvm.h: Likewise.
26964 * include/grub/i386/tsc.h: Likewise.
26965 * include/grub/i386/linux.h: Likewise.
26966 * include/grub/i386/xnu.h: Likewise.
26967 * include/grub/i386/efiemu.h: Likewise.
26968 * include/grub/i386/pc/biosdisk.h: Likewise.
26969 * include/grub/i386/pc/memory.h: Likewise.
26970 * include/grub/i386/pc/vbe.h: Likewise.
26971 * include/grub/parttool.h: Likewise.
26972 * include/grub/video.h: Likewise.
26973 * include/grub/memory.h: Likewise.
26974 * include/grub/fs.h: Likewise.
26975 * include/grub/partition.h: Likewise.
26976 * include/grub/xnu.h: Likewise.
26977 * include/grub/efi/api.h: Likewise.
26978 * include/grub/efi/pe32.h: Likewise.
26979 * include/grub/efi/memory.h: Likewise.
26980 * include/grub/multiboot.h: Likewise.
26981 * include/grub/usbdesc.h: Likewise.
26982 * include/grub/multiboot2.h: Likewise.
26983 * include/grub/acpi.h: Likewise.
26984 * include/grub/efiemu/efiemu.h: Likewise.
26985 * include/grub/disk.h: Likewise.
26986 * include/grub/ieee1275/ieee1275.h: Likewise.
26987 * include/grub/net.h: Likewise.
26988 * include/grub/machoload.h: Likewise.
26989 * include/grub/macho.h: Likewise.
26990 * include/multiboot.h: Likewise.
26991 * genmoddep.awk: Likewise.
26992 * normal/main.c: Likewise.
26993 * normal/menu_entry.c: Likewise.
26994 * normal/menu_viewer.c: Likewise.
26995 * normal/completion.c: Likewise.
26996 * normal/cmdline.c: Likewise.
26997 * normal/misc.c: Likewise.
26998 * normal/datetime.c: Likewise.
26999 * bus/usb/usbtrans.c: Likewise.
27000 * bus/usb/ohci.c: Likewise.
27001 * bus/usb/uhci.c: Likewise.
27002 * bus/usb/usb.c: Likewise.
27003 * mmap/efi/mmap.c: Likewise.
27004 * mmap/i386/pc/mmap_helper.S: Likewise.
27005 * mmap/i386/pc/mmap.c: Likewise.
27006 * mmap/i386/mmap.c: Likewise.
27007 * mmap/i386/uppermem.c: Likewise.
27008 * mmap/mmap.c: Likewise.
27009 * commands/acpi.c: Likewise.
27010 * commands/echo.c: Likewise.
27011 * commands/blocklist.c: Likewise.
27012 * commands/loadenv.c: Likewise.
27013 * commands/usbtest.c: Likewise.
27014 * commands/boot.c: Likewise.
27015 * commands/parttool.c: Likewise.
27016 * commands/search.c: Likewise.
27017 * commands/cat.c: Likewise.
27018 * commands/i386/pc/play.c: Likewise.
27019 * commands/i386/pc/drivemap.c: Likewise.
27020 * commands/i386/pc/vbeinfo.c: Likewise.
27021 * commands/i386/pc/acpi.c: Likewise.
27022 * commands/i386/pc/vbetest.c: Likewise.
27023 * commands/ls.c: Likewise.
27024 * commands/cmp.c: Likewise.
27025 * commands/test.c: Likewise.
27026 * commands/efi/acpi.c: Likewise.
27027 * commands/gptsync.c: Likewise.
27028 * commands/help.c: Likewise.
27029 * partmap/amiga.c: Likewise.
27030 * partmap/apple.c: Likewise.
27031 * partmap/acorn.c: Likewise.
27032 * partmap/pc.c: Likewise.
27033 * partmap/sun.c: Likewise.
27034 * partmap/gpt.c: Likewise.
27035 * script/sh/lexer.c: Likewise.
27036 * script/sh/function.c: Likewise.
27037 * font/font.c: Likewise.
27038 * font/font_cmd.c: Likewise.
27039 * loader/powerpc/ieee1275/linux.c: Likewise.
27040 * loader/efi/chainloader.c: Likewise.
27041 * loader/multiboot_loader.c: Likewise.
27042 * loader/macho.c: Likewise.
27043 * loader/i386/multiboot.c: Likewise.
27044 * loader/i386/linux.c: Likewise.
27045 * loader/i386/pc/linux.c: Likewise.
27046 * loader/i386/pc/multiboot2.c: Likewise.
27047 * loader/i386/pc/chainloader.c: Likewise.
27048 * loader/i386/pc/xnu.c: Likewise.
27049 * loader/i386/bsd_trampoline.S: Likewise.
27050 * loader/i386/efi/linux.c: Likewise.
27051 * loader/i386/multiboot_elfxx.c: Likewise.
27052 * loader/i386/bsd_helper.S: Likewise.
27053 * loader/i386/bsd.c: Likewise.
27054 * loader/i386/linux_trampoline.S: Likewise.
27055 * loader/i386/xnu_helper.S: Likewise.
27056 * loader/i386/xnu.c: Likewise.
27057 * loader/i386/bsd_pagetable.c: Likewise.
27058 * loader/i386/multiboot_helper.S: Likewise.
27059 * loader/xnu.c: Likewise.
27060 * loader/xnu_resume.c: Likewise.
27061 * io/gzio.c: Likewise.
27062 * term/efi/console.c: Likewise.
27063 * term/terminfo.c: Likewise.
27064 * term/ieee1275/ofconsole.c: Likewise.
27065 * term/i386/pc/serial.c: Likewise.
27066 * term/i386/pc/vesafb.c: Likewise.
27067 * term/i386/pc/vga.c: Likewise.
27068 * term/usb_keyboard.c: Likewise.
27069 * term/gfxterm.c: Likewise.
27070 * aclocal.m4: Likewise.
27071 * util/lvm.c: Likewise.
27072 * util/grub.d/30_os-prober.in: Likewise.
27073 * util/grub.d/10_hurd.in: Likewise.
27074 * util/console.c: Likewise.
27075 * util/grub-macho2img.c: Likewise.
27076 * util/grub-probe.c: Likewise.
27077 * util/hostfs.c: Likewise.
27078 * util/i386/pc/grub-mkimage.c: Likewise.
27079 * util/i386/pc/grub-setup.c: Likewise.
27080 * util/i386/efi/grub-mkimage.c: Likewise.
27081 * util/grub-mkconfig.in: Likewise.
27082 * util/raid.c: Likewise.
27083 * util/resolve.c: Likewise.
27084 * util/grub-mkdevicemap.c: Likewise.
27085 * util/grub-emu.c: Likewise.
27086 * util/getroot.c: Likewise.
27087 * util/hostdisk.c: Likewise.
27088 * util/usb.c: Likewise.
27089 * util/grub-editenv.c: Likewise.
27090 * util/misc.c: Likewise.
27091
d2d49665 270922009-06-10 Felix Zielcke <fzielcke@z-51.de>
27093
27094 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
27095 `genparttoollist.sh'.
27096 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
27097 Add `*.sh' to the list find searches for and change `mdate.sh'
27098 to `mdate-sh'.
27099
fe052e37 271002009-06-10 Pavel Roskin <proski@gnu.org>
27101
2763ac18 27102 * include/grub/multiboot2.h: Provide compatibility defines for
27103 multiboot2.h.
27104 * include/multiboot2.h: Include stdint.h only if needed, using
27105 angle brackets.
27106 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
27107 grub/multiboot2.h.
27108 * loader/ieee1275/multiboot2.c: Likewise.
27109 * loader/multiboot2.c: Likewise.
27110 * loader/multiboot_loader.c: Likewise.
27111
437e6adc 27112 * configure.ac: Use -nostdlib when probing for the target. It
27113 should not be required to have libc for the target.
27114
06a6836c 27115 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
27116 they fail without libc headers for the target.
27117 * include/grub/powerpc/libgcc.h: Use weak attribute for all
27118 exports.
27119 * include/grub/sparc64/libgcc.h: Likewise. Don't use
27120 preprocessor conditionals.
27121
fe052e37 27122 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
27123 build system doesn't need to be aware of the tar.c internals.
27124
afd22553 271252009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 27126
afd22553 27127 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 27128
6b787c4f 271292009-06-09 Robert Millan <rmh.grub@aybabtu.com>
27130
27131 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
27132 disk limit to 26 for IDE, Virtio, Xen and SCSI.
27133
271342009-06-09 Felix Zielcke <fzielcke@z-51.de>
27135
27136 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 27137 aren't available if ata.mod gets used.
6b787c4f 27138
473d1e45 271392009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 27140
473d1e45 27141 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 27142 initialising controller.
473d1e45 27143 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 27144
255a27d4 271452009-06-08 Felix Zielcke <fzielcke@z-51.de>
27146
27147 * util/i386/pc/grub-install.in: Add a parameter --disk-module
27148 to choose between ata and biosdisk module on i386-pc.
27149
473d1e45 271502009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 27151
d55842d8 27152 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
27153 Subclass and Programming Interface fields in terms of the 3 byte
27154 Class Code register.
27155 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27156
fa5db0b1 27157 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
27158 interface is OHCI. Add grub_dprintf for symmetry with
27159 bus/usb/uhci.c.
27160 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
27161 interface is UHCI. Add interf variable for programming
27162 interface. Print interface with class/subclass.
27163
c0947beb 27164 * bus/usb/ohci.c: Set interf with correct field.
27165
69da8877 27166 * bus/usb/uhci.c: Remove unneeded doubled lines.
27167 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
27168 Remove whitespace inside comment.
27169
9e172e30 271702009-06-08 Robert Millan <rmh.grub@aybabtu.com>
27171
27172 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
27173 as fallback an equivalent option without depth.
27174
de65ee2b 271752009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27176
27177 Not fail if unable to retrieve C/H/S on LBA disks
27178
473d1e45 27179 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 27180 if unable to retrieve C/H/S on LBA disks
27181
b57ea2c9 271822009-06-08 Pavel Roskin <proski@gnu.org>
27183
27184 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
27185 about aliasing.
27186
af361263 271872009-06-08 Felix Zielcke <fzielcke@z-51.de>
27188
27189 * Makefile.in (uninstall): Remove all $lib_DATA files.
27190
4c9ec6b3 271912009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27192
27193 Bugfix: install on partitionless device
27194
27195 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
27196 is a whole disk
27197
e76fc924 271982009-06-08 Felix Zielcke <fzielcke@z-51.de>
27199
27200 * Makefile.in (uninstall): Remove all $include_DATA files.
27201
ba5a0d05 272022009-06-08 Felix Zielcke <fzielcke@z-51.de>
27203
27204 * commands/true.c: New file. Implement the true and false commands.
27205 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
27206 (true_mod_SOURCES): New variable.
27207 (true_mod_CFLAGS): Likewise.
27208 (true_mod_LDFLAGS): Likewise.
27209
c8048e32 272102009-06-05 Colin D Bennett <colin@gibibit.com>
27211
27212 Optimized font character lookup using binary search instead of linear
27213 search. Fonts now are required to have the character index ordered by
27214 code point.
27215
27216 * font/font.c (load_font_index): Verify that fonts have ordered
27217 character indices.
27218 (find_glyph): Use binary search instead of linear search to find a
27219 character in a font.
27220
408305be 272212009-06-05 Michael Scherer <misc@mandriva.org>
27222
27223 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
27224 uses case sensitive btree.
27225 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
27226 only for case insensitive filesystems.
27227
8ee1e0d9 272282009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
27229
27230 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
27231 * conf/common.rmk (search_mod_CFLAGS): likewise
27232
a9966eb1 272332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27234
473d1e45 27235 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 27236 compensate a compiler bug
27237
9e7100fb 272382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27239
473d1e45 27240 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 27241 instead of '\b'
473d1e45 27242
ede21d71 272432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27244
27245 Definitions for creating asm symbols with Apple's CC
27246
27247 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
27248 [APPLE_CC] (VARIABLE): likewise
27249
9dbf7653 272502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27251
27252 Disable lnxboot.img when compiled
27253 with Apple's CC
27254
27255 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
27256 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
27257 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
27258 [! APPLE_CC] (CODE_LENG): skip
27259 [! APPLE_CC] (setup_sects): likewise
27260 [! APPLE_CC]: skip filling
473d1e45 27261
e93cdc3d 272622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27263
27264 Address in trampolines based on 32-bit registers when compiled
27265 with Apple's CC
27266
473d1e45 27267 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 27268 for addresses
27269 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
27270
6c688477 272712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27272
27273 Avoid aliases when compiling with Apple's CC for PCBIOS machine
27274
27275 * kern/misc.c [APPLE_CC] (memcpy): new function
27276 [APPLE_CC] (memmove): likewise
27277 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 27278 (memcpy): define alias conditionally on !APPLE_CC
6c688477 27279 (memset): likewise
27280 (abort): likewise
27281 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
27282 APPLE_CC are defined
27283 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
27284 (grub_assert_fail): make prototype conditional
27285
e37ffc5c 272862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27287
27288 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
27289
473d1e45 27290 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
27291 grub-macho2img
e37ffc5c 27292 (CLEANFILES): add grub-macho2img
27293 (grub_macho2img_SOURCES): new variable
27294 * kern/i386/pc/startup.S (bss_start): new variable
27295 (bss_end): likewise
27296 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
27297 * util/grub-macho2img.c: new file
27298
cf00df31 272992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27300
27301 Use objconv when compiling with Apple's CC
27302
27303 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
27304 (efiemu64.o): likewise
27305 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
27306 when compiling with Apple's CC
27307 (efiemu64_s.o): likewise
27308 * configure.ac: check for objconv when compiling with Apple's CC
27309 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 27310
d119a20c 273112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27312
27313 Define segment as well as section when compiling with
27314 Apple's CC
27315
27316 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
27317 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
27318 (efiemu_convert_pointer): likewise
27319 (efiemu_set_virtual_address_map): likewise
27320 (efiemu_convert_pointer): likewise
27321 (efiemu_getcrc32): likewise
27322 (init_crc32_table): likewise
27323 (reflect): likewise
27324 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
27325 (GRUB_MOD_DEP): likewise
473d1e45 27326
c8600122 273272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27328
27329 Allow a compilation without -mcmodel=large
27330
27331 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
27332 when compiled without -mcmodel=large
473d1e45 27333 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 27334 without -mcmodel=large
473d1e45 27335 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 27336 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 27337
e8df1d4e 273382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27339
27340 Remove nested functions in efiemu core
27341
27342 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 27343
cc6c3ac1 273442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27345
27346 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
27347
27348 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
27349 temporary storage
473d1e45 27350 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
27351 using Apple's CC
cc6c3ac1 27352 (grub_cpu_is_tsc_supported): likewise
27353 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 27354
3e325901 273552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27356
27357 Absolute addressing through constant with Apple's cc
27358
27359 * kern/i386/pc/startup.S: Define necessary constants
27360 and address through it when using ABS with Apple's CC
27361 * boot/i386/pc/diskboot.S: likewise
27362 * boot/i386/pc/boot.S: likewise
27363 * boot/i386/pc/lnxboot.S: likewise
27364 * boot/i386/pc/cdboot.S: likewise
27365 * mmap/i386/pc/mmap_helper.S: likewise
27366 * commands/i386/pc/drivemap_int13h.S: likewise
27367
2b167a72 273682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27369
27370 Check if compiler is apple cc
27371
27372 * Makefile.in (ASFLAGS): new variable
27373 (TARGET_ASFLAGS): likewise
27374 (TARGET_MODULE_FORMAT): likewise
27375 (TARGET_APPLE_CC): likewise
27376 (OBJCONV): likewise
27377 (TARGET_IMG_CFLAGS): likewise
27378 (TARGET_CPPFLAGS): add includedir
27379 * configure.ac: call grub_apple_cc and grub_apple_target_cc
27380 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
27381 Check for linker script only if compiler isn't Apple's CC
27382 (TARGET_MODULE_FORMAT): set
27383 (TARGET_APPLE_CC): likewise
27384 (TARGET_ASFLAGS): likewise
27385 (ASFLAGS): likewise
27386 Check for objcopy only if compiler isn't Apple's CC
27387 Check for BSS symbol only if compiler isn't Apple's CC
27388 * genmk.rb: adapt nm options if we use Apple's utils
27389 * aclocal.m4 (grub_apple_cc): new test
27390 (grub_apple_target_cc): likewise
473d1e45 27391
fb14123e 273922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27393
27394 Simplify sed expressions and improve awk
27395
27396 * Makefile.in (install-local): simplify sed expression
27397 * gencmdlist.sh: likewise
27398 * genmoddep.awk: avoid adding module as a dependency of itself
27399
5b889789 274002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27401
27402 Add missing start symbols
27403
27404 * boot/i386/pc/boot.S: add start
fb14123e 27405 * boot/i386/pc/pxeboot.S: likewise
473d1e45 27406
fd2bf2e3 274072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27408
27409 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 27410
27411 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 27412 (relocate_addresses): consider both r_addend and value at offset
27413 (make_mods_section): zerofill modinfo and header
27414 (convert_elf): write prefix here
473d1e45 27415
5389763d 274162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27417
27418 Use .asciz instead of .string
27419
27420 * i386/pc/diskboot.S: use .asciz instead of .string
27421 * i386/pc/boot.S: likewise
27422 * include/grub/dl.h (GRUB_MOD_DEP): likewise
27423 (GRUB_MOD_NAME): likewise
473d1e45 27424
3eb5ed4e 274252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27426
27427 gfxpayload support
27428
27429 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
27430 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
27431 (grub_video_setup): remove
27432 (grub_video_set_mode): new prototype
27433 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
27434 (vid_mode): remove
27435 (linux_vesafb_res): compile only on PCBIOS
27436 (grub_linux_boot): support gfxpayload
27437 * loader/i386/pc/xnu.c (video_hook): new function
27438 (grub_xnu_set_video): support gfxpayload
27439 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
27440 (DEFAULT_VIDEO_HEIGHT): likewise
27441 (DEFAULT_VIDEO_FLAGS): likewise
27442 (DEFAULT_VIDEO_MODE): new definition
27443 (video_hook): new function
27444 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 27445 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 27446 loading xnu
27447 * video/video.c (grub_video_setup): removed
473d1e45 27448 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 27449 grub_video_setup
27450
4b0e1143 274512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27452
27453 Avoid calling biosdisk in drivemap
27454
27455 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
27456 (revparse_biosdisk): likewise
27457 (list_mappings): derive name from id directly
27458 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 27459
fda6cb98 274602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27461
27462 Script fixes
27463
27464 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
27465 (grub_lexer_param): add tokenonhold
27466 (grub_script_create_cmdline): remove cmdline. All callers updated
27467 (grub_script_function_create): make functionname
27468 grub_script_arg. All callers updated
27469 (grub_script_execute_argument_to_string): new prototype
27470 * kern/parser.c (state_transitions): reorder
27471 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 27472 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 27473 make global
27474 (grub_script_execute_cmdline): use new format
27475 * script/sh/function.c (grub_script_function_create): make functionname
27476 grub_script_arg. All callers updated
473d1e45 27477 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 27478 (grub_script_yylex): remove
27479 (grub_script_yylex2): renamed to ...
27480 (grub_script_yylex): ...renamed
27481 parse the expressions like a${b}c
27482 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
27483 (GRUB_PARSER_TOKEN_VAR): remove
27484 (GRUB_PARSER_TOKEN_NAME): likewise
27485 ("if"): declare as typeless
27486 ("while"): likewise
27487 ("function"): likewise
27488 ("else"): likewise
27489 ("then"): likewise
27490 ("fi"): likewise
27491 (text): remove
27492 (argument): likewise
27493 (script): accept empty scripts and make exit on error
27494 (arguments): use GRUB_PARSER_TOKEN_ARG
27495 (function): likewise
27496 (command): move error handling to script
27497 (menuentry): move grub_script_lexer_ref before
473d1e45 27498 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 27499 argument. All callers updated
27500
f4448a07 275012009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27502
27503 Prevent GRUB from probing floppies during boot.
27504
27505 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27506 * commands/search.c (options): Add --no-floppy.
27507 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27508 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27509 --no-floppy when searching for UUIDs.
27510
2bf5885a 275112009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27512
27513 Simplify the code duplication in commands/search.c.
27514
27515 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27516 (search_fs): ... this. Update all users.
27517
f6fd460a 275182009-06-03 Felix Zielcke <fzielcke@z-51.de>
27519
27520 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27521
cbb3c83e 275222009-05-28 Pavel Roskin <proski@gnu.org>
27523
57788cfd 27524 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27525 Remove the original symlink explicitly.
27526
cbb3c83e 27527 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27528 just one slash. That's how grub_fshelp_find_file() does it.
27529
cd0d5e30 275302009-05-26 Pavel Roskin <proski@gnu.org>
27531
f0f8bbe2 27532 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27533 to `str'.
27534
cd0d5e30 27535 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27536 possibly unused.
27537
8c2cab51 275382009-05-25 Christian Franke <franke@computer.org>
27539
27540 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27541 register.
27542 (grub_atapi_identify): Add wait after drive select.
27543 (grub_ata_identify): Do more strict status register check before
27544 calling grub_atapi_identify (). Suppress error message if status
27545 register is 0x00 after command failure. Add status register
27546 check after PIO read to avoid bogus identify due to stuck DRQ.
27547 Thanks to Pavel Roskin for testing.
27548 (grub_device_initialize): Remove unsafe status register check.
27549 Thanks to 'phcoder' for problem report and patch.
27550 Prevent sign extension in debug message.
27551
230c0ad6 275522009-05-23 Colin D Bennett <colin@gibibit.com>
27553
27554 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27555 definition file, and functions defined in `normal/menu.c' have had
27556 their prototypes moved to `include/grub/menu.h' for consistency.
27557
27558 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27559 from normal.h.
27560 (grub_menu_get_entry): Likewise.
27561 (grub_menu_get_timeout): Likewise.
27562 (grub_menu_set_timeout): Likewise.
27563 (grub_menu_execute_entry): Likewise.
27564 (grub_menu_execute_with_fallback): Likewise.
27565 (grub_menu_entry_run): Likewise.
27566
27567 * include/grub/normal.h: Re-ordered and grouped function
27568 prototypes by file that the function is defined in.
27569 (grub_menu_execute_callback): Removed; moved to menu.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 (grub_menu_addentry): Renamed from this ...
27577 (grub_normal_add_menu_entry): ... to this.
27578
27579 * normal/main.c (grub_menu_addentry): Renamed from this ...
27580 (grub_normal_add_menu_entry): ... to this.
27581
27582 * script/sh/execute.c (grub_script_execute_menuentry): Update
27583 reference to renamed grub_menu_addentry function.
27584
861f03a5 275852009-05-23 Felix Zielcke <fzielcke@z-51.de>
27586
27587 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27588
96b1619a 275892009-05-22 Pavel Roskin <proski@gnu.org>
27590
bf6a5fb2 27591 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27592 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27593 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27594 compiling for the i386 targets, but not for the utilities.
27595
96b1619a 27596 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27597 to grub_uint8_t.
27598 (grub_root_drive): Likewise.
27599 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27600 remove alignment.
27601 (grub_root_drive): Change size to byte.
27602 (grub_start_addr): Remove.
27603 (grub_end_addr): Likewise.
27604 (grub_apm_bios_info): Likewise.
27605
b729776b 276062009-05-21 Felix Zielcke <fzielcke@z-51.de>
27607
27608 * normal/i386: Remove.
27609 * normal/powerpc: Likewise.
27610 * normal/sparc64: Likewise.
27611 * normal/x86_64: Likewise.
27612
0a15ce80 276132009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27614
27615 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27616 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27617 * loader/i386/xnu_helper.S: Likewise
d6da58e6 27618
33db9015 276192009-05-18 Colin D Bennett <colin@gibibit.com>
27620
d6da58e6 27621 Display error messages when parsing a Lua statement fails.
27622 Previously, executing a syntactically invalid statement like
27623 ")foo" or "bar;" would silently fail.
33db9015 27624
27625 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 27626 (grub_lua_parse_line): Improved reporting of Lua parser and
27627 execution errors.
33db9015 27628
46422c89 276292009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27630
27631 Remove -Werror which causes build to fail on some systems
27632
27633 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27634 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27635 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 27636
22f53a96 276372009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27638
27639 trampoline for linux on 64-bit platform
27640
18f547ad 27641 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27642 loader/i386/efi/linux_trampoline.S
27643 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 27644 declaration
d6da58e6 27645 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27646 here
22f53a96 27647 * loader/i386/linux_trampoline.S: moved here
d6da58e6 27648 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27649 trampoline
22f53a96 27650 (jumpvector): removed
27651 (grub_linux_trampoline_start): new declaration
27652 (grub_linux_trampoline_end): likewise
27653 (grub_linux_boot): use trampoline when on 64-bit platform
27654 * loader/i386/linux.c: likewise
27655
cb5a0f40 276562009-05-16 Pavel Roskin <proski@gnu.org>
27657
27658 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
27659 const to avoid a warning.
27660 (grub_lua_setenv): Likewise.
27661 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
27662 lmsg to fix a warning.
27663
334f2c28 276642009-05-16 Felix Zielcke <fzielcke@z-51.de>
27665
27666 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 27667 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27668 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
27669 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27670 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27671 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27672 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27673 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 27674
59e5d3ec 276752009-05-16 Felix Zielcke <fzielcke@z-51.de>
27676
27677 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
27678
9d87a1ba 276792009-05-16 Bean <bean123ch@gmail.com>
27680
27681 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
27682 (lua_mod_SOURCES): New variable.
27683 (lua_mod_CFLAGS): Likewise.
27684 (lua_mod_LDFLAGS): Likewise.
27685
27686 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
27687 (setjmp_mod_SOURCES): New variable.
27688 (setjmp_mod_CFLAGS): Likewise.
27689 (setjmp_LDFLAGS): Likewise.
27690
27691 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
27692 (setjmp_mod_SOURCES): New variable.
27693 (setjmp_mod_CFLAGS): Likewise.
27694 (setjmp_LDFLAGS): Likewise.
27695
27696 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27697 (setjmp_mod_SOURCES): New variable.
27698 (setjmp_mod_CFLAGS): Likewise.
27699 (setjmp_LDFLAGS): Likewise.
27700
27701 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27702 (setjmp_mod_SOURCES): New variable.
27703 (setjmp_mod_CFLAGS): Likewise.
27704 (setjmp_LDFLAGS): Likewise.
27705
27706 * normal/i386/setjmp.S: Moved from here ...
27707 * lib/i386/setjmp.S: ... Moved here
27708 * normal/x86_64/setjmp.S: Moved from here ...
27709 * lib/x86_64/setjmp.S: ... Moved here
27710 * normal/powerpc/setjmp.S: Moved from here ...
27711 * lib/powerpc/setjmp.S: ... Moved here
27712 * normal/sparc64/setjmp.S: Moved from here ...
27713 * lib/sparc64/setjmp.S: ... Moved here
27714
27715 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
27716 returns_twice in mingw.
27717
27718 * script/lua/grub_lib.c: New file.
27719 * script/lua/grub_lib.h: Likewise.
27720 * script/lua/grub_lua.h: Likewise.
27721 * script/lua/grub_main.c: Likewise.
27722 * script/lua/lapi.c: Likewise.
27723 * script/lua/lapi.h: Likewise.
27724 * script/lua/lauxlib.c: Likewise.
27725 * script/lua/lauxlib.h: Likewise.
27726 * script/lua/lbaselib.c: Likewise.
27727 * script/lua/lcode.c: Likewise.
27728 * script/lua/lcode.h: Likewise.
27729 * script/lua/ldblib.c: Likewise.
27730 * script/lua/ldebug.c: Likewise.
27731 * script/lua/ldebug.h: Likewise.
27732 * script/lua/ldo.c: Likewise.
27733 * script/lua/ldo.h: Likewise.
27734 * script/lua/ldump.c: Likewise.
27735 * script/lua/lfunc.c: Likewise.
27736 * script/lua/lfunc.h: Likewise.
27737 * script/lua/lgc.c: Likewise.
27738 * script/lua/lgc.h: Likewise.
27739 * script/lua/linit.c: Likewise.
27740 * script/lua/liolib.c: Likewise.
27741 * script/lua/llex.c: Likewise.
27742 * script/lua/llex.h: Likewise.
27743 * script/lua/llimits.h: Likewise.
27744 * script/lua/lmathlib.c: Likewise.
27745 * script/lua/lmem.c: Likewise.
27746 * script/lua/lmem.h: Likewise.
27747 * script/lua/loadlib.c: Likewise.
27748 * script/lua/lobject.c: Likewise.
27749 * script/lua/lobject.h: Likewise.
27750 * script/lua/lopcodes.c: Likewise.
27751 * script/lua/lopcodes.h: Likewise.
27752 * script/lua/loslib.c: Likewise.
27753 * script/lua/lparser.c: Likewise.
27754 * script/lua/lparser.h: Likewise.
27755 * script/lua/lstate.c: Likewise.
27756 * script/lua/lstate.h: Likewise.
27757 * script/lua/lstring.c: Likewise.
27758 * script/lua/lstring.h: Likewise.
27759 * script/lua/lstrlib.c: Likewise.
27760 * script/lua/ltable.c: Likewise.
27761 * script/lua/ltable.h: Likewise.
27762 * script/lua/ltablib.c: Likewise.
27763 * script/lua/ltm.c: Likewise.
27764 * script/lua/ltm.h: Likewise.
27765 * script/lua/lua.h: Likewise.
27766 * script/lua/luaconf.h: Likewise.
27767 * script/lua/lualib.h: Likewise.
27768 * script/lua/lundump.c: Likewise.
27769 * script/lua/lundump.h: Likewise.
27770 * script/lua/lvm.c: Likewise.
27771 * script/lua/lvm.h: Likewise.
27772 * script/lua/lzio.c: Likewise.
27773 * script/lua/lzio.h: Likewise.
27774
5e898c9d 277752009-05-16 Bean <bean123ch@gmail.com>
27776
27777 * include/grub/kernel.h (grub_module_header_types): Add type
27778 OBJ_TYPE_CONFIG.
27779
27780 * kern/main.c (grub_load_config): New function.
27781 (grub_main): Call grub_load_config to read boot config.
27782
27783 * grub-mkimage (generate_image): New parameter config_path.
27784 (options): New option --config.
27785 (main): Parse --config option, and pass it to generate_image.
27786
cf353a47 277872009-05-14 Christian Franke <franke@computer.org>
27788
27789 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
27790 This fixes build on Cygwin.
27791
3834887f 277922009-05-14 Pavel Roskin <proski@gnu.org>
27793
27794 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
27795 jump. This saves two bytes, so the typical case of 2 swapped
27796 drives would fit 32 bytes.
27797
8090fc01 277982009-05-13 Pavel Roskin <proski@gnu.org>
27799
ac963883 27800 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
27801 grub_uint32_t to avoid a warning.
27802
8090fc01 27803 * loader/i386/linux.c (allocate_pages): When assigning
27804 real_mode_mem, cast through grub_size_t to fix a warning. The
27805 code already makes sure that the value would fit a pointer.
27806 (grub_linux_setup_video): Cast render_target->data to
27807 grub_size_t to fix a warning.
27808
18f547ad 278092009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 27810
27811 * commands/i386/pc/drivemap.c: New file - implement drivemap
27812 command.
27813 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
27814 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
27815
6f6a8b28 278162009-05-13 Pavel Roskin <proski@gnu.org>
27817
27818 * util/i386/pc/grub-setup.c (setup): Remove unused variable
27819 embedding_area_exists.
27820
15fbf4c4 278212009-05-13 Robert Millan <rmh.grub@aybabtu.com>
27822
27823 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
27824 it easier to understand / work with.
59978c8a 27825 Improve warning messages for cases where there's no embedding area,
27826 or when it is too small (or core.img too large).
15fbf4c4 27827
238e871f 278282009-05-13 Pavel Roskin <proski@gnu.org>
27829
0ab3a9a4 27830 * loader/i386/pc/multiboot2.c: Add necessary includes for
27831 grub_multiboot2_real_boot().
27832
a2c8c5f8 27833 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
27834 PX record is always little-endian. We only need the lower 2
27835 bytes of the mode.
27836
faec96af 27837 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
27838 facilitate code reuse.
27839 (grub_cpio_mount): Use "struct head", not a char buffer. This
27840 fixes a warning reported by gcc 4.4.
27841
238e871f 27842 * kernel/disk.c (grub_disk_read): Use void pointer for the
27843 buffer.
27844 (grub_disk_write): Use const void pointer for the buffer.
27845 Adjust all callers. Remove unnecessary casts.
27846
901d2f0c 278472009-05-10 Robert Millan <rmh.grub@aybabtu.com>
27848
27849 * util/i386/pc/grub-install.in: Update copyright year.
27850
18f547ad 278512009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 27852
27853 gptsync
27854
27855 * commands/gptsync.c: new file
27856 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
27857 (gptsync_mod_SOURCES): new variable
27858 (gptsync_mod_CFLAGS): likewise
27859 (gptsync_mod_LDFLAGS): likewise
18f547ad 27860 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 27861 new definition
27862 (GRUB_PC_PARTITION_TYPE_HFS): likewise
27863 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
27864 * conf/i386-ieee1275.rmk: likewise
27865 * conf/i386-pc.rmk: likewise
27866 * conf/powerpc-ieee1275.rmk: likewise
27867
b4ba690a 278682009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27869
27870 Fixed grub-emu
27871
27872 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
27873 (grub_dl_ref): likewise
27874
317e1a44 278752009-05-08 Robert Millan <rmh.grub@aybabtu.com>
27876
27877 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
27878 split in two functions (one for msdos and one for gpt).
27879
041b8094 278802009-05-08 Pavel Roskin <proski@gnu.org>
27881
752473c2 27882 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
27883 not modified.
27884
041b8094 27885 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
27886 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
27887 Initialize them with -1. Add sanity check for bad1. Eliminate
27888 nerr variable.
27889
172800ce 278902009-05-08 David S. Miller <davem@davemloft.net>
27891
27892 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
27893
29aa5e81 278942009-05-06 Robert Millan <rmh.grub@aybabtu.com>
27895
27896 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 27897 existence.
29aa5e81 27898
96613b62 278992009-05-05 Felix Zielcke <fzielcke@z-51.de>
27900
27901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 27902 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 27903
eef73c8a 279042009-05-05 David S. Miller <davem@davemloft.net>
27905
27906 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
27907
119494b5 279082009-05-05 Pavel Roskin <proski@gnu.org>
27909
27910 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
27911 of grub_dl_ref() and grub_dl_unref().
27912 * commands/parttool.c: Remove preprocessor conditionals around
27913 grub_dl_ref() and grub_dl_unref().
27914 * fs/affs.c: Likewise.
27915 * fs/afs.c: Likewise.
27916 * fs/cpio.c: Likewise.
27917 * fs/ext2.c: Likewise.
27918 * fs/fat.c: Likewise.
27919 * fs/hfs.c: Likewise.
27920 * fs/hfsplus.c: Likewise.
27921 * fs/iso9660.c: Likewise.
27922 * fs/jfs.c: Likewise.
27923 * fs/minix.c: Likewise.
27924 * fs/ntfs.c: Likewise.
27925 * fs/reiserfs.c: Likewise.
27926 * fs/sfs.c: Likewise.
27927 * fs/udf.c: Likewise.
27928 * fs/ufs.c: Likewise.
27929 * fs/xfs.c: Likewise.
27930 * include/grub/dl.h: Likewise.
27931 * loader/xnu.c: Likewise.
27932
de5fd76e 279332009-05-04 Pavel Roskin <proski@gnu.org>
27934
27935 * commands/acpi.c: Remove unused variable my_mod.
27936 * partmap/amiga.c: Likewise.
27937 * partmap/apple.c: Likewise.
27938 * partmap/gpt.c: Likewise.
27939 * partmap/pc.c: Likewise.
27940 * partmap/sun.c: Likewise.
27941 * term/gfxterm.c: Likewise.
27942 * term/i386/pc/vesafb.c: Likewise.
27943 * term/i386/pc/vga.c: Likewise.
27944
983598ad 279452009-05-04 David S. Miller <davem@davemloft.net>
27946
27947 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
27948 pointer args to grub_ieee1275_get_property().
27949
8aadec43 27950 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
27951
9554b15e 27952 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
27953 devices, and do not traverse down under controller nodes.
27954
67e23c90 27955 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
27956 (grub_ofdisk_open): Use it to un-escape "," characters.
27957 * kern/disk.c (find_part_sep): New.
27958 (grub_disk_open): Use it to find the first non-escaped ','
27959 character in the disk name.
27960 * util/ieee1275/devicemap.c (escape_of_path): New.
27961 (grub_util_emit_devicemap_entry): Use it.
27962 * util/sparc64/ieee1275/grub-install.in: Update script to
27963 strip partition specifiers properly by not triggering on
27964 '\' escaped ',' characters.
27965
74bfdd2f 279662009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27967
27968 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
27969 to 0x300.
27970 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
27971 resolutions.
27972 (linux_vesafb_modes): Add a lot of additional modes to the list (based
27973 on documentation from Wikipedia).
27974
4241d2b1 279752009-05-04 Pavel Roskin <proski@gnu.org>
27976
27977 * disk/ata.c: Spelling fixes.
27978 * disk/raid.c: Likewise.
27979 * disk/usbms.c: Likewise.
27980 * disk/dmraid_nvidia.c: Likewise.
27981 * kern/ieee1275/openfw.c: Likewise.
27982 * kern/ieee1275/init.c: Likewise.
27983 * kern/ieee1275/cmain.c: Likewise.
27984 * boot/i386/pc/cdboot.S: Likewise.
27985 * video/readers/png.c: Likewise.
27986 * video/i386/pc/vbe.c: Likewise.
27987 * fs/udf.c: Likewise.
27988 * fs/hfs.c: Likewise.
27989 * fs/reiserfs.c: Likewise.
27990 * efiemu/runtime/efiemu.c: Likewise.
27991 * efiemu/main.c: Likewise.
27992 * efiemu/mm.c: Likewise.
27993 * include/grub/elf.h: Likewise.
27994 * include/grub/xnu.h: Likewise.
27995 * include/grub/usbdesc.h: Likewise.
27996 * include/grub/usb.h: Likewise.
27997 * include/grub/script_sh.h: Likewise.
27998 * include/grub/lib/LzmaEnc.h: Likewise.
27999 * include/grub/efiemu/efiemu.h: Likewise.
28000 * include/grub/command.h: Likewise.
28001 * normal/menu.c: Likewise.
28002 * normal/main.c: Likewise.
28003 * normal/datetime.c: Likewise.
28004 * bus/usb/uhci.c: Likewise.
28005 * mmap/i386/uppermem.c: Likewise.
28006 * mmap/mmap.c: Likewise.
28007 * commands/acpi.c: Likewise.
28008 * commands/test.c: Likewise.
28009 * partmap/apple.c: Likewise.
28010 * font/font.c: Likewise.
28011 * loader/sparc64/ieee1275/linux.c: Likewise.
28012 * loader/macho.c: Likewise.
28013 * loader/i386/bsd_trampoline.S: Likewise.
28014 * loader/i386/bsd.c: Likewise.
28015 * loader/xnu.c: Likewise.
28016 * term/i386/pc/vesafb.c: Likewise.
28017 * term/usb_keyboard.c: Likewise.
28018 * util/resolve.c: Likewise.
28019 * util/getroot.c: Likewise.
28020
0cfc0083 280212009-05-04 Felix Zielcke <fzielcke@z-51.de>
28022
28023 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
28024
7c1d00cd 280252009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28026
28027 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
28028 build error.
28029
b01f0548 280302009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28031
28032 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
28033 parameter only available on BIOS.
28034
ecc3eb22 280352009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28036
28037 Removed wrong semicolon in declaration
28038
28039 * grub/misc.h (grub_dprintf): remove semicolon
28040
112972a9 280412009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28042
28043 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
28044 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
28045 is done by grub_cmd_linux() now).
28046 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
28047 restore video to text mode.
28048 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
28049 indicates lack of "vga=" parameter. "vga=0" is mapped to
28050 `GRUB_LINUX_VID_MODE_NORMAL'.
28051
afd5c115 280522009-05-04 Felix Zielcke <fzielcke@z-51.de>
28053
28054 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
28055 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
28056 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 28057 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 28058 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
28059 `grub_script.tab.c'.
28060
28061 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28062 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28064 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28065 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28066
faa517ce 28067 * Makefile.in: Remove duplicated 2008 in Copyright line.
28068
ae0c0bdc 280692009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28070
473d1e45 28071 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 28072 unconditionally.
28073 * include/grub/util/misc.h (grub_util_warn): New declaration.
28074
28075 * util/i386/pc/grub-install.in: Understand --force and pass it down
28076 to grub-setup.
28077
28078 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
28079 down to setup().
28080 (setup): Improve error messages and add warnings when requested to
28081 install in odd layouts. Refuse to install using blocklists unless
28082 --force was set.
28083
18f547ad 280842009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 28085
28086 * disk/raid.c (grub_raid_scan_device): Improve debug message.
28087
6d260daa 280882009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28089
28090 Updated copyright year
28091
28092 * fs/hfsplus.c: updated copyright year
18f547ad 28093
69f853f8 280942009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28095
28096 HFS+ UUID
28097
18f547ad 28098 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 28099 in the space previously used by unused3
28100 (grub_hfsplus_uuid): new function
28101 (grub_hfsplus_fs): added uuid field
28102
4c402e73 281032009-05-03 Pavel Roskin <proski@gnu.org>
28104
28105 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
28106 suppress warnings. It's no longer needed.
28107 * disk/host.c: Likewise.
28108 * disk/ata_pthru.c: Likewise.
28109 * disk/loopback.c: Likewise.
28110 * hook/datehook.c: Likewise.
28111 * parttool/pcpart.c: Likewise.
28112 * fs/i386/pc/pxe.c: Likewise.
28113 * fs/ntfscomp.c: Likewise.
28114 * efiemu/main.c: Likewise.
28115 * mmap/mmap.c: Likewise.
28116 * commands/crc.c: Likewise.
28117 * commands/hexdump.c: Likewise.
28118 * commands/hdparm.c: Likewise.
28119 * commands/acpi.c: Likewise.
28120 * commands/echo.c: Likewise.
28121 * commands/minicmd.c: Likewise.
28122 * commands/blocklist.c: Likewise.
28123 * commands/memrw.c: Likewise.
28124 * commands/loadenv.c: Likewise.
28125 * commands/usbtest.c: Likewise.
28126 * commands/lsmmap.c: Likewise.
28127 * commands/boot.c: Likewise.
28128 * commands/parttool.c: Likewise.
28129 * commands/configfile.c: Likewise.
28130 * commands/search.c: Likewise.
28131 * commands/ieee1275/suspend.c: Likewise.
28132 * commands/cat.c: Likewise.
28133 * commands/i386/pc/pxecmd.c: Likewise.
28134 * commands/i386/pc/play.c: Likewise.
28135 * commands/i386/pc/halt.c: Likewise.
28136 * commands/i386/pc/vbeinfo.c: Likewise.
28137 * commands/i386/pc/vbetest.c: Likewise.
28138 * commands/lspci.c: Likewise.
28139 * commands/date.c: Likewise.
28140 * commands/handler.c: Likewise.
28141 * commands/ls.c: Likewise.
28142 * commands/test.c: Likewise.
28143 * commands/cmp.c: Likewise.
28144 * commands/efi/loadbios.c: Likewise.
28145 * commands/efi/fixvideo.c: Likewise.
28146 * commands/halt.c: Likewise.
28147 * commands/help.c: Likewise.
28148 * commands/reboot.c: Likewise.
28149 * hello/hello.c: Likewise.
28150 * script/sh/main.c: Likewise.
28151 * loader/xnu.c: Likewise.
28152 * term/terminfo.c: Likewise.
28153 * term/i386/pc/serial.c: Likewise.
28154 * term/usb_keyboard.c: Likewise.
28155
515b5079 281562009-05-03 David S. Miller <davem@davemloft.net>
28157
28158 * normal/menu.c: Include grub/parser.h
28159
dfc31a22 281602009-05-03 Pavel Roskin <proski@gnu.org>
28161
2fee74f1 28162 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
28163 not char*.
28164 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
28165 Suggested by Javier Martín <lordhabbit@gmail.com>
28166
dfc31a22 28167 * util/i386/pc/grub-mkrescue.in: Allow for the case when
28168 efiemu??.o doesn't exist.
28169 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
28170 copying.
28171
18f547ad 281722009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 28173
28174 FreeBSD 64-bit support
28175
18f547ad 28176 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 28177 and loader/i386/bsd_trampoline.S
28178 (bsd_mod_ASFLAGS): new variable
28179 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
28180 (FREEBSD_MODTYPE_KERNEL64): likewise
28181 (grub_bsd64_trampoline_start): likewise
28182 (grub_bsd64_trampoline_end): likewise
28183 (grub_bsd64_trampoline_selfjump): likewise
28184 (grub_bsd64_trampoline_gdt): likewise
28185 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
28186 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
28187 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
28188 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 28189 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 28190 of "attrib" member
28191 * loader/i386/bsd_pagetable.c: new file
28192 * loader/i386/bsd_trampoline.S: likewise
28193 * loader/i386/bsd.c (ALIGN_QWORD): new macro
28194 (ALIGN_VAR): likewise
28195 (entry_hi): new variable
28196 (kern_end_mdofs): likewise
28197 (is_64bit): likewise
28198 (grub_freebsd_add_meta): use ALIGN_VAR
28199 (grub_e820_mmap): new declaration
28200 (grub_freebsd_add_mmap): new function
28201 (grub_freebsd_add_meta_module): support 64 bit kernels
28202 (grub_freebsd_list_modules): use ALIGN_VAR
28203 (gdt_descriptor): new declaration
28204 (grub_freebsd_boot): support 64 bit kernels
28205 (grub_bsd_elf64_hook): new function
28206 (grub_bsd_load_elf): support elf64
28207
038c5720 282082009-05-03 Bean <bean123ch@gmail.com>
28209
28210 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
28211 after we get the result of if statement.
28212
fc45fb58 282132009-05-03 Bean <bean123ch@gmail.com>
28214
28215 * Makefile.in (enable_efiemu): New variable.
28216
28217 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
28218 set.
28219 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
28220 path.
28221 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
28222 path, add -mno-red-zone option.
28223 (efiemu64_s.o): Likewise.
28224 (efiemu64.o): Use macro $^ for source file.
28225
28226 * configure.ac (--enable-efiemu): New option.
28227
bbee0f2b 282282009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28229
28230 xnu support
28231
28232 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
28233 (pkglib_MODULES): add xnu.mod
28234 (xnu_mod_SOURCES): new variable
28235 (xnu_mod_CFLAGS): likewise
28236 (xnu_mod_LDFLAGS): likewise
28237 (xnu_mod_ASFLAGS): likewise
28238 * conf/i386-pc.rmk: likewise
28239 * conf/x86_64-efi.rmk: likewise
7dd4a573 28240 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 28241 new declaration
28242 * include/grub/i386/macho.h: new file
28243 * include/grub/i386/xnu.h: likewise
28244 * include/grub/macho.h: likewise
28245 * include/grub/machoload.h: likewise
28246 * include/grub/x86_64/macho.h: likewise
28247 * include/grub/x86_64/xnu.h: likewise
28248 * include/grub/xnu.h: likewise
28249 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
28250 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
28251 * loader/i386/efi/xnu.c: new file
28252 * loader/i386/pc/xnu.c: likewise
28253 * loader/i386/xnu.c: likewise
28254 * loader/i386/xnu_helper.S: likewise
28255 * loader/macho.c: likewise
28256 * loader/xnu.c: likewise
28257 * loader/xnu_resume.c: likewise
28258 * util/grub-dumpdevtree: likewise
28259 * include/grub/i386/pit.h: include grub/err.h
28260 (grub_pit_wait): export
28261 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 28262
5caf964d 282632009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28264
28265 Efiemu
7dd4a573 28266
5caf964d 28267 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 28268 _linux_efi, linux_efi.
28269 new files in grub-emu
5caf964d 28270 new targets efiemu32.o and efiemu64.o
28271 * loader/linux_normal_efiemu.c: likewise
28272 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 28273 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 28274 files to copy
28275 * include/grub/autoefi.h: new file
7dd4a573 28276 * include/grub/i386/efiemu.h: likewise
5caf964d 28277 * include/grub/i386/pc/efiemu.h: likewise
28278 * include/grub/efi/api.h: add LL suffix when necessary
28279 new definitions relating to tables
28280 * include/grub/efiemu/efiemu.h: new file
28281 * include/grub/efiemu/runtime.h: likewise
28282 * efiemu/prepare.c: likewise
28283 * efiemu/loadcore_common.c: likewise
28284 * efiemu/loadcore64.c: likewise
28285 * efiemu/runtime/efiemu.sh: likewise
28286 * efiemu/runtime/efiemu.S: likewise
28287 * efiemu/runtime/efiemu.c: likewise
28288 * efiemu/runtime/config.h: likewise
28289 * efiemu/prepare32.c: likewise
28290 * efiemu/main.c: likewise
28291 * efiemu/modules/pnvram.c: likewise
28292 * efiemu/modules/i386: likewise
28293 * efiemu/modules/i386/pc: likewise
28294 * efiemu/modules/acpi.c: likewise
28295 * efiemu/i386/pc/cfgtables.c: likewise
28296 * efiemu/i386/loadcore64.c: likewise
28297 * efiemu/i386/loadcore32.c: likewise
28298 * efiemu/prepare64.c: likewise
28299 * efiemu/loadcore.c: likewise
28300 * efiemu/symbols.c: likewise
28301 * efiemu/mm.c: likewise
28302 * efiemu/loadcore32.c: likewise
7dd4a573 28303
283042009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 28305
28306 ACPI spoofing
28307
28308 * commands/acpi.c: new file
28309 * commands/i386/pc/acpi.c: likewise
28310 * commands/efi/acpi.c: likewise
28311 * include/grub/acpi.h: likewise
28312 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
28313 (acpi_mod_SOURCES): new variable
28314 (acpi_mod_CFLAGS): likewise
28315 (acpi_mod_LDFLAGS): likewise
28316 * conf/i386-efi.rmk: likewise
28317 * conf/x86_64-efi.rmk: likewise
28318
7dd4a573 283192009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 28320
28321 Missing part from mmap patch
28322
28323 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
28324 (grub_mmap_unregister)
28325 (grub_mmap_free_and_unregister): use grub_mmap_register
28326
7dd4a573 283272009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 28328
28329 Mmap services
28330
28331 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
28332 * loader/i386/linux.c (find_mmap_size): likewise
28333 (allocate_pages): likewise
28334 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
28335 (grub_fill_multiboot_mmap): likewise
28336 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
28337 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
28338 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
28339 (OPENBSD_MMAP_RESERVED): likewise
28340 * include/grub/i386/pc/memory.h: include grub/memory.h
28341 (grub_lower_mem): removed
28342 (grub_upper_mem): likewise
28343 (GRUB_MACHINE_MEMORY_ACPI): new definition
28344 (GRUB_MACHINE_MEMORY_NVS): likewise
28345 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
28346 (GRUB_MACHINE_MEMORY_HOLE): likewise
28347 (grub_machine_mmap_register): likewise
28348 (grub_machine_mmap_unregister): likewise
28349 (grub_machine_get_upper): likewise
28350 (grub_machine_get_lower): likewise
28351 (grub_machine_get_post64): likewise
28352 * include/grub/i386/efi/memory.h: new file
28353 * include/grub/x86_64/efi/memory.h: likewise
28354 * include/grub/efi/memory.h: likewise
28355 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
28356 (mmap_mod_SOURCES): new variable
28357 (mmap_mod_LDFLAGS): likewise
28358 (mmap_mod_ASFLAGS): likewise
28359 * conf/i386-coreboot.rmk: likewise
28360 * conf/i386-ieee1275.rmk: likewise
28361 * conf/i386-efi.rmk: likewise
28362 * conf/x86_64-efi.rmk: likewise
28363 * include/grub/types.h (UINT_TO_PTR): new macro
28364 (PTR_TO_UINT32): likewise
28365 (PTR_TO_UINT64): likewise
28366 * include/grub/memory.h: new file
28367 * mmap/i386/pc/mmap.c: likewise
28368 * mmap/i386/pc/mmap_helper.S: likewise
28369 * mmap/i386/uppermem.c: likewise
28370 * mmap/mmap.c: likewise
28371 * mmap/efi/mmap.c: likewise
7dd4a573 28372 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 28373 grub_upper_mem
28374 * kern/i386/pc/init.c (grub_lower_mem): removed variable
28375 (grub_upper_mem): likewise
28376 (grub_machine_init): don't use grub_upper_mem,
28377 make grub_lower_mem local
28378 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
28379 grub_mmap_iterate and grub_mmap_get_upper
28380 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
28381
d558e6b5 283822009-05-02 Bean <bean123ch@gmail.com>
28383
28384 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
28385 script/sh/parser.y.
28386 (pkglib_MODULES): Add normal.mod and sh.mod.
28387 (normal_SOURCES): New variable.
28388 (normal_mod_CFLAGS): Likewise.
28389 (normal_mod_LDFLAGS): Likewise.
28390 (sh_mod_SOURCES): Likewise.
28391 (sh_mod_CFLAGS): Likewise.
28392 (sh_mod_LDFLAGS): Likewise.
28393
28394 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
28395 script/sh/lexer.c_DEPENDENCIES.
28396 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
28397 kern/rescue_reader.c and kern/rescue_parser.c.
28398 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
28399 (grub_emu_SOURCES): Change source files.
28400 (pkglib_MODULES): Remove normal.mod.
28401 (normal_SOURCES): Removed.
28402 (normal_mod_CFLAGS): Likewise.
28403 (normal_mod_LDFLAGS): Likewise.
28404 * conf/i386-coreboot.rmk: Likewise.
28405 * conf/i386-efi.rmk: Likewise.
28406 * conf/i386-ieee1276.rmk: Likewise.
28407 * conf/powerpc-ieee1275.rmk: Likewise.
28408 * conf/sparc64-ieee1275.rmk: Likewise.
28409 * conf/x86_64-efi.rmk: Likewise.
28410
28411 * include/grub/command.h (grub_command_execute): New inline function.
28412
28413 * include/grub/menu.h (grub_menu_entry): Removed commands field.
28414
28415 * include/grub/normal.h: Remove <grub/setjmp.h>.
28416 (grub_fs_module_list): Moved to normal/autofs.c.
28417 (grub_exit_env): Removed.
28418 (grub_command_execute): Likewise.
28419 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
28420 parameter script.
28421 (read_command_list): New function declaration.
28422 (read_fs_list): Likewise.
28423
28424 * include/parser.h: Include <grub/reader.h>.
28425 (grub_parser_split_cmdline): Change type of getline parameter.
28426 (grub_parser): New structure.
28427 (grub_parser_class): New variable.
28428 (grub_parser_execute): New function declaration.
28429 (grub_register_rescue_parser): Likewise.
28430 (grub_parser_register): New inline function.
28431 (grub_parser_unregister): Likewise.
28432 (grub_parser_get_current): Likewise.
28433 (grub_parser_set_current): Likewise.
28434
28435 * include/grub/reader.h: New file.
28436 * kern/reader.c: Likewise.
28437 * kern/rescue_parser.c: Likewise.
28438 * kern/rescue_reader.c: Likewise.
28439 * normal/autofs.c: Likewise.
28440 * normal/dyncmd.c: Likewise.
28441
28442 * include/grub/rescue.h: Removed.
28443 * normal/command.h: Likewise.
28444
28445 * include/grub/script.h: Moved to ...
28446 * include/grub/script_sh.h: ... Moved here.
28447 * normal/execute.c: Moved to ...
28448 * script/sh/execute.c: ... Moved here.
28449 * normal/function.c: Moved to ...
28450 * script/sh/function.c: ... Moved here.
28451 * normal/lexer.c: Moved to ...
28452 * script/sh/lexer.c: ... Moved here.
28453 * normal/parser.y: Moved to ...
28454 * script/sh/parser.y: ... Moved here.
28455 * normal/script.c: Moved to ...
28456 * script/sh/script.c: ... Moved here.
28457
28458 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
28459 <grub/reader.h>.
28460 (grub_exit_env): Removed.
28461 (fs_module_list): Moved to normal/autofs.c.
28462 (grub_file_getline): Don't handle comment here.
28463 (free_menu): Skip removed field entry->commands.
28464 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
28465 script parameter.
28466 (read_config_file): Removed nested parameter, change getline function.
28467 (grub_enter_normal_mode): Removed.
28468 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
28469 (read_command_list): Likewise.
28470 (autoload_fs_module): Moved to normal/autofs.c.
28471 (read_fs_list): Likewise.
28472 (reader_nested): New variable.
28473 (grub_normal_execute): Run parser.sh to switch to sh parser.
28474 (grub_cmd_rescue): Removed.
28475 (cmd_normal): Removed.
28476 (grub_cmd_normal): Unregister itself at the beginning. Don't register
28477 rescue command.
28478 (grub_cmdline_run): New function.
28479 (grub_normal_reader_init): Likewise.
28480 (grub_normal_read_line): Likewise.
28481 (grub_env_write_pager): Likewise.
28482 (cmdline): New variable.
28483 (grub_normal_reader): Likewise.
28484 (GRUB_MOD_INIT): Register normal reader and set as current, register
28485 pager hook, register normal command with grub_register_command_prio,
28486 so that it won't show up in command.lst.
28487 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28488 grub_fs_autoload_hook.
28489
28490 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28491 (grub_menu_execute_entry): Replace grub_script_execute with
28492 grub_parser_execute, change parameter to grub_command_execute.
28493
28494 * normal/menu_text.c: Remove <grub/script.h>.
28495
28496 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28497 and <grub/parser.h>.
28498 (run): Change editor_getline to use new parser interface. Change
28499 parameter to grub_command_execute.
28500
28501 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28502 <grub/reader.h> and <grub/parser.h>.
28503 (grub_load_normal_mode): Execute normal command.
28504 (grub_main): Call grub_register_core_commands,
28505 grub_register_rescue_parser and grub_register_rescue_reader, use
28506 grub_reader_loop to enter input loop.
28507
7dd4a573 28508 * kern/parser.c (grub_parser_split_cmdline): Change type of
28509 getline parameter.
d558e6b5 28510 (grub_parser_class): New variable.
28511 (grub_parser_execute): New function.
28512
28513 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28514 * loader/multiboot2.c: Likewise.
28515 * loader/sparc64/ieee1275/linux.c: Likewise.
28516
28517 * util/grub-emu.c (read_command_list): New dummy function.
28518
18db813d 285192009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28520
28521 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28522 count to 16 for CCISS and IDA.
28523
6c67de15 285242009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28525
28526 * normal/menu_text.c (grub_wait_after_message): Print a newline
28527 after waiting for user input.
28528
28529 * loader/i386/linux.c: Include `<grub/normal.h>'.
28530 (grub_cmd_linux): Improve the error message about `ask' mode, by
28531 waiting for user input so it's not missed (we can do this, since
28532 user requested interaction).
28533
d9dc87b0 285342009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28535
28536 Added missing lst to grub-mkrescue
28537
28538 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28539 and ${input_dir}/parttool.lst
28540
ac8a2baa 285412009-04-30 David S. Miller <davem@davemloft.net>
28542
ad22a610 28543 * util/hostdisk.c (device_is_wholedisk): New function.
28544 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28545 zero only if device_is_wholedisk() returns true.
28546
6966215d 28547 * util/hostdisk.c (convert_system_partition_to_system_disk):
28548 Handle virtual disk devices named /dev/vdiskX as found on sparc
28549 and powerpc.
28550
ac8a2baa 28551 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28552 lettered partition specifier is found, convert to numbered.
28553
979b4fb4 285542009-04-29 David S. Miller <davem@davemloft.net>
28555
e2bf39b2 28556 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28557 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28558
3c64e104 28559 * normal/command.c: Add missing newline at end of file.
28560
979b4fb4 28561 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28562 warnings.
28563 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28564 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28565 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28566 ihandles have a 32-bit type but need to be stored in a "void *".
28567
136d9f82 285682009-04-28 Pavel Roskin <proski@gnu.org>
28569
9459c306 28570 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28571 not disk. Adjust all dependencies.
2e08a26a 28572 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28573 grub_disk_close().
28574
136d9f82 28575 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28576 parent's partition, don't copy it by reference, as it gets freed
28577 on close.
28578
7dd4a573 285792009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28580
28581 Preboot hooks support
28582
28583 * commands/boot.c (struct grub_preboot_t): new declaration
28584 (preboots_head): new variable
28585 (preboots_tail): likewise
28586 (grub_loader_register_preboot_hook): new function
28587 (grub_loader_unregister_preboot_hook): likewise
28588 (grub_loader_set): launch preboot hooks
28589 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28590 (grub_loader_register_preboot_hook): new declaration
28591 (grub_loader_unregister_preboot_hook): likewise
28592
5af922b5 285932009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28594
28595 Warning fix
28596
7dd4a573 28597 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28598 calling grub_dprintf
28599
a5562c30 286002009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28601
28602 Bug and warning fixes
28603
7dd4a573 28604 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28605 declaration
28606 * commands/test.c (test_parse): fixed bug with file tests and corrected
28607 declaration of find_file
28608
4006f85c 286092009-04-26 Pavel Roskin <proski@gnu.org>
28610
28611 * Makefile.in: Don't install empty manual pages if help2man is
28612 missing. Use help2man option for output, not shell redirection.
28613
5c77c3de 286142009-04-26 David S. Miller <davem@davemloft.net>
28615
28616 * util/grub-mkdevicemap.c (make_device_map): Add missing
28617 NESTED_FUNC_ATTR to process_device().
28618
033b10a8 286192009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28620
28621 Test command
28622
28623 * commands/test.c: rewritten to use bash-like test
28624
e4343593 286252009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28626
28627 Parttool autoloading and improvements
28628
7dd4a573 28629 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 28630 (parttool.lst): new target
28631 * genmk.rb: generate parttool-*
28632 (CLEANFILES): add #{parttool}
28633 (PARTTOOLFILES): new variable
28634 * genparttoollist.sh: new file
7dd4a573 28635 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 28636 (grub_pcpart_type): likewise
28637 * commands/parttool.c (helpmsg): new variable
28638 (grub_cmd_parttool): output help if not enough arguments are supplied
28639 autoload modules
28640 (GRUB_MOD_INIT(parttool)): use helpmsg
28641
0d312500 286422009-04-24 David S. Miller <davem@davemloft.net>
28643
7dd4a573 28644 Avoiding opening same device multiple times in device iterator.
0d312500 28645
28646 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 28647 and use it to build a list of partitions in iterate_disk() and
0d312500 28648 iterate_partition().
28649
ac20caff 28650 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28651 on disk->data.
28652
0dcf7495 28653 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28654 grub_devalias_iterate() result instead of unconditional 0.
28655 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28656 Also, capture hook return value, either directly or via
28657 grub_children_iterate(), and propagate to caller.
28658 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
28659 grub_children_iterate): Return value is now 'int' instead of
28660 'grub_err_t'.
28661 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
28662 like a proper iterator, stopping when hooks return non-zero.
28663 (grub_devalias_iterate): Likewise.
28664
c8c08833 286652009-04-23 David S. Miller <davem@davemloft.net>
28666
28667 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
28668
f01005a8 286692009-04-22 David S. Miller <davem@davemloft.net>
28670
28671 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
28672 is larger than address_cells, use that value for address_cells too.
28673
4e8269da 28674 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
28675 IEEE1275_MAX_PATH_LEN): Define.
28676 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
28677 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
28678 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
28679 'devtype'. Explicitly NULL terminate devalias expansion.
28680
a1447506 28681 * util/sparc64/ieee1275/misc.c: New file.
28682 * util/sparc64/ieee1275/grub-setup.c: New file.
28683 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
28684 * util/sparc64/ieee1275/grub-mkimage.c: New file.
28685 * util/sparc64/ieee1275/grub-install.in: New file.
28686 * util/ieee1275/ofpath.c: New file.
28687 * util/ieee1275/devicemap.c: New file.
28688 * util/devicemap.c: New file.
28689 * util/deviceiter.c: New file.
28690 * kern/sparc64/ieee1275/init.c: New file.
28691 * include/grub/util/ofpath.h: New file.
28692 * include/grub/util/deviceiter.h: New file.
28693 * util/grub-mkdevicemap.c: Include deviceiter.h.
28694 Implement using grub_util_emit_devicemap_entry and
28695 grub_util_iterate_devices.
28696 * conf/i386-corebook.rmk: Build util/deviceiter.c and
28697 util/devicemap.c into grub-mkdevicemap
28698 * conf/i386-efi.rmk: Likewise.
28699 * conf/i386-ieee1275.rmk: Likewise.
28700 * conf/i386-pc.rmk: Likewise.
28701 * conf/powerpc-ieee1275.rmk: Likewise.
28702 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
28703 images and installation utilities. Build kernel as image
28704 instead of as elf binary. Use common rules as much as possible.
28705
7dd4a573 287062009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 28707
28708 Correct GPT definition
28709
7dd4a573 28710 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 28711 of "attrib" member
28712
c6c5219f 287132009-04-19 Felix Zielcke <fzielcke@z-51.de>
28714
28715 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
28716
0552ff9f 287172009-04-19 David S. Miller <davem@davemloft.net>
28718
28719 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
28720 (grub_rescue_cmd_linux): Rename to...
28721 (grub_cmd_linux): and fix prototype.
28722 (grub_rescue_cmd_initrd): Rename to...
28723 (grub_cmd_initrd): and fix prototype.
28724 (cmd_linux, cmd_initrd): New.
28725 (GRUB_MOD_INIT(linux)): Use grub_register_command().
28726 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
28727
d1a282fc 287282009-04-17 Pavel Roskin <proski@gnu.org>
28729
07c5039f 28730 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
28731 format.
28732 (grub_ohci_transfer): Likewise.
28733
b012002d 28734 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
28735
1bc09c35 28736 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
28737 return without a value. Fix inconsistent indentation.
28738
e0ff9126 28739 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28740 match struct grub_fs.
28741
d1a282fc 28742 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28743 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28744 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28745 * commands/lspci.c (grub_lspci_iter): Likewise.
28746
a96df3f2 287472009-04-16 Bean <bean123ch@gmail.com>
28748
28749 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28750 value.
28751
41bb0fe9 287522009-04-15 Pavel Roskin <proski@gnu.org>
28753
28754 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28755 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28756 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28757 definitions.
28758
596c6970 287592009-04-15 Felix Zielcke <fzielcke@z-51.de>
28760
28761 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 28762 that no multiple data or metadata areas are supported and `Unknown
596c6970 28763 metadata header'.
28764
7dd4a573 287652009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 28766
28767 Move loader out of the kernel
28768
28769 * kern/loader.c: moved to ...
28770 * commands/boot.c: ... moved here
28771 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
28772 * commands/boot.c (grub_cmd_boot): moved here. All users updated
28773 * include/grub/kernel.h (grub_machine_fini): export
28774 * include/grub/loader.h (grub_loader_is_loaded): update declaration
28775 (grub_loader_set): likewise
28776 (grub_loader_unset): likewise
28777 (grub_loader_boot): likewise
28778 * conf/common.rmk: new module boot.mod
28779 (pkglib_MODULES): add boot.mod
28780 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
28781 (grub_emu_SOURCES): likewise
28782 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
28783 (grub_emu_SOURCES): likewise
28784 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
28785 (grub_emu_SOURCES): likewise
28786 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
28787 (grub_emu_SOURCES): likewise
28788 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
28789 (grub_emu_SOURCES): likewise
7dd4a573 28790 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
28791 (grub_emu_SOURCES): likewise
0d5d5653 28792 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 28793 (grub_emu_SOURCES): likewise
0d5d5653 28794
7dd4a573 287952009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 28796
28797 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 28798
5999d619 28799 * kern/misc.c (grub_itoa): Removed function
28800 (grub_ltoa): likewise
28801 (grub_vsprintf): use grub_lltoa
28802
7dd4a573 288032009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 28804
28805 Restore grub-emu
28806
28807 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
28808 * conf/i386-coreboot.rmk: likewise
28809 * conf/i386-ieee1275.rmk: likewise
28810 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28811
20318222 288122009-04-15 Felix Zielcke <fzielcke@z-51.de>
28813
28814 * INSTALL: Add that `./autogen.sh' needs to be run before
28815 `./configure.'.
28816
d05f0df3 288172009-04-14 Bean <bean123ch@gmail.com>
28818
28819 * Makefile.in (pkglib_DATA): Add handler.lst.
28820 (handler.lst): New rule.
28821
28822 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
28823 * conf/i386-coreboot.rmk: Likewise.
28824 * conf/i386-ieee1275.rmk: Likewise.
28825 * conf/i386-efi.rmk: Likewise.
28826 * conf/x86_64-efi.rmk: Likewise.
28827 * conf/powerpc-ieee1275.rmk: Likewise.
28828 * conf/sparc64-ieee1275.rmk: Likewise.
28829
28830 * genhandlerlist.sh: New file.
28831
28832 * genmk.rb: Add rules to generate handler.lst.
28833
28834 * include/grub/normal.h (grub_file_getline): New function definition.
28835 (read_handler_list): Likewise.
28836 (free_handler_list): Likewise.
28837
28838 * include/grub/term.h (grub_term_register_input): Add name parameter
28839 for auto generation of handler.lst.
28840 (grub_term_register_output): Likewise.
28841
28842 * normal/handler.c: New file.
28843
28844 * normal/main.c (get_line): Renamed to grub_file_getline.
28845 (read_config_file): Use the newly renamed grub_file_getline.
28846 (read_command_list): Likewise.
28847 (read_fs_list): Likewise.
28848 (grub_normal_execute): Call read_handler_list to parse handler.lst.
28849 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
28850
28851 * term/efi/console.c (grub_console_init): Add name parameter for auto
28852 generation of handler.lst.
28853 * term/gfxterm.c: Likewise.
28854 * term/i386/pc/at_keyboard.c: Likewise.
28855 * term/i386/pc/console.c: Likewise.
28856 * term/i386/pc/serial.c: Likewise.
28857 * term/i386/pc/vesafb.c: Likewise.
28858 * term/i386/pc/vga.c: Likewise.
28859 * term/i386/pc/vga_text.c: Likewise.
28860 * term/ieee1275/ofconsole.c: Likewise.
28861 * term/usb_keyboard.c: Likewise.
28862
33c846be 288632009-04-14 Bean <bean123ch@gmail.com>
28864
28865 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
28866 properly with null character.
28867
4484e01e 288682009-04-14 Felix Zielcke <fzielcke@z-51.de>
28869
28870 * configure: Remove.
28871 * config.h.in: Likewise.
f93d668e 28872 * stamp-h.in: Likewise.
4484e01e 28873 * DISTLIST: Likewise.
28874 * conf/common.mk: Likewise.
28875 * conf/i386-coreboot.mk: Likewise.
28876 * conf/i386-efi.mk: Likewise.
28877 * conf/i386-ieee1275.mk: Likewise.
28878 * conf/i386.mk: Likewise.
28879 * conf/i386-pc.mk: Likewise.
28880 * conf/powerpc-ieee1275.mk: Likewise.
28881 * conf/sparc64-ieee1275.mk: Likewise.
28882 * conf/x86_64-efi.mk: Likewise.
28883
28884 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
28885 develop on GRUB.
28886
7dd4a573 288872009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 28888 David S. Miller <davem@davemloft.net>
28889
28890 * util/hostdisk.c (make_device_name): Fix buffer length
28891 calculations.
28892
e25b5a8c 288932009-04-14 Felix Zielcke <fzielcke@z-51.de>
28894
28895 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
28896 <sys/param.h> and <sys/sysctl.h>.
28897 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
28898 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
28899 opening the device and reset them afterwards.
28900
1f1f580c 289012009-04-13 Pavel Roskin <proski@gnu.org>
28902
28903 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
28904 Reported by John Stanley <jpsinthemix@verizon.net>
28905
7ebc2d6b 289062009-04-13 Robert Millan <rmh@aybabtu.com>
28907
28908 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 28909 that name for menuentries when appropriate.
7ebc2d6b 28910
d8ba3667 289112009-04-13 Felix Zielcke <fzielcke@z-51.de>
28912
28913 * util/grub.d/10_freebsd.in: Add a missing `fi'.
28914
cba416eb 289152009-04-13 Robert Millan <rmh@aybabtu.com>
28916
28917 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
28918 to Linux, simply abort telling the user it's no longer supported.
28919
a547a745 289202009-04-13 Felix Zielcke <fzielcke@z-51.de>
28921
28922 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 28923 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 28924 `freebsd_loadenv' only when devices.hints exist.
28925
232a769c 289262009-04-13 Pavel Roskin <proski@gnu.org>
28927
28928 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
28929
c3012039 289302009-04-13 Felix Zielcke <fzielcke@z-51.de>
28931
28932 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
28933 partition number.
28934 (grub_drive): Likewise.
28935
234022fe 289362009-04-13 David S. Miller <davem@davemloft.net>
28937
28938 * kern/sparc64/ieee1275/ieee1275.c: New file.
28939 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
28940 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
28941 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
28942 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
28943 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
28944 grub_ieee1275_alloc_physmem): Declare new exported functions.
28945
d8e1836c 28946 * include/grub/sparc64/ieee1275/loader.h: New file.
28947 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28948 * include/grub/sparc64/kernel.h: Likewise.
28949 * loader/sparc64/ieee1275/linux.c: Likewise.
28950
96bd81ec 28951 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
28952 (grub_fstest_SOURCES): Likewise.
28953
6a4737e5 28954 * util/hostdisk.c (make_device_name): Do not make any assumptions
28955 about the length of drive names.
28956
1d7a72fd 28957 * kern/dl.c (grub_dl_load_file): Close file immediately when
28958 we are done using it.
28959
56bc2471 289602009-04-12 David S. Miller <davem@davemloft.net>
28961
28962 * kern/misc.c (grub_ltoa): Fix cast when handling negative
28963 values. Noticed by Pavel Roskin.
28964
df38d0bb 28965 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
28966 target compiler.
7dd4a573 28967
e382e93a 28968 * genmk.rb: Add more flexible image type specification, also
28969 pass --strip-unneeded to objcopy.
28970 * conf/i386-pc.rmk: Use *_FORMAT.
28971 * conf/i386-pc.mk: Rebuilt.
28972
f5dbbca9 28973 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
28974 (OFDISK_HASH_SZ): Define.
28975 (ofdisk_hash): New hash table.
28976 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
28977 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
28978 instead of device phandle which is not unique.
28979
91c88b12 28980 * kern/sparc64/ieee1275/init.c: Delete, replace with...
28981 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
28982 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
28983 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
28984 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
28985 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
28986 GRUB_KERNEL_MACHINE_DATA_END): Define.
28987 (grub_kernel_image_size, grub_total_module_size): Declare.
28988
5b5d4aa5 289892009-04-12 Pavel Roskin <proski@gnu.org>
28990
7dd4a573 28991 * configure.ac: Change the logic when we check for target tools.
28992 Do it when the target is specified and it's different from the
28993 specified value of the host.
5b5d4aa5 28994
c91e1793 289952009-04-11 Felix Zielcke <fzielcke@z-51.de>
28996
28997 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
28998 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
28999 GNU/kFreeBSD. Check if a device is a character device. Use
29000 DIOCGMEDIASIZE to get the size.
29001 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
29002 support for GNU/kFreeBSD.
29003 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
29004 is a character device instead of a block device. Add support for
29005 FreeBSD device names.
29006
29007 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
29008 is a character device instead of a block device.
29009
29010 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
29011 is a character device instead of a block device.
29012
b1ac8644 290132009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
29014
29015 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
29016 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
29017 FreeBSD. Check if a device is a character device. Use
29018 DIOCGMEDIASIZE to get the size.
29019 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
29020 support for FreeBSD.
29021 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
29022 is a character device instead of a block device. Add support for
29023 FreeBSD device names.
29024
29025 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
29026 a character device instead of a block device.
29027 (grub_util_check_char_device): New function.
29028
29029 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
29030 a character device instead of a block device.
29031
29032 * include/grub/util/getroot.h (grub_util_check_char_device): New
29033 prototype.
29034
a3f7515a 290352009-04-11 David S. Miller <davem@davemloft.net>
29036
29037 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
29038 static libgcc.
29039 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
29040 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
29041 function, if present.
29042 (__bswapdi2): Likewise.
29043
0d44993d 29044 * include/grub/sparc64/ieee1275/boot.h: New file.
29045 * boot/sparc64/ieee1275/boot.S: Likewise.
29046 * boot/sparc64/ieee1275/diskboot.S: Likewise.
29047
ed3d2bc2 29048 * kern/misc.c (grub_ltoa): New function.
29049 (grub_vsprintf): Use it to format 'long' integers.
29050
d3bfb59c 290512009-04-10 David S. Miller <davem@davemloft.net>
29052
29053 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
29054 slots are of type grub_ieee1275_cell_t.
29055 (grub_nand_read): Likewise.
29056 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
29057 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
29058 macros are used to compare values in arg/ret block of the call.
29059 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
29060 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
29061 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
29062 grub_ieee1275_instance_to_path, grub_ieee1275_write,
29063 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
29064 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
29065 grub_ieee1275_close, grub_ieee1275_set_property,
29066 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
29067 grub_ieee1275_cell_t.
29068 * kern/ieee1275/openfw.c (grub_map): Likewise.
29069 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
29070 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
29071
450e2238 29072 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
29073 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
29074 (grub_devalias_iterate): Likewise.
29075
7dd4a573 290762009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 29077
29078 UFS improvements
29079
29080 * fs/ufs.c (INODE_NBLOCKS): new definition
29081 (struct grub_ufs_dirent): added fields for non-BSD dirents
29082 (grub_ufs_get_file_block): fixed double indirect handling
29083 (grub_ufs_lookup_symlink): use more robust way to determine whether
29084 symlink is inline
29085 (grub_ufs_find_file): support for non-BSD dirents
29086 (grub_ufs_dir): support for non-BSD dirents
29087
e7e6862a 290882009-04-10 Bean <bean123ch@gnail.com>
29089
29090 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
29091 attribute, otherwise the size would be wrong for i386 platform.
29092
29093 * include/grub/pci.h (grub_pci_read_word): New inline function.
29094 (grub_pci_read_byte): Likewise.
29095 (grub_pci_write): Likewise.
29096 (grub_pci_write_word): Likewise.
29097 (grub_pci_write_byte): Likewise.
29098
29099 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
29100
29101 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
29102 (find_framebuf): Scan pci to locate the frame buffer address.
29103
29104 * commands/efi/fixvideo.c: New file.
29105
29106 * commands/efi/loadbios.c: Likewise.
29107
29108 * commands/memrw.c: Likewise.
29109
29110 * util/grub-dumpbios.in: Likewise.
29111
29112 * conf/common.rmk (grub-dumpbios): New utility.
29113 (pkglib_MODULES): New module memrw.mod.
29114 (memrw_mod_SOURCE): New macro.
29115 (memrw_mod_CFLAGS): Likewise.
29116 (memrw_mod_LDFLAGS): Likewise.
29117
7dd4a573 29118 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29119 fixvideo.mod.
29120 (loadbios_mod_SOURCE): New macro.
29121 (loadbios_mod_CFLAGS): Likewise.
29122 (loadbios_mod_LDFLAGS): Likewise.
29123 (fixvideo_mod_SOURCE): Likewise.
29124 (fixvideo_mod_CFLAGS): Likewise.
29125 (fixvideo_mod_LDFLAGS): Likewise.
29126
7dd4a573 29127 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29128 fixvideo.mod.
29129 (loadbios_mod_SOURCE): New macro.
29130 (loadbios_mod_CFLAGS): Likewise.
29131 (loadbios_mod_LDFLAGS): Likewise.
29132 (fixvideo_mod_SOURCE): Likewise.
29133 (fixvideo_mod_CFLAGS): Likewise.
29134 (fixvideo_mod_LDFLAGS): Likewise.
29135
af63ada2 291362009-04-08 Felix Zielcke <fzielcke@z-51.de>
29137
29138 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
29139
c2cdde70 291402009-04-07 David S. Miller <davem@davemloft.net>
29141
29142 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
29143 support for R_SPARC_OLO10 relocations. Fix compile warning for
29144 R_SPARC_WDISP30 case.
ea3f72cf 29145 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 29146
761319cf 291472009-04-06 Pavel Roskin <proski@gnu.org>
29148
1007d1f5 29149 * include/grub/misc.h (ARRAY_SIZE): New macro.
29150 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
29151 New macro.
29152 * loader/i386/linux.c (allocate_pages): Use free_pages().
29153 (grub_linux_unload): Don't use free_pages().
29154 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
29155 wrong index. Treat all other modes as text modes.
29156 (grub_cmd_linux): Initialize vid_mode unconditionally to
29157 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
29158
761319cf 29159 * commands/help.c (print_command_help): Use cmd->prio, not
29160 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
29161
ea761d40 291622009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 29163
ea761d40 29164 Parttool
29165
29166 * parttool/pcpart.c: new file
29167 * commands/parttool.c: likewise
29168 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
29169 (parttool_mod_SOURCES): new variable
29170 (parttool_mod_CFLAGS): likewise
29171 (parttool_mod_LDFLAGS): likewise
29172 (pcpart_mod_SOURCES): likewise
29173 (pcpart_mod_CFLAGS): likewise
29174 (pcpart_mod_LDFLAGS): likewise
7dd4a573 29175 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 29176 and parttool/pcpart.c
29177 * conf/i386-efi.rmk: likewise
29178 * conf/i386-ieee1275.rmk: likewise
29179 * conf/i386-pc.rmk: likewise
29180 * conf/powerpc-ieee1275.rmk: likewise
29181 * conf/sparc64-ieee1275.rmk: likewise
29182 * conf/x86_64-ieee1275.rmk: likewise
29183
05aaebfb 291842009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29185
29186 Support for mtime and further expandability of dir command
29187
29188 * include/grub/lib/datetime.h: moved to ...
7dd4a573 29189 * include/grub/datetime.h: ... moved here and added
05aaebfb 29190 declaration of grub_unixtime2datetime. All users updated
7dd4a573 29191 * include/grub/fs.h: new syntax for dir and mtime functions in
29192 struct grub_fs
05aaebfb 29193 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
29194 and GRUB_FSHELP_FLAGS_MASK
29195 * commands/ls.c (grub_ls_list_files): Write mtime in long format
29196 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
29197 (grub_ext2_mtime): new function
29198 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
29199 (grub_hfsplus_mtime): new function
29200 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
29201 (GRUB_UFS_ATTR_FILE): likewise
29202 (GRUB_UFS_ATTR_LNK): likewise
29203 (struct grub_ufs_sblock): new fields mtime
29204 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
29205 all users updated
29206 (grub_ufs_dir): mtime support
29207 (grub_ufs_mtime): new function
29208 * fs/affs.c (grub_affs_dir): use new dir syntax
29209 * fs/afs.c (grub_afs_dir): likewise
29210 * fs/cpio.c (grub_cpio_dir): likewise
29211 * fs/fat.c (grub_fat_find_dir): likewise
29212 * fs/hfs.c (grub_hfs_dir): likewise
29213 * fs/iso9660.c (grub_iso9660_dir): likewise
29214 * fs/jfs.c (grub_jfs_dir): likewise
29215 * fs/minix.c (grub_minix_dir): likewise
29216 * fs/ntfs.c (grub_ntfs_dir): likewise
29217 * fs/reiserfs.c (grub_reiserfs_dir): likewise
29218 * fs/sfs.c (grub_sfs_dir): likewise
29219 * fs/xfs.c (grub_xfs_dir): likewise
29220 * util/hostfs.c (grub_hostfs_dir): likewise
29221 * lib/datetime.c: moved to ...
29222 * normal/datetime.c: ... moved here
29223 (grub_unixtime2datetime): new function
29224 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 29225 * normal/completion.c (iterate_dir): use new dir syntax
29226 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 29227 last modification time of a volume
7dd4a573 29228 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 29229 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 29230 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 29231 (normal_mod_SOURCES): likewise
29232 (datetime_mod_SOURCES): Removed lib/datetime.c
29233 * conf/i386-efi.rmk: likewise
7dd4a573 29234 * conf/i386-ieee1275.rmk: likewise
05aaebfb 29235 * conf/i386-pc.rmk: likewise
29236 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29237 * conf/sparc64-ieee1275.rmk: likewise
29238 * conf/x86_64-efi.rmk: likewise
05aaebfb 29239
8a7e1a14 292402009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29241
29242 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 29243
29244 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 29245 on grub_fat_find_dir
29246 (grub_fat_find_dir): use grub_fat_iterate_dir
29247 (grub_fat_label): likewise
29248
04186a9c 292492009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29250
7dd4a573 29251 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 29252 and command.h
29253 remove extraneous kernel_elf_HEADERS
29254
da4c0bb6 292552009-04-04 Bean <bean123ch@gnail.com>
29256
29257 * include/grub/util/misc.h: Add dummy function fsync for mingw.
29258
29259 * util/misc.c: Likewise.
29260
54ad9555 292612009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29262
29263 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
29264 instead of grub_printf.
29265
7a6bf9f2 292662009-04-03 Robert Millan <rmh@aybabtu.com>
29267
29268 * loader/i386/linux.c (grub_linux_setup_video): Fill
29269 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
29270 values from `mode info' structure instead of hardcoded
29271 values.
29272
3fcc2083 292732009-04-01 Pavel Roskin <proski@gnu.org>
29274
29275 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
29276 unused now.
29277 * genmk.rb: Likewise.
29278 * configure.ac: Likewise.
29279
5ec9740b 292802009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
29281
29282 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
29283 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
29284
5270cec8 292852009-04-01 David S. Miller <davem@davemloft.net>
29286
29287 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 29288 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 29289 (grub_setjmp): Mark with 'returns_twice' attribute.
29290 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
29291 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
29292 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
29293
9c3dd854 292942009-04-01 Robert Millan <rmh@aybabtu.com>
29295
29296 Reapply fix from 2008-07-28 which was accidentally reverted; also
29297 perform the same fix to a similar check in same function.
29298
29299 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29300 with the same number are found, just use issue a warning with
29301 grub_dprintf(), as this error has been reported to be non-fatal.
29302
0d818b7e 293032009-03-31 Pavel Roskin <proski@gnu.org>
29304
29305 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
29306 for cross-compilation.
29307
95646d92 293082009-03-30 Robert Millan <rmh@aybabtu.com>
29309
29310 Fix i386-ieee1275 build.
29311
29312 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
29313 Remove declaration.
29314
6a003ed1 293152009-03-30 Pavel Roskin <proski@gnu.org>
29316
29317 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
29318 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
29319 zero-terminated, rely only on the strlen value. Fix comparison
29320 of strings differing in length.
29321
92f33540 293222009-03-30 Robert Millan <rmh@aybabtu.com>
29323
29324 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
29325 checking for abi version. Improve error messages on BIOS to notify
29326 user about `linux16' command.
29327
a8c48fd5 293282009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
29329
f968172e 29330 Leak fixes
a8c48fd5 29331
f968172e 29332 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
29333 in case of collision
29334 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 29335
9c323f09 293362009-03-29 Robert Millan <rmh@aybabtu.com>
29337
29338 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
29339 set `vid_mode' accordingly.
29340 (grub_linux_boot): Process `vid_mode' and set video mode.
29341
ae68f423 293422009-03-29 Robert Millan <rmh@aybabtu.com>
29343
29344 * util/grub.d/10_linux.in (linux_entry): New function.
29345 Factorize generation of Linux boot entries.
29346
5709cfc4 293472009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
29348
29349 Make the format of Environment Block plain text. The boot loader
29350 part is not tested well yet.
7dd4a573 29351
5709cfc4 29352 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
29353 (buffer): Removed.
29354 (envblk): Likewise.
29355 (usage): Remove "info" and "clear". Add "unset". Update the
29356 description of "set", as this does not delete variables any
29357 longer.
29358 (create_envblk_file): Complete rewrite.
29359 (open_envblk_file): Likewise.
29360 (cmd_info): Removed.
29361 (cmd_list): Likewise.
29362 (cmd_set): Likewise.
29363 (cmd_clear): Likewise.
29364 (list_variables): New function.
29365 (write_envblk): Likewise.
29366 (set_variables): Likewise.
29367 (unset_variables): Likewise.
29368 (main): Complete rewrite.
29369
29370 * commands/loadenv.c (buffer): Removed.
29371 (envblk): Likewise.
29372 (open_envblk_file): New function.
29373 (read_envblk_file): Complete rewrite.
29374 (grub_cmd_load_env): Likewise.
29375 (grub_cmd_list_env): Likewise.
29376 (struct blocklist): New struct.
29377 (free_blocklists): New function.
29378 (check_blocklists): Likewise.
29379 (write_blocklists): Likewise.
29380 (grub_cmd_save_env): Complete rewrite.
29381
29382 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
29383 a plain text signature.
29384 (GRUB_ENVBLK_MAXLEN): Removed.
29385 (struct grub_envblk): Complete rewrite.
29386 (grub_envblk_find): Removed.
29387 (grub_envblk_insert): Likewise.
29388 (grub_envblk_open): New prototype.
29389 (grub_envblk_set): Likewise.
29390 (grub_envblk_delete): Put const to VALUE.
29391 (grub_envblk_iterate): Put const to NAME and VALUE.
29392 (grub_envblk_close): New prototype.
29393 (grub_envblk_buffer): New inline function.
29394 (grub_envblk_size): Likewise.
29395
29396 * lib/envblk.c: Include grub/mm.h.
29397 (grub_env_find): Removed.
29398 (grub_envblk_open): New function.
29399 (grub_envblk_close): Likewise.
29400 (escaped_value_len): Likewise.
29401 (find_next_line): Likewise.
29402 (grub_envblk_insert): Removed.
29403 (grub_envblk_set): New function.
29404 (grub_envblk_delete): Complete rewrite.
29405 (grub_envblk_iterate): Likewise.
29406
a9368fd3 294072009-03-28 Robert Millan <rmh@aybabtu.com>
29408
29409 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
29410 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
29411 variables. Use 16-bit loader.
29412 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
29413 loader.
29414 * kern/i386/loader.S (grub_linux_boot): Rename to ...
29415 (grub_linux16_boot): ... this. Update all users.
29416 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
29417 (grub_linux_boot): ... this. Update all users.
29418
29419 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
29420 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
29421 commands to `linux16' and `initrd16'.
29422 (GRUB_MOD_FINI(linux)): Rename to ...
29423 (GRUB_MOD_FINI(linux16)): ... this.
29424
e4dd5a7e 294252009-03-24 Pavel Roskin <proski@gnu.org>
29426
29427 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
29428 not just for compilation.
29429
c04d6e05 294302009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
29431
29432 Move multiboot helper out of kernel
29433
29434 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
29435 `loader/i386/multiboot_helper.S'.
29436 * conf/i386-coreboot.rmk: Likewise
29437 * conf/i386-ieee1275.rmk: Likewise
29438
29439 * kern/i386/loader.S: Move multiboot helpers from here...
29440 * loader/i386/multiboot_helper.S: ...moved here
29441 * include/grub/i386/loader.h: Move declarations of multiboot
29442 helpers from here...
29443 * include/grub/i386/multiboot.h: ...moved here
29444 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
29445
42a5b3fc 294462009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29447
29448 * kern/env.c (grub_env_context_open): Added an argument to specify
29449 whether a new context inherits exported variables from current
29450 one. This is useful when making a sandbox to interpret a config
29451 file.
29452 All callers updated.
29453
29454 * include/grub/env.h (grub_env_context_open): Updated the prototype.
29455
b28bbc4e 294562009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29457
29458 * kern/env.c (grub_env_context_close): Fix memory leaks.
29459
f04f02e4 294602009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29461
29462 * normal/main.c (grub_normal_execute): Added an argument
29463 BATCH to specify if an interactive interface should be provided
29464 after reading a config file.
29465 All callers updated.
29466 (read_command_list): Prevent being executed twice.
29467 (read_fs_list): Likewise.
29468
42a5b3fc 29469 * include/grub/normal.h (grub_normal_execute): Updated the
29470 prototype.
f04f02e4 29471
41473ac2 294722009-03-22 Pavel Roskin <proski@gno.org>
29473
fbc00b0c 29474 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
29475 _start.
29476 * kern/i386/pc/startup.S: Likewise.
29477 * kern/i386/efi/startup.S: Likewise.
29478 * kern/i386/ieee1275/startup.S: Likewise.
29479 * kern/i386/coreboot/startup.S: Likewise.
29480 * kern/x86_64/efi/startup.S: Likewise.
29481
41473ac2 29482 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
29483 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
29484 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
29485
2274cc8f 294862009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29487
29488 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29489
29490 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29491 limit detection.
29492 Use vaddr of correct segment for entry_point.
29493
b1b797cb 294942009-03-21 Bean <bean123ch@gmail.com>
29495
29496 * commands/blocklist.c: Add include file <grub/command.h>, remove
29497 <grub/normal.h> and <grub/arg.h>.
29498 (grub_cmd_blocklist): Use the new command interface.
29499 (GRUB_MOD_INIT): Likewise.
29500 (GRUB_MOD_FINI): Likewise.
29501 * commands/boot.c: Likewise.
29502 * commands/cat.c: Likewise.
29503 * commands/cmp.c: Likewise.
29504 * commands/configfile.c: Likewise.
29505 * commands/crc.c: Likewise.
29506 * commands/echo.c: Likewise.
29507 * commands/halt.c: Likewise.
29508 * commands/handler.c: Likewise.
29509 * commands/hdparm.c: Likewise.
29510 * commands/help.c: Likewise.
29511 * commands/hexdump.c: Likewise.
29512 * commands/loadenv.c: Likewise.
29513 * commands/ls.c: Likewise.
29514 * commands/lsmmap.c: Likewise.
29515 * commands/lspci.c: Likewise.
29516 * commands/loadenv.c: Likewise.
29517 * commands/read.c: Likewise.
29518 * commands/reboot.c: Likewise.
29519 * commands/search.c: Likewise.
29520 * commands/sleep.c: Likewise.
29521 * commands/test.c: Likewise.
29522 * commands/usbtest.c: Likewise.
29523 * commands/videotest.c: Likewise.
29524 * commands/i386/cpuid.c: Likewise.
29525 * commands/i386/pc/halt.c: Likewise.
29526 * commands/i386/pc/play.c: Likewise.
29527 * commands/i386/pc/pxecmd.c: Likewise.
29528 * commands/i386/pc/vbeinfo.c: Likewise.
29529 * commands/i386/pc/vbetest.c: Likewise.
29530 * commands/ieee1275/suspend.c: Likewise.
29531 * disk/loopback.c: Likewise.
29532 * font/font_cmd.c: Likewise.
29533 * hello/hello.c: Likewise.
29534 * loader/efi/appleloader.c: Likewise.
29535 * loader/efi/chainloader.c: Likewise.
29536 * loader/i386/bsd.c: Likewise.
29537 * loader/i386/efi/linux.c: Likewise.
29538 * loader/i386/ieee1275/linux.c: Likewise.
29539 * loader/i386/linux.c: Likewise.
29540 * loader/i386/pc/chainloader.c: Likewise.
29541 * loader/i386/pc/linux.c: Likewise.
29542 * loader/powerpc/ieee1275/linux.c: Likewise.
29543 * loader/multiboot_loader.c: Likewise.
29544 * term/gfxterm.c: Likewise.
29545 * term/i386/pc/serial.c: Likewise.
29546 * term/terminfo.c: Likewise.
29547
29548 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29549 * term/i386/pc/vga.c: Likewise.
29550 * video/readers/jpeg.c: Likewise.
29551 * video/readers/png.c: Likewise.
29552 * video/readers/tga.c: Likewise.
29553
29554 * util/grub-fstest (cmd_loopback): Removed.
29555 (cmd_blocklist): Likewise.
29556 (cmd_ls): Likewise.
29557 (grub_register_command): Likewise.
29558 (grub_unregister_command): Likewise.
29559 (execute_command): Use grub_command_find to locate command and execute
29560 it.
29561
29562 * include/grub/efi/chainloader.h: Removed.
29563 * loader/efi/chainloader_normal.c: Likewise.
29564 * loader/i386/bsd_normal.c: Likewise.
29565 * loader/i386/pc/chainloader_normal.c: Likewise.
29566 * loader/i386/pc/multiboot_normal.c: Likewise.
29567 * loader/linux_normal.c: Likewise.
29568 * loader/multiboot_loader_normal.c: Likewise.
29569 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29570
29571 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29572 and grub_register_command_p1.
29573
29574 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29575 kern/command.c, lib/arg.c and commands/extcmd.c.
29576 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29577 (minicmd_mod_SOURCES): New variable.
29578 (minicmd_mod_CFLAGS): Likewise.
29579 (minicmd_mod_LDFLAGS): Likewise.
29580 (extcmd_mod_SOURCES): Likewise.
29581 (extcmd_mod_CFLAGS): Likewise.
29582 (extcmd_mod_LDFLAGS): Likewise.
29583 (boot_mod_SOURCES): Removed.
29584 (boot_mod_CFLAGS): Likewise.
29585 (boot_mod_LDFLAGS): Likewise.
29586
29587 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29588 kern/corecmd.c.
29589 (kernel_img_HEADERS): Add command.h.
29590 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29591 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29592 and lib/arg.c.
29593 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29594 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29595 remove the corresponding normal mode command.
29596 (normal_mod_SOURCES): Remove normal/arg.c.
29597 * conf/i386-coreboot.rmk: Likewise.
29598 * conf/i386-efi.rmk: Likewise.
29599 * conf/i386-ieee1275.rmk: Likewise.
29600 * conf/powerpc-ieee1275.rmk: Likewise.
29601 * conf/x86_64-efi.rmk: Likewise.
29602
29603 * include/grub/arg.h: Move from here ...
29604 * include/grub/lib/arg.h: ... to here.
29605
29606 * normal/arg.c: Move from here ...
29607 * lib/arg.c: ... to here.
29608
29609 * commands/extcmd.c: New file.
29610 * commands/minicmd.c: Likewise.
29611 * include/grub/command.h: Likewise.
29612 * include/grub/extcmd.h: Likewise.
29613 * kern/command.c: Likewise.
29614 * kern/corecmd.c: Likewise.
29615
29616 * kern/list.c (grub_list_iterate): Return int instead of void.
29617 (grub_list_insert): New function.
29618 (grub_prio_list_insert): Likewise.
29619
29620 * kern/rescue.c (grub_rescue_command): Removed.
29621 (grub_rescue_command_list): Likewise.
29622 (grub_rescue_register_command): Likewise.
29623 (grub_rescue_unregister_command): Likewise.
29624 (grub_rescue_cmd_boot): Move to minicmd.c
29625 (grub_rescue_cmd_help): Likewise.
29626 (grub_rescue_cmd_info): Likewise.
29627 (grub_rescue_cmd_boot): Likewise.
29628 (grub_rescue_cmd_testload): Likewise.
29629 (grub_rescue_cmd_dump): Likewise.
29630 (grub_rescue_cmd_rmmod): Likewise.
29631 (grub_rescue_cmd_lsmod): Likewise.
29632 (grub_rescue_cmd_exit): Likewise.
29633 (grub_rescue_print_devices): Moved to corecmd.c.
29634 (grub_rescue_print_files): Likewise.
29635 (grub_rescue_cmd_ls): Likewise.
29636 (grub_rescue_cmd_insmod): Likewise.
29637 (grub_rescue_cmd_set): Likewise.
29638 (grub_rescue_cmd_unset): Likewise.
7d074e3c 29639 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 29640 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 29641 commands, remove grub_rescue_register_command calls.
b1b797cb 29642
7d074e3c 29643 * normal/command.c (grub_register_command): Removed.
b1b797cb 29644 (grub_unregister_command): Likewise.
29645 (grub_command_find): Likewise.
29646 (grub_iterate_commands): Likewise.
29647 (rescue_command): Likewise.
29648 (export_command): Moved to corecmd.c.
29649 (set_command): Removed.
29650 (unset_command): Likewise.
29651 (insmod_command): Likewise.
29652 (rmmod_command): Likewise.
29653 (lsmod_command): Likewise.
29654 (grub_command_init): Likewise.
29655
29656 * normal/completion.c (iterate_command): Use cmd->prio to check for
29657 active command.
29658 (complete_arguments): Use grub_extcmd_t structure to find options.
29659 (grub_normal_do_completion): Change function grub_iterate_commands to
29660 grub_command_iterate.
29661
29662 * normal/execute.c (grub_script_execute_cmd): No need to parse
29663 argument here.
29664
29665 * normal/main.c (grub_dyncmd_dispatcher): New function.
29666 (read_command_list): Register unload commands as dyncmd.
29667 (grub_cmd_normal): Use new command interface, register rescue,
29668 unregister normal at entry, register normal, unregister rescue at exit.
29669
29670 * include/grub/list.h (grub_list_test_t): New type.
29671 (grub_list_iterate): Return int instead of void.
29672 (grub_list_insert): New function.
29673 (GRUB_AS_NAMED_LIST_P): New macro.
29674 (GRUB_AS_PRIO_LIST): Likewise.
29675 (GRUB_AS_PRIO_LIST_P): Likewise.
29676 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
29677 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
29678 (grub_prio_list): New structure.
29679 (grub_prio_list_insert): New function.
29680 (grub_prio_list_remove): New inline function.
29681
29682 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
29683 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
29684 (GRUB_COMMAND_FLAG_MENU): Likewise.
29685 (GRUB_COMMAND_FLAG_BOTH): Likewise.
29686 (GRUB_COMMAND_FLAG_TITLE): Likewise.
29687 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
29688 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
29689 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
29690 (grub_command): Likewise.
29691 (grub_register_command): Likewise.
29692 (grub_command_find): Likewise.
29693 (grub_iterate_commands): Likewise.
29694 (grub_command_init): Likewise.
29695 (grub_arg_parse): Likewise.
29696 (grub_arg_show_help): Likewise.
29697
29698 * include/grub/rescue.h (grub_rescue_register_command): Removed.
29699 (grub_rescue_unregister_command): Likewise.
29700
29701 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
29702 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
29703 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
29704
29705 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
29706 grub_rescue_cmd_initrd.
29707 * include/grub/i386/loader.h: Likewise.
29708 * include/grub/x86_64/loader.h: Likewise.
29709
29710 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
29711
1f4147aa 297122009-03-21 Bean <bean123ch@gmail.com>
29713
29714 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
29715 instead of stat in mingw environment.
29716
29717 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
29718
29719 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
29720
29721 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
29722 AC_CONFIG_LINKS.
29723
2156d5ba 297242009-03-21 Bean <bean123ch@gmail.com>
29725
29726 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
29727 out of range error.
29728
177b82ca 297292009-03-18 Michel Dänzer <michel@daenzer.net>
29730
29731 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
29732 checking inode flags for EXT4_EXTENTS_FLAG.
29733
14aad807 297342009-03-18 Robert Millan <rmh@aybabtu.com>
29735
29736 * loader/i386/linux.c: Include `<grub/video.h>' and
29737 `<grub/i386/pc/vbe.h>'..
29738 (grub_linux_setup_video): New function. Loosely based on the EFI one.
29739 (grub_linux32_boot): Attempt to configure video settings with
29740 grub_linux_setup_video().
29741 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29742 to avoid grub_console_fini() which would step out of graphical mode
29743 unconditionally.
29744
8cf83a27 297452009-03-14 Robert Millan <rmh@aybabtu.com>
29746
29747 Fix build on powerpc.
29748 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29749
40164e75 297502009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29751
29752 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29753 background image command.
29754
c58bc32a 297552009-03-12 Colin D Bennett <colin@gibibit.com>
29756
29757 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29758 (grub_gfxterm_putchar): Extract pairs of identical calls to
29759 draw_cursor out of conditional blocks.
29760
5415144a 297612009-03-11 Pavel Roskin <proski@gnu.org>
29762
29763 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29764 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29765
6394042e 297662009-03-11 Robert Millan <rmh@aybabtu.com>
29767
29768 * loader/i386/multiboot_elfxx.c
29769 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
29770
b7b50e5f 297712009-03-11 Felix Zielcke <fzielcke@z-51.de>
29772
29773 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
29774 `kern/handler.c'.
29775
1ca7fc96 297762009-03-11 Robert Millan <rmh@aybabtu.com>
29777
29778 * loader/i386/multiboot.c (code_size): New variable.
29779 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 29780 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 29781 4-byte alignment to MBI and others by increasing
7d074e3c 29782 `boot_loader_name_length' appropriately.
1ca7fc96 29783
29784 * loader/i386/multiboot_elfxx.c
29785 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
29786
a83ea1d2 297872009-03-09 Felix Zielcke <fzielcke@z-51.de>
29788
29789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
29790 `fs/ext2.c'.
29791
aa9f3bff 297922009-03-08 Robert Millan <rmh@aybabtu.com>
29793
29794 Make loader/i386/linux.c usable on i386-pc again.
29795
29796 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
29797 memory to heap.
29798 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
29799 `#error' stanza.
29800
d8b3b60e 298012009-03-07 Bean <bean123ch@gmail.com>
29802
29803 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
29804 allocation.
29805
b362c9e9 298062009-03-06 Robert Millan <rmh@aybabtu.com>
29807
29808 Fix display issue on terminals with screen size other than 80x25
29809 (e.g. gfxterm with resolution higher than 640x480).
29810
29811 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 29812 position relative to the center of the terminal instead of relying
b362c9e9 29813 on a hardcoded offset.
29814
9304eef1 298152009-03-04 Robert Millan <rmh@aybabtu.com>
29816
29817 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
29818 installed.
29819
29820 * Makefile.in (host_kernel): New variable.
29821 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
29822 scripts instead of just the windows one.
29823 * configure.ac: Initialize and AC_SUBST `host_kernel'.
29824
eabc95fb 298252009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 29826
29827 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
29828 `kern/handler.c'.
29829 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29830 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29831 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29833 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29834 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29835
ceb1223c 298362009-03-04 Felix Zielcke <fzielcke@z-51.de>
29837
29838 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
29839 or if there's no space for the disk label and print the partition number on a
29840 invalid magic.
29841
4910684a 298422009-03-04 Felix Zielcke <fzielcke@z-51.de>
29843
29844 * util/misc.c: Include <time.h>.
29845 (grub_millisleep): New function.
29846
7e9ca17a 298472009-03-04 Bean <bean123ch@gmail.com>
29848
29849 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
29850 another option -mno-red-zone.
29851
29852 * commands/handler.c: Change module description.
29853
29854 * kern/handler.c: Add missing space at the end of description line.
29855
29856 * kern/list.c: Likewise.
29857
f501677c 298582009-03-03 Robert Millan <rmh@aybabtu.com>
29859
29860 Move more components to the relocation area, and fix mbi pointer
29861 handling to use the destination rather than the origin (thanks to
29862 Vladimir Serbinenko for spotting).
29863
29864 * loader/i386/multiboot.c (mbi_dest): New variable.
29865 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
29866 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
29867 relocation area.
29868
9902d047 298692009-03-01 Bean <bean123ch@gmail.com>
29870
50fb7002 29871 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 29872 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
29873 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
29874 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
29875
29876 * loader/i386/efi/linux.c (acpi_guid): New variable.
29877 (acpi_guid): Likewise.
29878 (EBDA_SEG_ADDR): New constant.
29879 (LOW_MEM_ADDR): Likewise.
29880 (FAKE_EBDA_SEG): Likewise.
29881 (fake_bios_data): New function.
29882 (grub_linux_boot): Call fake_bios_data.
29883
71b9f361 298842009-03-01 Bean <bean123ch@gmail.com>
29885
29886 * commands/terminal.c: Removed.
29887
29888 * commands/handler.c: New file.
29889
29890 * include/grub/list.h: Likewise.
29891
29892 * include/grub/handler.h: Likewise.
29893
29894 * kern/list.c: Likewise.
29895
29896 * kern/handler.c: Likewise.
29897
29898 * kern/term.h: Include header file <grub/handler.h>.
29899 (grub_term_input): Move next field to the beginning.
29900 (grub_term_output): Likewise.
29901 (grub_term_input_class): New variable.
29902 (grub_term_output_class): Likewise.
29903 (grub_term_register_input): Changed to inline function.
29904 (grub_term_register_output): Likewise.
29905 (grub_term_unregister_input): Likewise.
29906 (grub_term_unregister_output): Likewise.
29907 (grub_term_set_current_input): Likewise.
29908 (grub_term_set_current_output): Likewise.
29909 (grub_term_get_current_input): Likewise.
29910 (grub_term_get_current_output): Likewise.
29911 (grub_term_iterate_input): Removed.
29912 (grub_term_iterate_output): Likewise.
29913
29914 * kern/term.c (grub_term_list_input): Removed.
29915 (grub_term_list_output): Likewise.
29916 (grub_term_input_class): New variable.
29917 (grub_term_output_class): Likewise.
50fb7002 29918 (grub_cur_term_input): Change variable as macro.
71b9f361 29919 (grub_cur_term_output): Likewise.
29920 (grub_term_register_input): Removed.
29921 (grub_term_register_output): Likewise.
29922 (grub_term_unregister_input): Likewise.
29923 (grub_term_unregister_output): Likewise.
29924 (grub_term_set_current_input): Likewise.
29925 (grub_term_set_current_output): Likewise.
29926 (grub_term_iterate_input): Likewise.
29927 (grub_term_iterate_output): Likewise.
29928 (grub_term_get_current_input): Likewise.
29929 (grub_term_get_current_output): Likewise.
29930
29931 * util/grub-editenv.c: Include header file <grub/handler.h>.
29932 (grub_term_get_current_input): Removed.
29933 (grub_term_get_current_output): Likewise.
29934 (grub_term_input_class): New variable.
50fb7002 29935 (grub_term_output_class): Likewise.
71b9f361 29936
29937 * util/grub-fstest.c (grub_term_get_current_input): Removed.
29938 (grub_term_get_current_output): Likewise.
29939 (grub_term_input_class): New variable.
50fb7002 29940 (grub_term_output_class): Likewise.
71b9f361 29941
29942 * util/grub-probe.c (grub_term_get_current_input): Removed.
29943 (grub_term_get_current_output): Likewise.
29944 (grub_term_input_class): New variable.
50fb7002 29945 (grub_term_output_class): Likewise.
71b9f361 29946
29947 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
29948 (grub_term_get_current_output): Likewise.
29949 (grub_term_input_class): New variable.
50fb7002 29950 (grub_term_output_class): Likewise.
71b9f361 29951
29952 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
29953 (terminal_mod_SOURCES): Likewise.
29954 (terminal_mod_CFLAGS): Likewise.
29955 (terminal_mod_LDFLAGS): Likewise.
29956
29957 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
29958 handler.c.
29959 (kernel_img_SOURCES): Add list.c and handler.c.
29960 (kernel_img_HEADERS): Add list.h and handler.h.
29961
29962 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29963 handler.c.
29964 (kernel_mod_SOURCES): Add list.c and handler.c.
29965 (kernel_mod_HEADERS): Add list.h and handler.h.
29966
29967 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
29968 handler.c.
29969 (kernel_elf_SOURCES): Add list.c and handler.c.
29970 (kernel_elf_HEADERS): Add list.h and handler.h.
29971
29972 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29973 handler.c.
29974 (kernel_elf_SOURCES): Add list.c and handler.c.
29975 (kernel_elf_HEADERS): Add list.h and handler.h.
29976
29977 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29978 handler.c.
29979 (kernel_mod_SOURCES): Add list.c and handler.c.
29980 (kernel_mod_HEADERS): Add list.h and handler.h.
29981
29982 * conf/powerpc-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
8a31787f 299872009-02-27 Robert Millan <rmh@aybabtu.com>
29988
29989 Factorize elf32 / elf64 code in Multiboot loader. This will
29990 prevent it from getting out of sync again.
29991
29992 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
29993 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
29994 grub_multiboot_load_elf64): Move from here ...
29995 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
29996 grub_multiboot_load_elf): ... to here (new file).
29997
51cd3dfc 299982009-02-27 Robert Millan <rmh@aybabtu.com>
29999
30000 * util/grub.d/10_linux.in: Rename "single-user mode" to
30001 "recovery mode".
30002
6e8c9c3a 300032009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
30004
30005 Don't leak in SCSI code.
30006 * disk/scsi.c (grub_scsi_close): free `scsi'.
30007
4b6bf4f9 300082009-02-27 Robert Millan <rmh@aybabtu.com>
30009
30010 * loader/i386/pc/multiboot.c: Move from here ...
30011 * loader/i386/multiboot.c: ... to here. Update all users.
30012
b9413424 300132009-02-27 Robert Millan <rmh@aybabtu.com>
30014
30015 Patch from Alexandre Bique <bique.alexandre@gmail.com>
30016 * util/i386/pc/grub-setup.c (setup): Fix directory path.
30017
50fb7002 300182009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 30019
30020 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
30021 b-tree.
30022
8cc50345 300232009-02-27 Robert Millan <rmh@aybabtu.com>
30024
30025 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
30026 `0x' qualifier as 0 when base is specified as parameter).
30027
6e09b8b7 300282009-02-24 Bean <bean123ch@gmail.com>
30029
30030 * configure.ac: Check for -mcmodel=large in x86_64 target.
30031
30032 * include/grub/efi/api.h (efi_call_10): New macro.
30033 (efi_wrap_10): New function.
30034
30035 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
30036 (GRUB_PE32_REL_BASED_HIGH): Likewise.
30037 (GRUB_PE32_REL_BASED_LOW): Likewise.
30038 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
30039 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
30040 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
30041 (GRUB_PE32_REL_BASED_SECTION): Likewise.
30042 (GRUB_PE32_REL_BASED_REL): Likewise.
30043 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
30044 (GRUB_PE32_REL_BASED_DIR64): Likewise.
30045 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
30046
30047 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
30048 issue.
30049
30050 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
30051 (efi_wrap_10): New function.
30052
30053 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
30054
30055 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
30056 MB/MBP model (NV chipset).
30057 (devdata_devs): Add devpath_5 to the list.
30058
30059 * load/i386/efi/linux.c (video_base): Remove variable.
30060 (RGB_MASK): New macro.
30061 (RGB_MAGIC): Likewise.
30062 (LINE_MIN): Likewise.
30063 (LINE_MAX): Likewise.
30064 (FBTEST_STEP): Likewise.
30065 (FBTEST_COUNT): Likewise.
30066 (fb_list): New variable.
30067 (grub_find_video_card): Remove function.
30068 (find_framebuf): New function.
30069 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
30070 line length.
30071
30072 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
30073 problem for x86_64.
30074
74b21bee 300752009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
30076
30077 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
30078
30079 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
30080 coding tool name.
30081
a455f472 300822009-02-22 Robert Millan <rmh@aybabtu.com>
30083
30084 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
30085 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
30086 in our relocation, instead of using it directly from heap. Also
30087 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
30088
6374daf3 300892009-02-21 Robert Millan <rmh@aybabtu.com>
30090
30091 Implement USB keyboard support (based on patch by Marco Gerards)
30092
30093 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
30094 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
30095 (usb_keyboard_mod_LDFLAGS): New variables.
30096
30097 * term/usb_keyboard.c: New file.
30098
8fa4ea70 300992009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30100
30101 Corrected wrong declaration
30102
30103 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
30104
353976ac 301052009-02-14 Christian Franke <franke@computer.org>
30106
30107 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
30108 (grub_lspci_iter): Print class code and programming interface byte.
30109
6aa1169b 301102009-02-14 Christian Franke <franke@computer.org>
30111
30112 * gendistlist.sh: Ignore `.svn' directories.
30113
265372ca 301142009-02-14 Felix Zielcke <fzielcke@z-51.de>
30115
30116 * fs/fat.c: Add 2009 to Copyright line.
30117
9ff516f3 301182009-02-14 Christian Franke <franke@computer.org>
30119
30120 * commands/hdparm.c: New file. Provides `hdparm' command
30121 which sends ATA commands via grub_disk_ata_pass_through ().
30122
30123 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
30124
30125 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
30126 and <grub/cpu/io.h> to include/grub/ata.h.
30127 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
30128 (GRUB_CDROM_SECTOR_SIZE): Remove.
30129 (GRUB_ATA_*): Move to include/grub/ata.h.
30130 (GRUB_ATAPI_*): Likewise.
30131 (enum grub_ata_commands): Likewise.
30132 (enum grub_ata_timeout_milliseconds): Likewise.
30133 (struct grub_ata_device): Likewise.
30134 (grub_ata_regset): Likewise.
30135 (grub_ata_regget): Likewise.
30136 (grub_ata_regset2): Likewise.
30137 (grub_ata_regget2): Likewise.
30138 (grub_ata_check_ready): Likewise.
30139 (grub_ata_wait_not_busy): Remove static, exported in
30140 include/grub/ata.h.
30141 (grub_ata_wait_drq): Likewise.
30142 (grub_ata_pio_read): Likewise.
30143
30144 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
30145 function for hdparm.mod.
30146
30147 * include/grub/ata.h: New file, contains declarations from
30148 disk/ata.c.
30149 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
30150
30151 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
30152 (grub_disk_ata_pass_through): New exported variable.
30153
30154 * kern/disk.c (grub_disk_ata_pass_through): New variable.
30155
772e23da 301562009-02-13 Colin D Bennett <colin@gibibit.com>
30157
30158 Support multiple fallback entries, and provide an API to support
30159 executing default+fallback menu entries. Renamed the `terminal' menu
30160 viewer to `text'.
30161
30162 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
30163 variable declaration.
30164 (grub_menu_execute_callback): New structure declaration.
30165 (grub_menu_execute_callback_t): New typedef.
30166 (grub_menu_execute_with_fallback): New function declaration.
30167 (grub_menu_get_entry): Likewise.
30168 (grub_menu_get_timeout): Likewise.
30169 (grub_menu_set_timeout): Likewise.
30170
30171 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
30172
30173 * normal/menu.c (grub_wait_after_message): Moved to
30174 `normal/menu_text.c'.
30175 (draw_border): Likewise.
30176 (print_message): Likewise.
30177 (print_entry): Likewise.
30178 (print_entries): Likewise.
30179 (grub_menu_init_page): Likewise.
30180 (get_entry_number): Likewise.
30181 (print_timeout): Likewise.
30182 (run_menu): Likewise.
30183 (grub_menu_execute_entry): Likewise.
30184 (show_text_menu): Likewise.
30185 (get_and_remove_first_entry_number): New function.
30186 (grub_menu_execute_with_fallback): Likewise.
30187 (get_entry): Renamed to ...
30188 (grub_menu_get_entry): .. this and made it global.
30189 (get_timeout): Renamed to ...
30190 (grub_menu_get_timeout): ... this and made it global.
30191 (set_timeout): Renamed to ...
30192 (grub_menu_set_timeout): ... this and made it global.
30193 (grub_normal_terminal_menu_viewer): Renamed to ...
30194 (grub_normal_text_menu_viewer): ... this.
30195
30196 * normal/menu_text.c: New file. Extracted text-menu-specific code
30197 from normal/menu.c.
30198
30199 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
30200 (normal_mod_SOURCES): Likewise.
30201
30202 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30203 (normal_mod_SOURCES): Likewise.
30204
30205 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30206 (normal_mod_SOURCES): Likewise.
30207
30208 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
30209 (normal_mod_SOURCES): Likewise.
30210
30211 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30212 (normal_mod_SOURCES): Likewise.
30213
30214 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30215 (normal_mod_SOURCES): Likewise.
30216
30217 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30218 (normal_mod_SOURCES): Likewise.
30219
16ac430e 302202009-02-11 Robert Millan <rmh@aybabtu.com>
30221
30222 * util/grub.d/00_header.in: Update old reference to `font' command.
30223
06ff20fc 302242009-02-10 Felix Zielcke <fzielcke@z-51.de>
30225
30226 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
30227
30228 Based on patch from Javier Martín.
30229
96da9407 302302009-02-09 Felix Zielcke <fzielcke@z-51.de>
30231
30232 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 30233 to avoid false positives with FAT.
96da9407 30234 (grub_fstest_SOURCES): Likewise.
30235 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30236 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30238 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30239 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30240 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30241
6dca6fe4 302422009-02-09 Felix Zielcke <fzielcke@z-51.de>
30243
06ff20fc 30244 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 30245 bpb.version_specific.fat12_or_fat16.fstype and
30246 bpb.version_specific.fat32.fstype.
30247
2550c62f 302482009-02-08 Robert Millan <rmh@aybabtu.com>
30249
be110b30 30250 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 30251
56978920 302522009-02-08 Robert Millan <rmh@aybabtu.com>
30253
30254 * Makefile.in (host_os, host_cpu): New variables.
30255 (target_os): Remove. Update all users.
30256
d64399b5 302572009-02-08 Marco Gerards <marco@gnu.org>
30258
30259 * Makefile.in (enable_grub_emu_usb): New variable.
30260 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
30261 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
30262 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
30263 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
30264 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
30265 `usbtest.mod' and `usbms.mod'.
30266 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
30267 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
30268 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
30269 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
30270 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
30271 variables.
30272
30273 * disk/usbms.c: New file.
30274
30275 * include/grub/usb.h: Likewise.
30276
30277 * include/grub/usbtrans.h: Likewise.
30278
30279 * include/grub/usbdesc.h: Likewise.
30280
30281 * bus/usb/usbtrans.c: Likewise.
30282
30283 * bus/usb/ohci.c: Likewise.
30284
30285 * bus/usb/uhci.c: Likewise.
30286
30287 * bus/usb/usbhub.c: Likewise.
30288
30289 * bus/usb/usb.c: Likewise.
30290
30291 * commands/usbtest.c: Likewise.
30292
30293 * util/usb.c: Likewise.
50fb7002 30294
d64399b5 30295 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
30296
30297 * configure.ac: Test for libusb presence.
50fb7002 30298
d64399b5 30299 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
30300
2b40d6bb 303012009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
30302
30303 * kern/mm.c: Add more comments.
30304
73a4ce81 303052009-02-08 Robert Millan <rmh@aybabtu.com>
30306
30307 Patch from Javier Martín.
30308 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
30309 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
30310
f821ce59 303112009-02-08 Robert Millan <rmh@aybabtu.com>
30312
30313 * fs/cpio.c: Split tar functionality to ...
30314 * fs/tar.c: ... here (new file). Update all users.
30315
aebfc4b0 303162009-02-07 Robert Millan <rmh@aybabtu.com>
30317
30318 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
30319 backward-incompatible features.
30320
30321 Based on patch from Javier Martín, with some adjustments.
30322
50fb7002 303232009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 30324
30325 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
30326
0bb5115e 303272009-02-07 Robert Millan <rmh@aybabtu.com>
30328
30329 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
30330 position of `disk/lvm.c' to ensure grub_init_all() always picks it
30331 after the RAID stuff.
30332
38a0f8e7 303332009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
30334
50fb7002 30335 Fixes problem when running vbetest command as reported by
38a0f8e7 30336 Vladimir Serbinenko <phcoder@gmail.com>.
30337
30338 * (grub_vbe_set_video_mode): Fixed problem with text modes.
30339
3143cc1c 303402009-02-04 Felix Zielcke <fzielcke@z-51.de>
30341
30342 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
30343 /dev/md/NpN style mdraid devices.
30344
9cba6fce 303452009-02-03 Felix Zielcke <fzielcke@z-51.de>
30346
30347 * util/unifont2pff.rb: Remove.
30348
e507a2c1 303492009-02-03 Felix Zielcke <fzielcke@z-51.de>
30350
30351 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
30352 `#'.
30353
d2c2b4cd 303542009-02-03 Felix Zielcke <fzielcke@z-51.de>
30355
30356 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
30357 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30358 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30359 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30360 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30361 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30362 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30363
b4315fb0 303642009-02-02 Christian Franke <franke@computer.org>
30365
30366 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
30367
de3aa260 303682009-02-01 Felix Zielcke <fzielcke@z-51.de>
30369
7c3ff286 30370 * INSTALL: Note that we now require at least autoconf 2.59 and
30371 that LZO is optional.
de3aa260 30372
825a182b 303732009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30374
30375 Base on patch on bug #24154 created by Tomas Tintera
30376 <trosos@seznam.cz>.
30377
30378 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
30379
a69ef770 303802009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30381
7c3ff286 30382 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 30383 <bero@arklinux.org>.
30384
30385 * normal/parser.y (script_init): Add missing semicolon.
30386
6fa42fa6 303872009-01-31 Colin D Bennett <colin@gibibit.com>
30388
7c3ff286 30389 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 30390 (free_menu_entry_classes): Added.
30391 (grub_normal_menu_addentry): Added class property handling.
30392 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
30393 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
30394
30395 * normal/menu_viewer.c: New file.
30396
30397 * normal/menu.c (run_menu_entry): Renamed to ...
30398 (grub_menu_execute_entry): ... this and made it as global.
30399 (grub_menu_run): Renamed to ...
30400 (show_text_menu): ... this and made it local.
30401 (show_text_menu): Adapt to new function names.
30402 (grub_normal_terminal_menu_viewer): New global variable.
30403
30404 * include/grub/menu.h: New file.
30405
30406 * include/grub/menu_viewer.h: New file.
30407
30408 * include/grub/normal.h: Added include to grub/menu.h.
30409 (grub_menu_entry): Moved to include/grub/menu.h.
30410 (grub_menu_entry_t): Likewise.
30411 (grub_menu): Likewise.
30412 (grub_menu_t): Likewise.
30413 (grub_normal_terminal_menu_viewer): Added.
30414 (grub_menu_execute_entry): Likewise.
30415 (grub_menu_run): Removed.
30416
30417 * DISTLIST: Added include/grub/menu.h.
30418 Added include/grub/menu_viewer.h.
30419 Added normal/menu_viewer.c.
30420
304212009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
30422
30423 * normal/execute.c (grub_script_execute_menuentry): Changed to use
30424 arglist for menutitle arguments.
30425
30426 * normal/main.c (grub_normal_menu_addentry): Likewise.
30427
30428 * normal/parser.y (menuentry): Likewise.
30429
30430 * normal/script.c (grub_script_create_cmdmenu): Likewise.
30431
30432 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
30433 (grub_script_create_cmdmenu): Likewise.
30434
30435 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
30436
30437 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
30438 changes.
30439
30440 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
30441
30442 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
30443
30444 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
30445
30446 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30447
30448 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30449
30450 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30451
56192c23 304522009-01-30 Christian Franke <franke@computer.org>
30453
30454 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
30455 in option help text.
30456
d72521b3 304572009-01-27 Pavel Roskin <proski@gnu.org>
30458
30459 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
30460
994b5e84 304612009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30462
30463 * commands/lsmmap.c: Add include to grub/machine/memory.h.
30464
30465 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
30466
30467 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
30468 unregister function.
30469
6a7eab2c 304702009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30471
30472 * disk/scsi.c (grub_scsi_read): Fix sign problem.
30473
30474 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
30475
30476 * util/grub-mkfont.c (usage): Fix typo.
30477
30478 * util/elf/grub-mkimage.c (load_modules): Fix warning.
30479
1806b56e 304802009-01-26 Daniel Mierswa <impulze@impulze.org>
30481
3fb18f09 30482 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
30483
336e1fb9 30484 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
30485
1806b56e 30486 * kern/misc.c (grub_strcasecmp): New function.
30487 (grub_strcasecmp): Use grub_size_t instead of int for length.
30488 Fix return value.
30489 * include/grub/misc.h: Update function prototypes.
30490
580b2a0f 304912009-01-26 Robert Millan <rmh@aybabtu.com>
30492
30493 * configure.ac: Fix cross-compilation check.
ef257b36 30494
d31c24f1 304952009-01-22 Christian Franke <franke@computer.org>
30496
30497 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30498 (precision) digit string. Allow `.format2' without `format1' (width).
30499 Limit input chars for `%s' output to `format2' if specified. This is
30500 compatible with standard printf ().
30501
3138b44c 305022009-01-22 Christian Franke <franke@computer.org>
30503
30504 * disk/ata.c (grub_ata_wait_status): Replace by ...
30505 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30506 other status bits may be invalid while BSY is asserted.
30507 (grub_ata_check_ready): New function.
30508 (grub_ata_cmd): Removed.
30509 (grub_ata_wait_drq): New function.
30510 (grub_ata_strncpy): Remove inline.
30511 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30512 and error check now done by grub_ata_wait_drq ().
30513 (grub_ata_pio_write): Likewise.
30514 (grub_atapi_identify): Set DEV before check for !BSY. Use
30515 grub_ata_wait_drq () to wait for data.
30516 (grub_ata_device_initialize): Add status register check to
30517 detect missing SATA slave devices. Add debug messages.
30518 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30519 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30520 transfer loop by grub_ata_pio_write ().
30521 (grub_ata_identify): Set DEV before check for !BSY. Use
30522 grub_ata_wait_drq () to wait for data.
ef257b36 30523 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 30524 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30525 read/write in one loop. Fix invalid command on write. Fix incomplete
30526 command on (size % batch) == 0. Add missing error check after write of
30527 last block. Add debug messages.
30528 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30529
59a64ef6 305302009-01-19 Christian Franke <franke@computer.org>
30531
30532 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30533 (GRUB_ATAPI_IREASON_*): Likewise.
30534 (grub_ata_pio_write): Fix timeout error return.
30535 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30536 (grub_atapi_wait_drq): New function.
30537 (grub_atapi_packet): New parameter `size'.
30538 Use grub_atapi_wait_drq () and direct write instead of
30539 grub_ata_pio_write ().
30540 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30541 reads the number of bytes requested by the device for each DRQ
30542 assertion.
30543 (grub_atapi_write): Remove old implementation, return not
30544 implemented instead.
30545
1cfe20b3 305462009-01-19 Christian Franke <franke@computer.org>
30547
30548 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30549 of 512 to calculate data size.
30550 (grub_scsi_read12): Likewise.
30551 (grub_scsi_write10): Likewise.
30552 (grub_scsi_write12): Likewise.
30553 (grub_scsi_read): Adjust size according to blocksize.
30554 Add checks for invalid blocksize and unaligned transfer.
30555
bee5fe5d 305562009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30557
30558 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30559
ef257b36 30560 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30561 width glyphs.
30562
3e643f8c 305632009-01-19 Robert Millan <rmh@aybabtu.com>
30564
30565 * config.guess: Update to latest version from config git.
30566 * config.sub: Likewise.
30567
4fa80998 305682009-01-17 Felix Zielcke <fzielcke@z-51.de>
30569
30570 * Makefile.in: Change font compilation to use new grub-mkfont instead
30571 of java version.
30572
30573 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30574 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30575 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30576 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30577 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30578 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30579 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30580 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30581 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30582
7086085b 305832009-01-16 Christian Franke <franke@computer.org>
30584
30585 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30586 (enum grub_ata_timeout_milliseconds): New enum.
30587 (grub_ata_wait_status): Add parameter milliseconds.
30588 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30589 recovery from timed-out commands.
30590 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30591 return grub_errno instead of REG_ERROR.
30592 (grub_ata_pio_write): Add parameter milliseconds.
30593 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30594 Pass milliseconds to grub_ata_wait_status () and
30595 grub_ata_pio_read ().
30596 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30597 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30598 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30599 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30600 It is not suitable for device detection, because DEV bit is ignored,
30601 the command may run too long, and not all devices set the signature
30602 properly.
30603 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30604 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30605 Fix device selection, DEV bit must be set first to address the registers
30606 of the correct device.
30607 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30608 grub_ata_pio_read/write ().
30609 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30610 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30611
4a412913 306122009-01-13 Carles Pina i Estany <carles@pina.cat>
30613
30614 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30615
7795c55e 306162009-01-13 Bean <bean123ch@gmail.com>
d913988c 30617
30618 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30619
7795c55e 306202009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 30621
30622 * Makefile.in: (enable_grub_mkfont): New variable.
30623 (freetype_cflags): Likewise.
30624 (freetype_libs): Likewise.
30625
30626 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30627 (grub_mkfont_SOURCES): New variable.
30628 (grub_mkfont_CFLAGS): Likewise.
30629 (grub_mkfont_LDFLAGS): Likewise.
30630
30631 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30632 library if `--enable-grub-mkfont' is requested.
30633 (enable_grub_mkfont): New variable.
30634 (freetype_cflags): Likewise.
30635 (freetype_libs): Likewise.
30636
30637 * util/grub-mkfont.c: New file.
30638
093af1fe 306392009-01-12 Christian Franke <franke@computer.org>
30640
30641 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30642 mode check. Fix setting of compat_use[].
30643
f36cc108 306442009-01-10 Robert Millan <rmh@aybabtu.com>
30645
30646 Update a few copyright years which we forgot to do in 2008 (only for
30647 files whose changes made in 2008 were copyright-significant)
30648
30649 * Makefile.in: Add 2008 to Copyright line.
30650 * disk/ieee1275/ofdisk.c: Likewise.
30651 * disk/efi/efidisk.c: Likewise.
30652 * kern/dl.c: Likewise.
30653 * kern/sparc64/ieee1275/init.c: Likewise.
30654 * kern/mm.c: Likewise.
30655 * kern/efi/mm.c: Likewise.
30656 * boot/i386/pc/boot.S: Likewise.
30657 * genfslist.sh: Likewise.
30658 * fs/iso9660.c: Likewise.
30659 * fs/hfs.c: Likewise.
30660 * fs/jfs.c: Likewise.
30661 * fs/minix.c: Likewise.
30662 * fs/ufs.c: Likewise.
30663 * gensymlist.sh.in: Likewise.
30664 * genkernsyms.sh.in: Likewise.
30665 * include/grub/misc.h: Likewise.
30666 * include/grub/types.h: Likewise.
30667 * include/grub/symbol.h: Likewise.
30668 * include/grub/elf.h: Likewise.
30669 * include/grub/kernel.h: Likewise.
30670 * include/grub/disk.h: Likewise.
30671 * include/grub/dl.h: Likewise.
30672 * include/grub/i386/linux.h: Likewise.
30673 * include/grub/i386/pc/biosdisk.h: Likewise.
30674 * include/grub/efi/api.h: Likewise.
30675 * include/grub/efi/pe32.h: Likewise.
30676 * include/grub/util/misc.h: Likewise.
30677 * normal/execute.c: Likewise.
30678 * normal/arg.c: Likewise.
30679 * normal/completion.c: Likewise.
30680 * normal/lexer.c: Likewise.
30681 * normal/parser.y: Likewise.
30682 * normal/misc.c: Likewise.
30683 * commands/i386/pc/vbeinfo.c: Likewise.
30684 * commands/hexdump.c: Likewise.
30685 * commands/terminal.c: Likewise.
30686 * commands/ls.c: Likewise.
30687 * commands/help.c: Likewise.
30688 * partmap/pc.c: Likewise.
30689 * loader/efi/chainloader.c: Likewise.
30690 * loader/multiboot_loader.c: Likewise.
30691 * loader/i386/pc/multiboot2.c: Likewise.
30692 * term/efi/console.c: Likewise.
30693 * term/i386/pc/serial.c: Likewise.
30694 * util/lvm.c: Likewise.
30695 * util/console.c: Likewise.
30696 * util/i386/efi/grub-mkimage.c: Likewise.
30697 * util/raid.c: Likewise.
30698
7f02114b 306992009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
30700
30701 * commands/videotest.c: Removed include to grub/machine/memory.h.
30702
30703 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
30704 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
30705 (video_mod_SOURCES): Removed.
30706 (video_mod_CFLAGS): Likewise.
30707 (video_mod_LDFLAGS): Likewise.
30708 (gfxterm_mod_SOURCES): Likewise.
30709 (gfxterm_mod_CFLAGS): Likewise.
30710 (gfxterm_mod_LDFLAGS): Likewise.
30711 (videotest_mod_SOURCES): Likewise.
30712 (videotest_mod_CFLAGS): Likewise.
30713 (videotest_mod_LDFLAGS): Likewise.
30714 (bitmap_mod_SOURCES): Likewise.
30715 (bitmap_mod_CFLAGS): Likewise.
30716 (bitmap_mod_LDFLAGS): Likewise.
30717 (tga_mod_SOURCES): Likewise.
30718 (tga_mod_CFLAGS): Likewise.
30719 (tga_mod_LDFLAGS): Likewise.
30720 (jpeg_mod_SOURCES): Likewise.
30721 (jpeg_mod_CFLAGS): Likewise.
30722 (jpeg_mod_LDFLAGS): Likewise.
30723 (png_mod_SOURCES): Likewise.
30724 (png_mod_CFLAGS): Likewise.
30725 (png_mod_LDFLAGS): Likewise.
30726
30727 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
30728 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
30729 (video_mod_SOURCES): Added.
30730 (video_mod_CFLAGS): Likewise.
30731 (video_mod_LDFLAGS): Likewise.
30732 (videotest_mod_SOURCES): Likewise.
30733 (videotest_mod_CFLAGS): Likewise.
30734 (videotest_mod_LDFLAGS): Likewise.
30735 (bitmap_mod_SOURCES): Likewise.
30736 (bitmap_mod_CFLAGS): Likewise.
30737 (bitmap_mod_LDFLAGS): Likewise.
30738 (tga_mod_SOURCES): Likewise.
30739 (tga_mod_CFLAGS): Likewise.
30740 (tga_mod_LDFLAGS): Likewise.
30741 (jpeg_mod_SOURCES): Likewise.
30742 (jpeg_mod_CFLAGS): Likewise.
30743 (jpeg_mod_LDFLAGS): Likewise.
30744 (png_mod_SOURCES): Likewise.
30745 (png_mod_CFLAGS): Likewise.
30746 (png_mod_LDFLAGS): Likewise.
30747 (gfxterm_mod_SOURCES): Likewise.
30748 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 30749 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 30750
30751 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30752 grub/machine/console.h.
30753
644fff97 307542009-01-04 Jerone Young <jerone@gmail.com>
30755
30756 Make on screen instructions clearer
30757
30758 Based on patch created by Jidanni <jidanni@jidanni.org>
30759
30760 * normal/menu.c: print clearer instructions on the screen
30761
1e901a75 307622009-01-02 Colin D Bennett <colin@gibibit.com>
30763
30764 New font engine.
34c44600 30765
1e901a75 30766 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
30767 build system and fixed gfxterm.c to work with different sized fonts.
30768
30769 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 30770
1e901a75 30771 * configure: Re-generated.
34c44600 30772
1e901a75 30773 * DISTLIST: Removed font/manager.c.
30774 Added font/font.c.
30775 Added font/font_cmd.c.
34c44600 30776
1e901a75 30777 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
30778 compilation.
34c44600 30779
1e901a75 30780 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 30781
30782 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 30783
30784 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 30785
1e901a75 30786 * normal/menu.c: Likewise.
34c44600 30787
1e901a75 30788 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
30789 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 30790
1e901a75 30791 * include/grub/font.h: Replaced with new file.
34c44600 30792
1e901a75 30793 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
30794 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
30795 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
30796 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
30797 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 30798 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 30799 fg_red, fg_green, fg_blue, fg_alpha.
30800 (grub_video_adapter): Removed blit_glyph.
34c44600 30801 (grub_video_blit_glyph): Removed.
30802
1e901a75 30803 * font/manager.c: Removed file.
34c44600 30804
30805 * font/font.c: New file.
30806
1e901a75 30807 * font/font_cmd.c: Likewise.
34c44600 30808
1e901a75 30809 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 30810
1e901a75 30811 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
30812 (grub_video_vbe_map_rgba): Likewise.
30813 (grub_video_vbe_unmap_color_int): Likewise.
30814 (grub_video_vbe_blit_glyph): Removed.
30815 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 30816
1e901a75 30817 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
30818 (get_pixel): Likewise.
34c44600 30819 (set_pixel): Likewise.
30820
1e901a75 30821 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 30822
1e901a75 30823 * term/gfxterm.c: Adapted to new font engine.
34c44600 30824
1e901a75 30825 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 30826
1e901a75 30827 * term/i386/pc/vga.c: Likewise.
34c44600 30828
1e901a75 30829 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 30830
1e901a75 30831 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 30832
1e901a75 30833 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30834
1e901a75 30835 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30836
1e901a75 30837 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 30838
1e901a75 30839 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 30840
1e901a75 30841 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 30842
1e901a75 30843 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 30844
1e901a75 30845 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30846
30847 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 30848
1e901a75 30849 * util/grub-mkconfig_lib.in: Changed font extension.
30850
278922e8 308512008-12-28 Felix Zielcke <fzielcke@z-51.de>
30852
30853 * util/getroot.c (grub_util_get_grub_dev): Add support for
30854 /dev/md/dNNpNN style partitionable mdraid devices.
30855
3ced05cf 308562008-12-12 Alex Smith <alex@alex-smith.me.uk>
30857
30858 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
30859 at a time limit of the PXE TFTP API correctly.
30860 (grub_pxefs_close): Likewise.
30861
7fd0ee30 308622008-11-29 Robert Millan <rmh@aybabtu.com>
30863
34c44600 30864 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 30865 grub_ata_device_initialize() calls.
30866
34c44600 308672008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 30868
30869 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
30870 iteration failed.
30871 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
30872
89313780 308732008-11-28 Robert Millan <rmh@aybabtu.com>
30874
30875 Fix build on powerpc-ieee1275. Based on patch created by
30876 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
30877 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30878 `kern/ieee1275/mmap.c'.
30879 * include/grub/powerpc/ieee1275/memory.h: New file.
30880
15257703 30881 Provide grub-install on coreboot.
30882 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
30883 (grub_install_SOURCES): New variable.
30884 * util/i386/pc/grub-install.in: Add a few condition checks to make it
30885 usable on coreboot.
30886
9fc5388a 308872008-11-25 Felix Zielcke <fzielcke@z-51.de>
30888
30889 * util/grub-fstest.c (grub_term_get_current_input): Change return type
30890 to `grub_term_input_t'.
30891 (grub_term_get_current_output): Change return type to
30892 `grub_term_output_t'.
30893
bc3a2f31 308942008-11-22 Robert Millan <rmh@aybabtu.com>
30895
34c44600 30896 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 30897 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
30898 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
30899 grub_vga_text_cls().
30900
80fc88f2 30901 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 30902 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 30903
cbf36fd3 30904 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
30905 to 0x200000 (avoids trouble with some OFW implementations, and matches
30906 with the one in Yaboot).
30907 Reported by Manoel Abranches
30908
73e8e268 309092008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 30910
30911 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
30912 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
30913
73e8e268 30914 * util/grub-mkconfig_lib.in (grub_warn): New function.
30915 (convert_system_path_to_grub_path): Use grub_warn() when issuing
30916 warnings, to obtain consistent formatting.
30917 * util/grub.d/00_header.in: Likewise.
30918 * util/update-grub_lib.in: Likewise.
30919
e94045a1 30920 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 30921 Move comment text to `#error' stanza.
e94045a1 30922
79d29fd7 30923 Harmonize ieee1275's grub_available_iterate() with the generic
30924 grub_machine_mmap_iterate() interface (fixes a recently-introduced
30925 build problem on i386-ieee1275):
30926 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
30927 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
30928 parameter `type'. Update all users of this function.
30929 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30930 `kern/ieee1275/mmap.c'.
30931 * kern/ieee1275/init.c
30932 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
30933 with ...
30934 (grub_machine_mmap_iterate): ... this.
30935 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
30936 return type to `grub_err_t'. Update all implementations of this
30937 function prototype.
30938 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
30939 Likewise.
30940
60d6b16e 30941 Add `lsmmap' command (lists firmware-provided memory map):
30942 * commands/lsmmap.c: New file.
30943 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
30944 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
30945 variables.
30946 * conf/powerpc-ieee1275.rmk: Likewise.
30947 * conf/i386-coreboot.rmk: Likewise.
30948 * conf/i386-ieee1275.rmk: Likewise.
30949
ebaaf49b 309502008-11-19 Robert Millan <rmh@aybabtu.com>
30951
30952 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 30953 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
30954 constraints to initrd allocation (based on code from
30955 loader/i386/pc/linux.c). Without them, initrd was allocated too high
30956 for Linux to find it.
ebaaf49b 30957
dfab719f 309582008-11-14 Robert Millan <rmh@aybabtu.com>
30959
30960 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
30961 order to cope with duplicate slashes.
30962
10fc3eb9 309632008-11-14 Robert Millan <rmh@aybabtu.com>
30964
30965 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
30966 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
30967 don't want to mess with lower memory, because it is used in the Linux
30968 loader.
30969
30970 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 30971 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 30972 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
30973 is in our heap (probably as a result of it being corrupted during
2f2a3442 30974 decompression). Add #error instance with comment to explain why this
30975 loader isn't currently usable on PC/BIOS.
10fc3eb9 30976
e2e07847 309772008-11-14 Robert Millan <rmh@aybabtu.com>
30978
30979 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 30980 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 30981
fe8e8d69 309822008-11-12 Robert Millan <rmh@aybabtu.com>
30983
30984 Make loader/i386/linux.c buildable on i386-pc (although disabled).
30985
30986 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
30987 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
30988 from here ...
30989 * include/grub/i386/pc/memory.h: ... to here.
30990
976b07d0 309912008-11-12 Robert Millan <rmh@aybabtu.com>
30992
30993 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
30994 split).
30995
30996 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
30997 (grub_console_cur_color, grub_console_real_putchar)
30998 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30999 (grub_console_setcolorstate, grub_console_setcolor)
31000 (grub_console_getcolor): Move from here ...
31001 * include/grub/i386/vga_common.h: ... to here (new file).
31002
31003 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
31004 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
31005 `<grub/i386/io.h>'.
31006 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
31007 `<grub/i386/vga_common.h>'.
31008
76679cd3 310092008-11-12 Robert Millan <rmh@aybabtu.com>
31010
31011 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
31012 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
31013 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
31014 variables.
31015 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31016 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
31017
31018 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
31019 grub_console_init() with call to grub_vga_text_init().
31020 (grub_machine_fini): Replace call to
31021 grub_console_fini() with call to grub_vga_text_fini() and
31022 grub_at_keyboard_fini().
31023
31024 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
31025 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31026 (grub_console_setcolorstate, grub_console_setcolor)
31027 (grub_console_getcolor): New function prototypes.
31028
31029 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
31030 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
31031 (grub_vga_text_setcursor): Static-ize.
31032 (grub_vga_text_term): New structure.
31033 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
31034
31035 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
31036 (grub_console_cur_color, grub_console_standard_color)
31037 (grub_console_normal_color, grub_console_highlight_color)
31038 (map_char, grub_console_putchar, grub_console_getcharwidth)
31039 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
31040 (grub_console_getcolor): Move from here ...
31041 * term/i386/vga_common.c: ... to here (same function names).
31042
95b841d3 310432008-11-12 Robert Millan <rmh@aybabtu.com>
31044
31045 Use newly-added Multiboot support in coreboot.
31046
31047 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31048 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
31049
31050 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
31051 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
31052 (codestart): Store the MBI in `startup_multiboot_info' when we're
31053 being loaded using Multiboot.
31054
31055 * kern/i386/coreboot/init.c (grub_machine_init): Move
31056 grub_at_keyboard_init() call to beginning of function (useful for
31057 debugging). Call grub_machine_mmap_init() before attempting to use
31058 grub_machine_mmap_iterate().
31059 (grub_lower_mem, grub_upper_mem): Move from here ...
31060 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
31061 here (new file).
31062
31063 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
31064 function prototype.
31065
761ca975 310662008-11-12 Robert Millan <rmh@aybabtu.com>
31067
31068 Fix a regression introduced by the at_keyboard.mod split. Because
31069 some terminals are default on some platforms and non-default on
31070 others, the first terminal being registered determines which is
31071 going to be default.
31072
31073 * kern/term.c (grub_term_register_input): If this is the first
31074 terminal being registered, set it as the current one.
31075 (grub_term_register_output): Likewise.
31076
31077 * term/efi/console.c (grub_console_init): Do not call
31078 grub_term_set_current_output() or grub_term_set_current_input().
31079 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
31080 * term/i386/pc/console.c (grub_console_init): Likewise.
31081 (grub_console_fini): Do not call grub_term_set_current_input()
31082 (but leave grub_term_set_current_output() to restore text mode).
31083
6c529df7 310842008-11-10 Robert Millan <rmh@aybabtu.com>
31085
31086 * util/grub.d/00_header.in: Add backward compatibility check for
31087 versions of terminal.mod that don't understand `terminal_input' or
31088 `terminal_output'.
31089
132e4113 310902008-11-09 Robert Millan <rmh@aybabtu.com>
31091
31092 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
31093 `terminal_input' / `terminal_output', not `terminal'.
31094
ac293d50 310952008-11-08 Robert Millan <rmh@aybabtu.com>
31096
31097 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 31098 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 31099
0025933a 311002008-11-08 Robert Millan <rmh@aybabtu.com>
31101
31102 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 31103 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 31104 members. Update all users.
31105 * util/console.c (grub_ncurses_term): Split in ...
31106 (grub_ncurses_term_input): ... this, and ...
31107 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 31108 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 31109
37c86336 311102008-11-08 Robert Millan <rmh@aybabtu.com>
31111
31112 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
31113 (PKGDATA): Add $(pkgdata_SRCDIR).
31114 (pkglib_BUILDDIR): New variable.
31115 (pkgdata_SRCDIR): New variable.
31116 (build_env.mk): New target.
31117 (include_DATA): New variable.
31118 (install-local): Install $(include_DATA) files in $(includedir).
31119
b6c15a2d 311202008-11-07 Pavel Roskin <proski@gnu.org>
31121
d99d46f1 31122 * gendistlist.sh: Use C locale for sorting to ensure consistent
31123 output on all systems.
31124
b6c15a2d 31125 * util/grub.d/00_header.in: Remove incorrect space before
31126 "serial".
31127
c32ee8c9 311282008-11-07 Robert Millan <rmh@aybabtu.com>
31129
31130 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
31131 per specification.
31132 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
31133 * loader/multiboot_loader.c (find_multi_boot2_header): New function
31134 (based on find_multi_boot1_header).
31135 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
31136 using find_multi_boot2_header(), and abort if neither Multiboot or
31137 Multiboot headers were found.
31138
651c29b7 311392008-11-07 Robert Millan <rmh@aybabtu.com>
31140
31141 Modularize at_keyboard.mod:
31142
31143 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
31144 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31145 (at_keyboard_mod_LDFLAGS): New variables.
31146
31147 Actual terminal split:
31148
31149 * include/grub/term.h (struct grub_term): Split in ...
31150 (struct grub_term_input): ... this, and ...
31151 (struct grub_term_output): ... this. Update all users.
31152 (grub_term_set_current): Split in ...
31153 (grub_term_set_current_input): ... this, and ...
31154 (grub_term_set_current_output): ... this.
31155 (grub_term_get_current): Split in ...
31156 (grub_term_get_current_input): ... this, and ...
31157 (grub_term_get_current_output): ... this.
31158 (grub_term_register): Split in ...
31159 (grub_term_register_input): ... this, and ...
31160 (grub_term_register_output): ... this.
31161 (grub_term_unregister): Split in ...
31162 (grub_term_unregister_input): ... this, and ...
31163 (grub_term_unregister_output): ... this.
31164 (grub_term_iterate): Split in ...
31165 (grub_term_iterate_input): ... this, and ...
31166 (grub_term_iterate_output): ... this.
31167
31168 * kern/term.c (grub_term_list): Split in ...
31169 (grub_term_list_input): ... this, and ...
31170 (grub_term_list_output): ... this. Update all users.
31171 (grub_cur_term): Split in ...
31172 (grub_cur_term_input): ... this, and ...
31173 (grub_cur_term_output): ... this. Update all users.
31174 (grub_term_set_current): Split in ...
31175 (grub_term_set_current_input): ... this, and ...
31176 (grub_term_set_current_output): ... this.
31177 (grub_term_get_current): Split in ...
31178 (grub_term_get_current_input): ... this, and ...
31179 (grub_term_get_current_output): ... this.
31180 (grub_term_register): Split in ...
31181 (grub_term_register_input): ... this, and ...
31182 (grub_term_register_output): ... this.
31183 (grub_term_unregister): Split in ...
31184 (grub_term_unregister_input): ... this, and ...
31185 (grub_term_unregister_output): ... this.
31186 (grub_term_iterate): Split in ...
31187 (grub_term_iterate_input): ... this, and ...
31188 (grub_term_iterate_output): ... this.
31189
31190 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
31191 a check for input and one for output (and only attempt to get keys
31192 from user when input works).
31193
31194 * util/grub-probe.c (grub_term_get_current): Split in ...
31195 (grub_term_get_current_input): ... this, and ...
31196 (grub_term_get_current_output): ... this.
31197 * util/grub-fstest.c: Likewise.
31198 * util/i386/pc/grub-setup.c: Likewise.
31199 * util/grub-editenv.c: Likewise.
31200
31201 Portability adjustments:
31202
31203 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
31204 `term/i386/pc/at_keyboard.c'.
31205 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
31206 grub_keyboard_controller_init() (now handled by terminal .init).
31207 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
31208 grub_at_keyboard_init().
31209 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
31210 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
31211 at_keyboard.mod via input terminal interface).
31212 * include/grub/i386/coreboot/console.h: Convert into a stub for
31213 `<grub/i386/pc/console.h>'.
31214
31215 Migrate full terminals to new API:
31216
31217 * term/efi/console.c (grub_console_term): Split into ...
31218 (grub_console_term_input): ... this, and ...
31219 (grub_console_term_output): ... this. Update all users.
31220 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
31221 (grub_ofconsole_init): Split into ...
31222 (grub_ofconsole_init_input): ... this, and ...
31223 (grub_ofconsole_init_output): ... this.
31224 (grub_ofconsole_term): Split into ...
31225 (grub_ofconsole_term_input): ... this, and ...
31226 (grub_ofconsole_term_output): ... this. Update all users.
31227 * term/i386/pc/serial.c (grub_serial_term): Split into ...
31228 (grub_serial_term_input): ... this, and ...
31229 (grub_serial_term_output): ... this. Update all users.
31230 * term/i386/pc/console.c (grub_console_term): Split into ...
31231 (grub_console_term_input): ... this, and ...
31232 (grub_console_term_output): ... this. Update all users.
31233 (grub_console_term_input): Only enable it on PC/BIOS platform.
31234 (grub_console_init): Remove grub_keyboard_controller_init() call.
31235
31236 Migrate input terminals to new API:
31237
31238 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
31239 `i386' and `i386/pc' to enable build on x86_64 (this driver is
31240 i386-specific anyway).
31241 (grub_console_checkkey): Rename to ...
31242 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
31243 users.
31244 (grub_keyboard_controller_orig): New variable.
31245 (grub_console_getkey): Rename to ...
31246 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
31247 users.
31248 (grub_keyboard_controller_init): Static-ize. Save original
31249 controller value so that it can be restored ...
31250 (grub_keyboard_controller_fini): ... here (new function).
31251 (grub_at_keyboard_term): New structure.
31252 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
31253 functions.
31254
31255 Migrate output terminals to new API:
31256
31257 * term/i386/pc/vga.c (grub_vga_term): Change type to
31258 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31259 members. Update all users.
31260 * term/gfxterm.c (grub_video_term): Change type to
31261 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31262 members. Update all users.
31263 * include/grub/i386/pc/console.h (grub_console_checkkey)
31264 (grub_console_getkey): Do not export (no longer needed by gfxterm,
31265 etc).
31266
31267 Migrate `terminal' command and userland tools to new API:
31268
31269 * commands/terminal.c (grub_cmd_terminal): Split into ...
31270 (grub_cmd_terminal_input): ... this, and ...
31271 (grub_cmd_terminal_output): ... this.
31272 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
31273 `terminal_input' and `terminal_output'.
31274 * util/grub.d/00_header.in: Adjust `terminal' calls to new
31275 `terminal_input' / `terminal_output' API.
31276 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
31277 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
31278 provided ${GRUB_TERMINAL}, convert it).
31279
96e5d876 312802008-11-04 Robert Millan <rmh@aybabtu.com>
31281
31282 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
31283 for FreeBSD.
31284 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
31285
556f3775 312862008-11-03 Bean <bean123ch@gmail.com>
31287
31288 * kern/elf.c (grub_elf32_load): Revert to previous code.
31289 (grub_elf64_load): Likewise.
31290
31291 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
31292
926b9823 312932008-11-01 Robert Millan <rmh@aybabtu.com>
31294
31295 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
31296 (TARGET_CPPFLAGS): Likewise.
31297 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
31298
1432e958 312992008-11-01 Carles Pina i Estany <carles@pina.cat>
31300
31301 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
31302
dba3f844 313032008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 31304
31305 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
31306 addition of objects until the code is not going to be able to fail.
31307
dba3f844 313082008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 31309
31310 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
31311 (add a missing NULL check, and correct them by moving the pointer
31312 operations after the actual check).
31313
7ab28c21 313142008-10-29 Robert Millan <rmh@aybabtu.com>
31315
31316 * util/i386/pc/grub-install.in: Handle empty string as output from
31317 make_system_path_relative_to_its_root().
31318
1b7748eb 313192008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
31320
31321 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
31322 circular metadata worst case scenario. If the metadata is circular
31323 then copy the wrap in place.
31324 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
31325 project lib/format_text/layout.h
31326 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
31327
c9618ab2 313282008-10-03 Felix Zielcke <fzielcke@z-51.de>
31329
7a36edca 31330 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 31331
bf981c62 313322008-10-03 Felix Zielcke <fzielcke@z-51.de>
31333
31334 * util/update-grub_lib.in: Mention filename in warning message.
31335
6d994591 313362008-09-29 Felix Zielcke <fzielcke@z-51.de>
31337
31338 * NEWS: Update for rename of update-grub to grub-mkconfig.
31339
18ade780 313402008-09-29 Felix Zielcke <fzielcke@z-51.de>
31341
31342 * util/update-grub_lib.in: Copy to ...
31343 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 31344 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 31345 * util/update-grub.in: Rename to ...
31346 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
31347 option. Add `--output' option to allow users to specify the generated
31348 configuration file. Default to stdout.
31349 (update_grub_dir): Rename to ...
31350 (grub_mkconfig_dir): ... this.
31351 (grub_cfg): Default to an empty string.
31352 * conf/common.rmk (update-grub): Rename to ...
31353 (grub-mkconfig): ... this.
31354 (update-grub_lib): Copy to ...
31355 (grub-mkconfig_lib): ... this.
31356 (update-grub_SCRIPTS): Copy to ...
31357 (grub-mkconfig_SCRIPTS): ... this. Update all users.
31358 (update-grub_DATA): Rename to ...
31359 (grub-mkconfig_DATA): ... this.
31360
556ce6ac 313612008-09-28 Robert Millan <rmh@aybabtu.com>
31362
31363 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
31364 to `modified'. Add the real `created' field.
31365 (grub_iso9660_uuid): Use `modified' rather than `created' for
31366 constructing the UUID.
31367
313682008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 31369
31370 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
31371 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
31372
92274e85 313732008-09-28 Bean <bean123ch@gmail.com>
31374
31375 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
31376 Thanks to Christian Franke for finding this bug.
31377
add6f17a 313782008-09-25 Robert Millan <rmh@aybabtu.com>
31379
31380 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
31381 instances of grub_util_get_disk_name() (see previous commit).
31382
d2a367b8 313832008-09-25 Robert Millan <rmh@aybabtu.com>
31384
31385 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
31386 `util/i386/get_disk_name.c'.
31387 * conf/i386-efi.rmk: Likewise.
31388 * conf/x86_64-efi.rmk: Likewise.
31389 * conf/i386-coreboot.rmk: Likewise.
31390 * conf/i386-ieee1275.rmk: Likewise.
31391 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
31392 `util/ieee1275/get_disk_name.c'.
31393 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
31394 * util/ieee1275/get_disk_name.c: Remove file.
31395 * util/i386/get_disk_name.c: Remove file.
31396 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
31397 "hd%d" for device.map entries, rather than using
31398 grub_util_get_disk_name().
31399
81a06771 314002008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 31401
31402 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
31403 warning.
31404 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
31405
5a004279 314062008-09-24 Carles Pina i Estany <carles@pina.cat>
31407
31408 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
31409 Changed to 0x5100.
31410 (GRUB_TERM_PPAGE): Changed to 0x4900.
31411
397093d3 314122008-09-24 Robert Millan <rmh@aybabtu.com>
31413
31414 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
31415 macros (they were i386-pc specific).
31416 * include/grub/sparc64/ieee1275/console.h: Likewise.
31417 * include/grub/efi/console.h: Likewise.
31418
a91b6c7c 314192008-09-22 Bean <bean123ch@gmail.com>
31420
31421 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
31422 resident and in attribute list.
31423
31424 * include/grub/ntfs.h (BMP_LEN): Removed.
31425
c40fd116 314262008-09-22 Bean <bean123ch@gmail.com>
31427
81a06771 31428 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 31429 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
31430
31431 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
31432 error occurs, as grub_disk_open will call grub_disk_close, which will
31433 call p->close (scsi).
31434
81a06771 314352008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 31436
31437 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
31438 (AC_PREREQ): Bumped to 2.59.
31439 (AC_TRY_COMPILE): Replace obsolete macro with ...
31440 (AC_COMPILE_IFELSE): ... this.
31441 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
31442 (AC_LINK_IFELSE): ... this.
31443
5dc43410 314442008-09-21 Felix Zielcke <fzielcke@z-51.de>
31445
31446 * autogen.sh: Add a call to `gendistlist.sh'.
31447
9035dce4 314482008-09-19 Christian Franke <franke@computer.org>
31449
31450 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
31451 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
31452 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
31453 Export __enable_execute_stack() to modules.
31454 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
31455 New function.
31456
7fd75377 314572008-09-09 Felix Zielcke <fzielcke@z-51.de>
31458
040030b3 31459 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
31460 Sort the list.
31461
314622008-09-09 Felix Zielcke <fzielcke@z-51.de>
31463
31464 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 31465 #include <grub/util/hostdisk.h>.
31466
89d5ffcf 314672008-09-08 Robert Millan <rmh@aybabtu.com>
31468
31469 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
31470 segments when their filesz is zero (grub_file_read() interprets
81a06771 31471 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 31472 Use `lowest_segment' rather than 0 for calculating the current
31473 segment load address.
31474
40da438f 314752008-09-08 Robert Millan <rmh@aybabtu.com>
31476
31477 * util/hostdisk.c (open_device): Replace a grub_util_info() call
31478 with grub_dprintf("hostdisk", ...), as it was so verbose that it
31479 clobbered useful information.
31480
ddbf5556 314812008-09-08 Robert Millan <rmh@aybabtu.com>
31482
31483 * include/grub/util/biosdisk.h: Move to ...
31484 * include/grub/util/hostdisk.h: ... here. Update all users.
31485 * util/biosdisk.c: Move to ...
31486 * util/hostdisk.c: ... here. Update all users.
31487
783d0f48 314882008-09-07 Robert Millan <rmh@aybabtu.com>
31489
31490 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31491 variables.
31492 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31493 and length can be stored directly in the `mbi->mmap_addr' and
31494 `mbi->mmap_length' struct fields.
31495
548e2ea5 314962008-09-07 Robert Millan <rmh@aybabtu.com>
31497
31498 * conf/i386.rmk: New file. Provides declaration for building
31499 `cpuid.mod'.
31500 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31501 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31502 variables.
31503 Include `conf/i386.mk'.
31504 * conf/i386-efi.rmk: Likewise.
31505 * conf/x86_64-efi.rmk: Likewise.
31506 * conf/i386-coreboot.rmk: Likewise.
31507 * conf/i386-ieee1275.rmk: Likewise.
31508
0ea85a37 315092008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31510
31511 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31512 Adds optimization support for BGR based modes.
31513
31514 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31515 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31516 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31517 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31518 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31519 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31520 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31521 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31522 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31523 (grub_video_i386_vbeblit_index_index): Likewise.
31524 (grub_video_i386_vbeblit_replace_directN): Added.
31525 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31526 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31527 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31528 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31529 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31530 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 31531 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 31532 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31533 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31534 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31535 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31536 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31537 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31538
31539 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31540 (grub_video_i386_vbefill_R8G8B8): Likewise.
31541 (grub_video_i386_vbefill_index): Likewise.
31542 (grub_video_i386_vbefill_direct32): Added.
31543 (grub_video_i386_vbefill_direct24): Likewise.
31544 (grub_video_i386_vbefill_direct16): Likewise.
31545 (grub_video_i386_vbefill_direct8): Likewise.
31546
81a06771 31547 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 31548 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31549 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31550 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31551 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31552 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 31553
0ea85a37 31554 * video/video.c (grub_video_get_blit_format): Updated to use new
31555 blit formats. Added handling for 16 bit color modes.
81a06771 31556
31557 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31558 fillers.
31559 (common_blitter): Updated to use new blitters.
31560
31561 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31562 Removed.
31563 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31564 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31565 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31566 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31567 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31568 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31569 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31570 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31571 (grub_video_i386_vbeblit_index_index): Likewise.
31572 (grub_video_i386_vbeblit_replace_directN): Added.
31573 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31574 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31575 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31576 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31577 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31578 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31579 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31580 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31581 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31582 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31583 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31584 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31585 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31586
0ea85a37 31587 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31588 (grub_video_i386_vbefill_R8G8B8): Likewise.
31589 (grub_video_i386_vbefill_index): Likewise.
31590 (grub_video_i386_vbefill_direct32): Added.
31591 (grub_video_i386_vbefill_direct24): Likewise.
31592 (grub_video_i386_vbefill_direct16): Likewise.
31593 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31594
0ea85a37 31595 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31596 types.
81a06771 31597
0ea85a37 31598 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31599 types.
81a06771 31600
0ea85a37 31601 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31602 blitter types.
81a06771 31603
0ea85a37 31604 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31605 types.
31606
e8a83df6 316072008-09-06 Felix Zielcke <fzielcke@z-51.de>
31608
31609 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31610 RAID level 1.
31611
6bcd8ee5 316122008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31613
6bcd8ee5 31614 * fs/iso9660.c (grub_iso9660_date): New structure.
31615 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31616 (grub_iso9660_uuid): New function.
c375ae58 31617
59261157 316182008-09-05 Bean <bean123ch@gmail.com>
31619
31620 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31621
31622 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31623 insensitive bit for names in Win32 and Win32 & DOS namespace.
31624
31625 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31626
31627 * include/grub/types.h (LONG_MAX): Likewise.
31628
58b6645a 316292008-09-04 Felix Zielcke <fzielcke@z-51.de>
31630
4ee55921 31631 * util/getroot.c: Include <config.h>.
31632 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31633 add support for /dev/md/N devices and handle LVM double dash escaping.
31634
316352008-09-04 Felix Zielcke <fzielcke@z-51.de>
31636
31637 * config.guess: Update to latest version from config git.
31638 * config.sub: Likewise.
58b6645a 31639
9124f65d 316402008-09-03 Robert Millan <rmh@aybabtu.com>
31641
31642 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31643 `disk->total_sectors'.
31644
81a06771 316452008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 31646
31647 * include/grub/normal.h: Fixed incorrect comment for
31648 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31649
81a06771 316502008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 31651
31652 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31653 values with defines.
31654
31655 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31656 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31657 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
31658 (GRUB_VBE_MODEATTR_COLOR): Likewise.
31659 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
31660 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
31661 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
31662 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
31663 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
31664 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
31665 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
31666 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
31667 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
31668 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
31669 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
31670 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
31671 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
31672 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
31673 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
31674
93d5cbf8 316752008-08-31 Robert Millan <rmh@aybabtu.com>
31676
31677 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
31678 declaration.
31679 (grub_multiboot): Fix a few warnings.
31680
21751d50 316812008-08-31 Robert Millan <rmh@aybabtu.com>
31682
31683 * loader/i386/pc/multiboot.c: Update comment not to say that
31684 boot_device support is unimplemented.
31685
e27a75c5 316862008-08-31 Robert Millan <rmh@aybabtu.com>
31687
31688 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
31689 or memory map support are unimplemented.
31690
81a06771 316912008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 31692
31693 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
31694
81a06771 316952008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 31696
31697 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
31698 total video memory in 'vbeinfo' output; show color format details for
31699 each video mode.
31700
7c5d8d95 317012008-08-30 Pavel Roskin <proski@gnu.org>
31702
31703 * util/genmoddep.c: Remove for real this time.
31704 * DISTLIST: Remove util/genmoddep.c.
31705
4cebd25a 317062008-08-30 Robert Millan <rmh@aybabtu.com>
31707
31708 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
31709 as required by Multiboot spec (it was already 4-byte aligned, but
31710 only by chance).
31711
b497a269 317122008-08-29 Pavel Roskin <proski@gnu.org>
31713
e3925185 31714 * kern/powerpc/ieee1275/crt0.S: Rename to ...
31715 * kern/powerpc/ieee1275/startup.S: ... this.
31716 * conf/powerpc-ieee1275.rmk: Adjust for the above.
31717 * DISTLIST: Likewise.
31718
b497a269 31719 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
31720 grub/cpu/kernel.h. Add start label for consistency with other
31721 platforms. Add grub_prefix immediately after start. Add jump
31722 to the code after grub_prefix.
31723 * include/grub/powerpc/kernel.h: Provide valid values for
31724 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
31725
6e5a42fe 317262008-08-29 Bean <bean123ch@gmail.com>
31727
31728 * configure.ac: Change host_os to cygwin for mingw.
31729 (asprintf): New check for function.
31730
31731 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
31732 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
31733
31734 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 31735 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 31736 sync, sleep and grub_util_get_disk_size for mingw.
31737
31738 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
31739 to get size in mingw.
31740 (open_device): Use flag O_BINARY if it's defined.
31741 (find_root_device): Add dummy code for mingw.
31742
31743 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31744 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31745 (get_scsi_disk_name): Return 0 for mingw.
31746
31747 * util/hostfs.c: #include <grub/util/misc.h>.
31748 (grub_hostfs_open): Use "rb" flag to open file, use
31749 grub_util_get_disk_size to get disk size for mingw.
31750
31751 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31752 (asprintf): New function if HAVE_ASPRINTF is not set.
31753 (sync): New function for mingw.
31754 (sleep): Likewise.
31755 (grub_util_get_disk_size): Likewise.
31756
ab3f2673 317572008-08-28 Pavel Roskin <proski@gnu.org>
31758
31759 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31760 kern/time.c.
31761
1c282483 317622008-08-28 Robert Millan <rmh@aybabtu.com>
31763
31764 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31765
678e849c 317662008-08-28 Robert Millan <rmh@aybabtu.com>
31767
31768 Change find_grub_drive() syntax so it doesn't prevent it from
31769 detecting NULL names as errors.
31770
31771 * util/biosdisk.c (find_grub_drive): Move free slot search code
31772 from here ...
31773 (find_free_slot): ... to here.
31774 (read_device_map): Use find_free_slot() to search for free slots.
31775
965c75ca 317762008-08-27 Marco Gerards <marco@gnu.org>
31777
31778 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
31779 (scsi_mod_SOURCES): New variable.
31780 (scsi_mod_CFLAGS): Likewise
31781 (scsi_mod_LDFLAGS): Likewise.
31782
31783 * disk/scsi.c: New file.
31784
31785 * include/grub/scsi.h: Likewise.
31786
31787 * include/grub/scsicmd.h: Likewise.
31788
31789 * disk/ata.c: Include <grub/scsi.h>.
31790 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
31791 instead.
31792 (grub_ata_iterate): Skip ATAPI devices.
31793 (grub_ata_open): Only handle ATAPI devices.
31794 (struct grub_atapi_read): Removed.
31795 (grub_atapi_readsector): Likewise.
31796 (grub_ata_read): No longer handle ATAPI devices.
31797 (grub_ata_write): Likewise.
31798 (grub_atapi_iterate): New function.
31799 (grub_atapi_read): Likewise.
31800 (grub_atapi_write): Likewise.
31801 (grub_atapi_open): Likewise.
31802 (grub_atapi_close): Likewise.
31803 (grub_atapi_dev): New variable.
31804 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
31805 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
31806
31807 * include/grub/disk.h (enum grub_disk_dev_id): Add
31808 `GRUB_DISK_DEVICE_SCSI_ID'.
31809
c07ae501 318102008-08-26 Robert Millan <rmh@aybabtu.com>
31811
31812 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
31813 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
31814 descriptive.
31815
5ed20adc 318162008-08-23 Bean <bean123ch@gmail.com>
31817
31818 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
31819 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31820 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
31821 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
31822 dm_nv.mod.
31823 (raid5rec_mod_SOURCES): New macro.
31824 (raid5rec_mod_CFLAGS): Likewise.
31825 (raid5rec_mod_LDFLAGS): Likewise.
31826 (raid6rec_mod_SOURCES): Likewise.
31827 (raid6rec_mod_CFLAGS): Likewise.
31828 (raid6rec_mod_LDFLAGS): Likewise.
31829 (mdraid_mod_SOURCES): Likewise.
31830 (mdraid_mod_CFLAGS): Likewise.
31831 (mdraid_mod_LDFLAGS): Likewise.
31832 (dm_nv_mod_SOURCES): Likewise.
31833 (dm_nv_mod_CFLAGS): Likewise.
31834 (dm_nv_mod_LDFLAGS): Likewise.
31835
31836 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
31837 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31838 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31839
31840 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
31841 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31842
31843 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31844
31845 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31846
31847 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31848
31849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31850
31851 * disk/raid5_recover.c: New file.
31852
31853 * disk/raid6_recover.c: Likewise.
31854
31855 * disk/mdraid_linux.c: Likewise.
31856
31857 * disk/dmraid_nvidia.c: Likewise.
31858
31859 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
31860 ULONG_MAX.
31861
31862 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
31863 calculate the size of raid device.
31864 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
31865 different layout of raid5.
31866 (grub_raid_scan_device): Remove code specific to mdraid.
31867 (grub_raid_list): New variable.
31868 (free_array): New function.
31869 (grub_raid_register): Likewise.
31870 (grub_raid_unregister): Likewise.
31871 (grub_raid_rescan): Likewise.
31872 (GRUB_MOD_INIT): Don't iterate device here.
31873 (GRUB_MOD_FINI): Use free_array to release resource.
31874
31875 * include/grub/raid.h: Remove macro and structure specific to mdraid.
31876 (grub_raid5_recover_func_t): New function variable type.
31877 (grub_raid6_recover_func_t): Likewise.
31878 (grub_raid5_recover_func): New variable.
31879 (grub_raid6_recover_func): Likewise.
31880 (grub_raid_register): New function.
31881 (grub_raid_unregister): Likewise.
31882 (grub_raid_rescan): Likewise.
31883 (grub_raid_block_xor): Likewise.
31884
31885 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
31886 (CMD_CRC): New macro.
31887 (part): Removed.
31888 (read_file): Handle device as well as file.
31889 (cmd_crc): New function.
31890 (fstest): Handle multiple disks.
31891 (options): Remove part, raw and long, add root and diskcount.
31892 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 31893 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 31894 add handling for the new options, support multiple disks.
31895
31896 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
31897
29c18915 318982008-08-23 Bean <bean123ch@gmail.com>
31899
31900 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
31901
31902 * genfslist.sh: Ignore kernel.mod.
31903
31904 * genpartmaplist.sh: Likewise.
31905
8415f261 319062008-08-23 Robert Millan <rmh@aybabtu.com>
31907
31908 * util/getroot.c (find_root_device): Skip anything that starts with
31909 a dot, not just directories. This avoids things like /dev/.tmp.md0.
31910
d5a7dc5b 319112008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 31912
d5a7dc5b 31913 * util/update-grub.in (GRUB_GFXMODE): Export variable.
31914 * util/grub.d/00_header.in: Allow the administrator to change default
31915 gfxmode via ${GRUB_GFXMODE}.
31916
380cfbb4 319172008-08-21 Felix Zielcke <fzielcke@z-51.de>
31918
31919 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
31920
c9baafe7 319212008-08-21 Robert Millan <rmh@aybabtu.com>
31922
31923 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
31924 loader.
31925 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
31926 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
31927
e290bef2 319282008-08-20 Carles Pina i Estany <carles@pina.cat>
31929
31930 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
31931 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
31932
f9dbfc96 319332008-08-19 Robert Millan <rmh@aybabtu.com>
31934
31935 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
31936 (struct grub_virtual_screen): Remove `cursor_color'.
31937 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
31938 initialization.
31939 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
31940
dd6bd6ab 319412008-08-18 Robert Millan <rmh@aybabtu.com>
31942
31943 Unify (identical) linux_normal.c files.
31944 * loader/i386/efi/linux_normal.c: Move from here ...
31945 * loader/linux_normal.c: ... to here. Update all users.
31946 * loader/i386/pc/linux_normal.c: Delete. Update all users.
31947 * loader/i386/ieee1275/linux_normal.c: Likewise.
31948
7f42f83e 319492008-08-18 Robert Millan <rmh@aybabtu.com>
31950
31951 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
31952 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
31953 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
31954 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
31955 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
31956 New macros.
31957 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
31958 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
31959 (GRUB_LINUX_CL_END_OFFSET): ... to here.
31960 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
31961 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
31962 (GRUB_EFI_CL_END_OFFSET): Rename to ...
31963 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
31964 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
31965 Initialize `params->video_cursor_x' and `params->video_cursor_y'
31966 portably using grub_getxy().
31967 Replace `-EFI' with `-bzImage' in boot message.
31968
38487ddb 319692008-08-17 Robert Millan <rmh@aybabtu.com>
31970
31971 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
31972
deceb3ec 319732008-08-17 Robert Millan <rmh@aybabtu.com>
31974
31975 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
31976
31977 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
31978 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
31979 (grub_machine_mmap_iterate): New function declaration.
31980 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
31981 structure.
31982 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
31983 macros.
31984
31985 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
31986 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
31987 Move e820 parsing from here ...
31988 * kern/i386/pc/mmap.c: New file.
31989 (grub_machine_mmap_iterate): ... to here.
31990
31991 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
31992 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
31993 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
31994 (grub_available_iterate): Redeclare to return `void', and redeclare
31995 its hook to use grub_uint64_t as addr and size parameters, and rename
31996 to ...
31997 (grub_machine_mmap_iterate): ... this. Update all users.
31998
31999 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
32000 to make it more readable. Rename to ...
32001 (grub_machine_mmap_iterate): ... this.
32002
32003 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
32004 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
32005 (grub_multiboot): Allocate an extra region after the payload, and fill
32006 it with a Multiboot memory map. Adjust a.out loader to calculate size
32007 with the extra space.
32008 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
32009 with the extra space.
32010
f8aa0f43 320112008-08-17 Carles Pina i Estany <carles@pina.cat>
32012
9807deb9 32013 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 32014
605f5bb6 320152008-08-17 Felix Zielcke <fzielcke@z-51.de>
32016
32017 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
32018 mdate-sh to the list `find' searches for.
32019 * DISTLIST: Regenerated.
32020
210db6c6 320212008-08-16 Felix Zielcke <fzielcke@z-51.de>
32022
32023 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
32024 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 32025 genmoddep.awk, gensymlist.sh.in.
32026 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 32027 * DISTLIST: Regenerated.
48cdbfd4 32028 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 32029
1082b929 320302008-08-16 Robert Millan <rmh@aybabtu.com>
32031
32032 * disk/raid.c (grub_raid_init): Handle/report errors set by
32033 grub_device_iterate().
32034 * disk/lvm.c (grub_lvm_init): Likewise.
32035
42ce5170 320362008-08-15 Bean <bean123ch@gmail.com>
32037
32038 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32039 and datehook.mod.
32040 (datetime_mod_SOURCES): New macro.
32041 (datetime_mod_CFLAGS): Likewise.
32042 (datetime_mod_LDFLAGS): Likewise.
32043 (date_mod_SOURCES): Likewise.
32044 (date_mod_CFLAGS): Likewise.
32045 (date_mod_LDFLAGS): Likewise.
32046 (datehook_mod_SOURCES): Likewise.
32047 (datehook_mod_CFLAGS): Likewise.
32048 (datehook_mod_LDFLAGS): Likewise.
32049
32050 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32051 and datehook.mod.
32052 (datetime_mod_SOURCES): New macro.
32053 (datetime_mod_CFLAGS): Likewise.
32054 (datetime_mod_LDFLAGS): Likewise.
32055 (date_mod_SOURCES): Likewise.
32056 (date_mod_CFLAGS): Likewise.
32057 (date_mod_LDFLAGS): Likewise.
32058 (datehook_mod_SOURCES): Likewise.
32059 (datehook_mod_CFLAGS): Likewise.
32060 (datehook_mod_LDFLAGS): Likewise.
32061
32062 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32063 and datehook.mod.
32064 (datetime_mod_SOURCES): New macro.
32065 (datetime_mod_CFLAGS): Likewise.
32066 (datetime_mod_LDFLAGS): Likewise.
32067 (date_mod_SOURCES): Likewise.
32068 (date_mod_CFLAGS): Likewise.
32069 (date_mod_LDFLAGS): Likewise.
32070 (datehook_mod_SOURCES): Likewise.
32071 (datehook_mod_CFLAGS): Likewise.
32072 (datehook_mod_LDFLAGS): Likewise.
32073
32074 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32075 and datehook.mod.
32076 (datetime_mod_SOURCES): New macro.
32077 (datetime_mod_CFLAGS): Likewise.
32078 (datetime_mod_LDFLAGS): Likewise.
32079 (date_mod_SOURCES): Likewise.
32080 (date_mod_CFLAGS): Likewise.
32081 (date_mod_LDFLAGS): Likewise.
32082 (datehook_mod_SOURCES): Likewise.
32083 (datehook_mod_CFLAGS): Likewise.
32084 (datehook_mod_LDFLAGS): Likewise.
32085
32086 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32087 and datehook.mod.
32088 (datetime_mod_SOURCES): New macro.
32089 (datetime_mod_CFLAGS): Likewise.
32090 (datetime_mod_LDFLAGS): Likewise.
32091 (date_mod_SOURCES): Likewise.
32092 (date_mod_CFLAGS): Likewise.
32093 (date_mod_LDFLAGS): Likewise.
32094 (datehook_mod_SOURCES): Likewise.
32095 (datehook_mod_CFLAGS): Likewise.
32096 (datehook_mod_LDFLAGS): Likewise.
32097
32098 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
32099
32100 * commands/date.c: New file.
32101
32102 * hook/datehook.c: Likewise.
32103
32104 * include/grub/lib/datetime.h: Likewise.
32105
32106 * include/grub/i386/cmos.h: Likewise.
32107
32108 * lib/datetime.c: Likewise.
32109
32110 * lib/i386/datetime.c: Likewise.
32111
32112 * lib/efi/datetime.c: Likewise.
32113
0e9242da 321142008-08-14 Robert Millan <rmh@aybabtu.com>
32115
32116 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
32117 (grub_mkelfimage_SOURCES): New variable.
32118 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
32119
32120 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
32121 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
32122 * conf/powerpc-ieee1275.rmk: Likewise.
32123 * conf/i386-ieee1275.rmk: Likewise.
32124
32125 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
32126 * kern/i386/coreboot/init.c: Likewise.
32127
32128 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
32129 with `<grub/cpu/kernel.h>'.
32130 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
32131 to ...
32132 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
32133 * kern/i386/coreboot/startup.S: Likewise.
32134
32135 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
32136 (GRUB_MOD_GAP): Remove.
32137 * include/grub/powerpc/kernel.h: New file.
32138 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
32139 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32140 * include/grub/i386/kernel.h: New file.
32141 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
32142 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
32143 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32144
32145 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
32146 `grub-mkelfimage'.
32147 Use --directory when invoking grub_mkimage.
32148
32149 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
32150 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
32151 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
32152 and GRUB_KERNEL_CPU_PREFIX.
32153
b86408f8 321542008-08-14 Felix Zielcke <fzielcke@z-51.de>
32155
d5e619ca 32156 * include/grub/err.h (grub_err_printf): New function prototype.
32157 * util/misc.c (grub_err_printf): New function.
32158 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
32159 grub_printf.
32160 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 32161
7161f0e0 321622008-08-13 Robert Millan <rmh@aybabtu.com>
32163
32164 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
32165
a1967522 321662008-08-13 Robert Millan <rmh@aybabtu.com>
32167
32168 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
32169 boot entry.
32170
371458b5 321712008-08-12 Robert Millan <rmh@aybabtu.com>
32172
32173 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
32174 of the relocation code from here ...
32175 (grub_multiboot): ... to here.
32176 (forward_relocator, backward_relocator): Move from here ...
32177 * kern/i386/loader.S (grub_multiboot_forward_relocator)
32178 (grub_multiboot_backward_relocator): ... to here.
32179 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
32180 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
32181 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
32182 (grub_multiboot_forward_relocator_end)
32183 (grub_multiboot_backward_relocator)
32184 (grub_multiboot_backward_relocator_end): New variables.
32185
05f9452b 321862008-08-12 Bean <bean123ch@gmail.com>
32187
32188 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
32189
20024ab0 321902008-08-11 Robert Millan <rmh@aybabtu.com>
32191
32192 * kern/i386/linuxbios/startup.S: Move from here ...
32193 * kern/i386/coreboot/startup.S: ... to here.
32194
32195 * kern/i386/linuxbios/init.c: Move from here ...
32196 * kern/i386/coreboot/init.c: ... to here.
32197
32198 * kern/i386/linuxbios/table.c: Move from here ...
32199 * kern/i386/coreboot/mmap.c: ... to here.
32200
32201 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
32202
e352e9cd 322032008-08-11 Robert Millan <rmh@aybabtu.com>
32204
32205 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
32206 errors. Leave it to the upper layer to handle them.
32207
2d05bc6a 322082008-08-09 Christian Franke <franke@computer.org>
32209
32210 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
32211 * conf/common.rmk: Install `grub-pe2elf' only if requested.
32212 Install `grub.d/10_windows' only on Cygwin.
32213 * configure.ac: Add subst of `target_os'.
32214 Check `target_os' also before setting TARGET_OBJ2ELF.
32215 Add `--enable-grub-pe2elf'.
32216
042bd419 322172008-08-08 Robert Millan <rmh@aybabtu.com>
32218
32219 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32220 (grub_last_time): Change type to grub_uint64_t.
32221 (grub_disk_open): Migrate code from to using grub_get_time_ms().
32222 (grub_disk_close): Likewise.
32223
32224 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32225 (run_menu): Migrate code from to using grub_get_time_ms().
32226
32227 * util/misc.c (grub_get_time_ms): New function.
32228
7f280db5 322292008-08-08 Marco Gerards <marco@gnu.org>
32230
32231 * disk/ata.c (grub_ata_regget): Change return type to
32232 `grub_uint8_t'.
32233 (grub_ata_regget2): Likewise.
32234 (grub_ata_wait_status): New function.
32235 (grub_ata_wait_busy): Removed function, updated all users to use
32236 `grub_ata_wait_status'.
32237 (grub_ata_wait_drq): Likewise.
32238 (grub_ata_cmd): New function.
32239 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
32240 error handling.
32241 (grub_ata_pio_write): Add error handling.
32242 (grub_atapi_identify): Likewise.
32243 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
32244 handling.
32245 (grub_ata_identify): Use `grub_ata_cmd' and improve error
32246 handling. Actually use the detected registers. Reorder the
32247 detection logic such that it is easier to read.
32248 (grub_ata_pciinit): Do not assign the same ID to each controller.
32249 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
32250 handling.
32251 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
32252
32253 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
32254
1fbc5e66 322552008-08-08 Marco Gerards <marco@gnu.org>
32256
32257 * NEWS: Update.
32258
819ce6c0 322592008-08-07 Bean <bean123ch@gmail.com>
32260
32261 * include/grub/x86_64/pci.h: New file.
32262
5c41d44d 322632008-08-07 Christian Franke <franke@computer.org>
32264
32265 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
32266 (TIMER2_GATE): Likewise.
32267 (grub_pit_wait): Add enable/disable of the timer2 gate
32268 bit of port 0x61. This fixes a possible infinite loop.
32269
5ebc275d 322702008-08-07 Bean <bean123ch@gmail.com>
32271
32272 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
32273 kern/i386/tsc.c and kern/i386/pit.c.
32274
32275 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
32276 x86_64 platform.
32277
32278 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
32279 <grub/i386/tsc.h>.
32280
32281 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
32282
e383b3d0 322832008-08-07 Bean <bean123ch@gmail.com>
32284
32285 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
32286
32287 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
32288
32289 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
32290 multiple inclusion. Add #include <grub/types.h>.
32291
1cbb58ac 322922008-08-06 Christian Franke <franke@computer.org>
32293
32294 * conf/common.rmk: Build and install `10_windows'.
32295 * util/grub.d/10_windows.in: New script.
32296
337f5a1e 322972008-08-06 Pavel Roskin <proski@gnu.org>
32298
32299 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
32300
057bc4ac 323012008-08-06 Robert Millan <rmh@aybabtu.com>
32302
32303 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
32304 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
32305
2b99f123 323062008-08-06 Bean <bean123ch@gmail.com>
32307
32308 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
32309 (grub_pxefs_fs_int): Remove dummy definition.
32310 (grub_pxefs_open): Use data->block_size to store the current block
32311 size setting.
32312 (grub_pxefs_read): Use block size stored in data->block_size. As the
32313 value of grub_pxe_blksize can be changed after the file is opened.
32314
9f0234cb 323152008-08-06 Bean <bean123ch@gmail.com>
32316
32317 * fs/i386/pc/pxe.c (curr_file): new variable.
32318 (grub_pxefs_open): Simply the handling of pxe file system. Don't
32319 require the dummy internal file system anymore.
32320 (grub_pxefs_read): Removed.
32321 (grub_pxefs_close): Likewise.
32322 (grub_pxefs_fs_int): Likewise.
32323 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
32324 connection when we switch file.
32325 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
32326
a55d42e0 323272008-08-06 Robert Millan <rmh@aybabtu.com>
32328
32329 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
32330 `halt.mod'.
32331 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
32332 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
32333
32334 * kern/i386/halt.c: New file.
32335 * kern/i386/reboot.c: Likewise.
32336 * include/grub/i386/reboot.h: Likewise.
32337 * include/grub/i386/halt.h: Likewise.
32338
32339 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
32340 Include `<grub/cpu/halt.h>'.
32341 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
32342 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
32343
32344 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
32345 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
32346 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
32347 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
32348 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
32349 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
32350 from here ...
32351 * include/grub/i386/at_keyboard.h: ... to here.
32352
24371d26 323532008-08-05 Robert Millan <rmh@aybabtu.com>
32354
32355 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
32356 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
32357 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
32358 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32359 `kern/generic/millisleep.c'.
32360
32361 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
32362 instead of grub_get_rtc().
32363 (grub_tsc_init): Initialize `tsc_boot_time'.
32364
32365 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
32366 (grub_machine_init): Use grub_tsc_init() rather than
32367 installing an RTC-based handler via grub_install_get_time_ms().
32368
32369 * kern/i386/pit.c: New file.
32370 * include/grub/i386/pit.h: Likewise.
32371
9e7007b3 323722008-08-05 Bean <bean123ch@gmail.com>
32373
32374 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
32375
32376 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
32377 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
32378 (pxe_mod_SOURCES): New macro.
32379 (pxe_mod_CFLAGS): Likewise.
32380 (pxe_mod_LDFLAGS): Likewise.
32381 (pxecmd_mod_SOURCES): Likewise.
32382 (pxecmd_mod_CFLAGS): Likewise.
32383 (pxecmd_mod_LDFLAGS): Likewise.
32384
32385 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
32386 (grub_pxe_call): Likewise.
32387
32388 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
32389
32390 * commands/i386/pc/pxecmd.c: New file.
32391
9f0234cb 32392 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 32393
32394 * include/grub/i386/pc/pxe.h: Likewise.
32395
6977d49f 323962008-08-05 Bean <bean123ch@gmail.com>
32397
32398 * util/console.c (grub_console_cur_color): New variable.
32399 (grub_console_standard_color): Likewise.
32400 (grub_console_normal_color): Likewise.
32401 (grub_console_highlight_color): Likewise.
32402 (color_map): Likewise.
32403 (use_color): Likewise.
32404 (NUM_COLORS): New macro.
32405 (grub_ncurses_setcolorstate): Handle color properly.
32406 (grub_ncurses_setcolor): Don't change color here, just remember the
32407 settings, color will be set in grub_ncurses_setcolorstate.
32408 (grub_ncurses_getcolor): New function.
32409 (grub_ncurses_init): Initialize color pairs.
32410 (grub_ncurses_term): New member grub_ncurses_getcolor.
32411
9c2ff3ee 324122008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 32413
9c2ff3ee 32414 High resolution timer support. Implemented for x86 CPUs using TSC.
32415 Extracted generic grub_millisleep() so it's linked in only as needed.
32416 This requires a Pentium compatible CPU; if the RDTSC instruction is
32417 not supported, then it falls back on the generic grub_get_time_ms()
32418 implementation that uses the machine's RTC.
32419
32420 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
32421 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32422 `kern/generic/millisleep.c'.
32423
32424 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
32425 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
32426
32427 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
32428 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
32429
32430 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32431
32432 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32433 `kern/generic/millisleep.c'.
32434
32435 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32436
32437 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
32438
32439 * kern/generic/rtc_get_time_ms.c: New file.
32440
32441 * kern/generic/millisleep.c: New file.
337f5a1e 32442
9c2ff3ee 32443 * kern/misc.c: Don't include
32444 <kern/time.h> anymore.
32445 (grub_millisleep_generic): Removed.
32446
32447 * commands/sleep.c (grub_interruptible_millisleep): Uses
32448 grub_get_time_ms() instead of grub_get_rtc().
32449
32450 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
32451 function.
32452 (grub_cpu_is_cpuid_supported): New inline function.
32453 (grub_cpu_is_tsc_supported): New inline function.
32454 (grub_tsc_init): New function prototype.
32455 (grub_tsc_get_time_ms): New function prototype.
32456
32457 * kern/i386/tsc.c (grub_get_time_ms): New file.
32458
32459 * include/grub/time.h: Include <grub/types.h.
32460 (grub_millisleep_generic): Removed.
32461 (grub_get_time_ms): New prototype.
32462 (grub_install_get_time_ms): New prototype.
32463 (grub_rtc_get_time_ms): New prototype.
32464
32465 * kern/time.c (grub_get_time_ms): New function.
32466 (grub_install_get_time_ms): New function.
32467
32468 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
32469 <grub/time.h> anymore.
32470 (grub_millisleep): Removed.
32471 (grub_machine_init): Call grub_tsc_init.
32472
32473 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
32474 get_time_ms() implementation.
32475
32476 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
32477 (ieee1275_get_time_ms): New function.
32478 (grub_machine_init): Install get_time_ms() implementation.
32479
32480 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
32481 (grub_machine_init): Call grub_tsc_init().
32482 (grub_millisleep): Removed.
bf06a93f 32483
9c2ff3ee 32484 * kern/ieee1275/init.c (grub_millisleep): Removed.
32485 (grub_machine_init): Install ieee1275_get_time_ms()
32486 implementation.
32487 (ieee1275_get_time_ms): New function.
32488 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32489 real work.
32490
9ec92aaf 324912008-08-05 Marco Gerards <marco@gnu.org>
32492
32493 * disk/ata.c: Include <grub/pci.h>.
32494 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32495 (grub_ata_initialize): Rewritten.
32496 (grub_ata_device_initialize): New function.
32497
8d23f507 324982008-08-04 Pavel Roskin <proski@gnu.org>
32499
32500 * kern/main.c: Include grub/mm.h.
32501
5e15ee3d 325022008-08-04 Robert Millan <rmh@aybabtu.com>
32503
32504 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32505 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32506 corruption problem).
32507
a9053f8f 325082008-08-04 Robert Millan <rmh@aybabtu.com>
32509
32510 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32511 warnings introduced in my last commit.
32512
dd19c7d7 325132008-08-03 Robert Millan <rmh@aybabtu.com>
32514
32515 Make PCI available on all i386 architectures.
32516
32517 * include/grub/i386/pc/pci.h: Move from here ...
32518 * include/grub/i386/pci.h: ... to here.
32519
32520 * include/grub/i386/pc/pci.h: Remove.
32521 * include/grub/i386/efi/pci.h: Remove.
32522 * include/grub/x86_64/efi/pci.h: Remove.
32523
32524 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32525 `<grub/cpu/pci.h>'.
32526
32527 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32528 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32529 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32530
32531 * conf/i386-ieee1275.rmk: Likewise.
32532
e14a6184 325332008-08-03 Robert Millan <rmh@aybabtu.com>
32534
32535 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32536 (grub_console_setcursor): Make it possible to set cursor off.
32537
52768e37 325382008-08-03 Robert Millan <rmh@aybabtu.com>
32539
32540 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32541 of modules instead of assuming which platform provides what.
32542 * util/update-grub.in: Likewise.
32543
2d52f57f 325442008-08-03 Robert Millan <rmh@aybabtu.com>
32545
32546 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32547 instead of `grub_install_dos_part' to determine whether a drive needs
32548 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 32549 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 32550
2a5cd121 325512008-08-02 Robert Millan <rmh@aybabtu.com>
32552
32553 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32554
93808428 325552008-08-02 Robert Millan <rmh@aybabtu.com>
32556
32557 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32558 of informational grub_dprintf() calls.
32559
3bd0a12a 325602008-08-02 Robert Millan <rmh@aybabtu.com>
32561
32562 * disk/memdisk.c (memdisk_size): Don't initialize.
32563 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32564
32565 * include/grub/i386/pc/kernel.h
32566 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32567 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32568 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32569 (grub_arch_memdisk_size): Remove.
32570
32571 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32572 field (was only used to transfer a constant). Add `type' field to
32573 support multiple module types.
32574 (grub_module_iterate): New function.
32575
32576 * kern/device.c (grub_device_open): Do not hide error messages
32577 when grub_disk_open() fails. Use grub_print_error() instead.
32578
32579 * kern/i386/pc/init.c (grub_arch_modules_addr)
32580 (grub_arch_memdisk_size): Remove functions.
32581 (grub_arch_modules_addr): Return the module address in high memory
32582 (now that it isn't copied anymore).
32583
32584 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32585 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32586 decompression routine (grub_total_module_size already includes that
32587 now). Don't copy modules back to low memory.
32588
32589 * kern/main.c: Include `<grub/mm.h>'.
32590 (grub_load_modules): Split out (and use) ...
32591 (grub_module_iterate): ... this function, which iterates through
32592 module objects and runs a hook.
32593 Comment out grub_mm_init_region() call, as it would cause non-ELF
32594 modules to be overwritten.
32595
32596 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32597 the memdisk image in its own region, make it part of the module list.
32598 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32599 (main): Parse --memdisk|-m option, and pass user-provided path as
32600 parameter to generate_image().
32601 (add_segments): Pass `memdisk_path' down to load_modules().
32602 (load_modules): Embed memdisk image in module section when requested.
32603 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32604 `header.type' instead of `header.offset'.
32605
32606 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32607 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32608 (memdisk_mod_LDFLAGS): New variables.
32609 * conf/i386-coreboot.rmk: Likewise.
32610 * conf/i386-ieee1275.rmk: Likewise.
32611
a927cc73 326122008-08-02 Robert Millan <rmh@aybabtu.com>
32613
32614 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32615 (backward_relocator): New variables. Used to allocate and relocate
32616 the payload, respectively.
32617 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 32618 address, install the appropriate relocator code in each bound of
a927cc73 32619 the payload, and set the entry point such that
32620 grub_multiboot_real_boot() will jump to one of them.
32621
32622 * kern/i386/loader.S (grub_multiboot_payload_size)
32623 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32624 (grub_multiboot_payload_entry_offset): New variables.
32625 (grub_multiboot_real_boot): Set cpu context to what the relocator
32626 expects, and jump to the relocator instead of the payload.
32627
32628 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32629 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32630 (grub_multiboot_payload_entry_offset): Export.
32631
b15d8a0c 326322008-08-01 Bean <bean123ch@gmail.com>
32633
32634 * normal/menu_entry.c (editor_getline): Don't return the original
32635 string as result, as it will be released by lexer once it has done
32636 using it.
32637
cdfb3d22 326382008-08-01 Robert Millan <rmh@aybabtu.com>
32639
32640 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32641 within menuentries, not before them.
32642 util/grub.d/10_hurd.in: Likewise.
32643
9175e93d 326442008-08-01 Bean <bean123ch@gmail.com>
32645
32646 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32647 (bufio_mod_SOURCES): New macro.
32648 (bufio_mod_CFLAGS): Likewise.
32649 (bufio_mod_LDFLAGS): Likewise.
32650
32651 * include/grub/bufio.h: New file.
32652
32653 * io/bufio.c: Likewise.
32654
32655 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32656 (grub_video_reader_png): Use grub_buffile_open to open file.
32657
32658 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
32659 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
32660
32661 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
32662 (grub_video_reader_tga): Use grub_buffile_open to open file.
32663
32664 * font/manager.c: Include <grub/bufio.h>.
32665 (add_font): Use grub_buffile_open to open file.
32666
3d8383e7 326672008-07-31 Robert Millan <rmh@aybabtu.com>
32668
32669 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
32670 ELF segments, use a macro for arbitrarily accessing any of them instead
32671 of preparing a pointer that allows access to one at a time.
32672 (grub_multiboot_load_elf64): Likewise.
32673
16e641b6 326742008-07-31 Bean <bean123ch@gmail.com>
32675
32676 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
32677 GRUB_KERNEL_MACHINE_DATA_END.
32678
59198b72 326792008-07-30 Robert Millan <rmh@aybabtu.com>
32680
32681 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
32682 Increase from 0x50 to 0x60.
32683 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
32684 use UUIDs to identify the root drive for them. If that's not
32685 possible, abort.
32686 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
32687 check, for cross-disk installs.
32688
ae88bca3 326892008-07-30 Robert Millan <rmh@aybabtu.com>
32690
32691 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
32692 is non-empty, use it to set the `prefix' environment variable instead
32693 of the usual approach.
32694 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
32695 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
32696 environment variable instead of dummy make_install_device().
32697
32698 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
32699 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 32700 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 32701
32702 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
32703 New variable reference.
32704 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
32705 New macro. Defines offset of `grub_prefix' within startup.S (relative
32706 to `start').
32707 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
32708 section within startup.S (relative to `start').
32709 * include/grub/i386/coreboot/kernel.h: Likewise.
32710
32711 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
32712 Overwrite grub_prefix with its contents, at the beginning of the
32713 first segment.
32714 (main): Understand -p|--prefix.
32715
14f41dd1 327162008-07-30 Robert Millan <rmh@aybabtu.com>
32717
32718 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
32719
4ca049a3 327202008-07-30 Robert Millan <rmh@aybabtu.com>
32721
32722 * term/i386/pc/vga_text.c (grub_console_cls): Use
32723 grub_console_gotoxy() to go back to beginning of the screen.
32724 Found by Patrick Georgi <patrick.georgi@coresystems.de>
32725
2921d337 327262008-07-29 Christian Franke <franke@computer.org>
32727
32728 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32729 Add conversion of emulated mount points on Cygwin.
32730
b609876d 327312008-07-29 Christian Franke <franke@computer.org>
32732
32733 * util/update-grub.in: Add a check for admin
32734 group on Cygwin.
32735 Remove old `grub.cfg.new' before creation.
32736 Add `-f' to `mv' to handle the different filesystem
32737 semantics of Windows.
32738
e93e4679 327392008-07-29 Bean <bean123ch@gmail.com>
32740
32741 * normal/main.c (get_line): Fix buffer overflow bug.
32742
41694fd0 327432008-07-28 Robert Millan <rmh@aybabtu.com>
32744
32745 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32746 (struct grub_apple_header): New struct. Describes the layout of
32747 the partmap header.
32748 (apple_partition_map_iterate): Check the header magic as well as the
32749 partition magic (which was already being checked).
32750
cfd0b4e6 327512008-07-28 Pavel Roskin <proski@gnu.org>
32752
32753 * genmk.rb: Add a warning to the beginning of the output that
32754 it's a generated file and should not be edited.
32755
93cce016 327562008-07-28 Robert Millan <rmh@aybabtu.com>
32757
32758 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32759 with the same number are found, just use issue a warning with
32760 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 32761
cd1df915 327622008-07-27 Robert Millan <rmh@aybabtu.com>
32763
32764 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32765 information.
32766
b70a8427 327672008-07-27 Bean <bean123ch@gmail.com>
32768
32769 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
32770 (grub_fat_find_dir): Ignore case when comparing filename.
32771
8f5e379f 327722008-07-27 Bean <bean123ch@gmail.com>
32773
32774 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
32775 smallino, as it's more descriptive, and i8count can be confused with
32776 the other field count.
32777 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
32778 inode type.
32779
a85cd5a0 327802008-07-27 Bean <bean123ch@gmail.com>
32781
32782 * commands/crc.c: New file.
32783
32784 * lib/crc.c: Likewise.
32785
32786 * include/grub/lib/crc.h: Likewise.
32787
32788 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
32789
32790 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
32791 (hexdump): Move this function to ...
32792
32793 * lib/hexdump.c: ... here.
32794
32795 * include/grub/hexdump.h: Renamed to ...
32796
32797 * include/grub/lib/hexdump.h: ... this.
32798
32799 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
32800
32801 * util/grub-editenv.c: Likewise.
32802
32803 * include/envblk.h: Renamed to ...
32804
32805 * include/lib/envblk.h: ... this.
32806
32807 * util/envblk.c: Renamed to ...
32808
32809 * lib/envblk.c: ... this.
32810
32811 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
32812 lib/hexdump.c.
32813 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
32814 (pkglib_MODULES): Add crc.mod.
32815 (hexdump_mod_SOURCES): Add lib/hexdump.c.
32816 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
32817 (crc_mod_SOURCES): New macro.
32818 (crc_mod_CFLAGS): Likewise.
32819 (crc_mod_LDFLAGS): Likewise.
32820
32821 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
32822
32823 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32824
32825 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32826
32827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32828
32829 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32830
c298def0 328312008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 32832
32833 * commands/help.c: Include <grub/term.h>.
32834 (TERM_WIDTH): Removed. Updated all users.
32835
cc349fb3 328362008-07-27 Pavel Roskin <proski@gnu.org>
32837
32838 * util/getroot.c (find_root_device): Rephrase a comment to avoid
32839 spurious warnings about a comment within a comment.
32840
9051607e 328412008-07-25 Robert Millan <rmh@aybabtu.com>
32842
32843 * util/getroot.c (find_root_device): Skip devices that match
32844 /dev/dm-[0-9]. This lets the real device be found for any type of
32845 abstraction (LVM, EVMS, RAID..).
32846 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
32847 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
32848 device is found first, find_root_device() will now skip it.
32849
01453bfc 328502008-07-24 Pavel Roskin <proski@gnu.org>
32851
32852 * include/grub/types.h: Use __builtin_bswap32() and
32853 __builtin_bswap64() with gcc 4.3 and newer.
32854
6af9849f 328552008-07-24 Christian Franke <franke@computer.org>
32856
3a0fa256 32857 * util/i386/pc/grub-install.in: If `--debug' is specified,
32858 pass `--verbose' to grub-setup.
32859 Abort script if make_system_path_relative_to_its_root() fails.
32860
7810e747 328612008-07-24 Bean <bean123ch@gmail.com>
32862
32863 * configure.ac: Fixed a bug caused by the previous cygwin patch,
32864 variable `target_platform' should be `platform'.
32865
42290e17 328662008-07-24 Bean <bean123ch@gmail.com>
32867
51cc5193 32868 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 32869 (grub_png_init_fixed_block): New function.
32870 (grub_png_decode_image_data): Handle fixed huffman code compression.
32871
2a8a80e4 328722008-07-24 Bean <bean123ch@gmail.com>
32873
32874 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
32875 (grub_pe2elf_SOURCES): New macro.
32876 (CLEANFILES): Add grub-pe2elf.
32877
32878 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
32879 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
32880 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
32881 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
32882 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
32883 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
32884 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
32885 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
32886 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
32887 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
32888 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
32889 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
32890 (GRUB_PE32_DT_FUNCTION): Likewise.
32891 (GRUB_PE32_REL_I386_DIR32): Likewise.
32892 (GRUB_PE32_REL_I386_REL32): Likewise.
32893 (grub_pe32_symbol): New structure.
32894 (grub_pe32_reloc): Likewise.
32895
32896 * util/grub-pe2elf.c: New file.
32897
32898 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
32899 start symbol in non pc platform.
32900
32901 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
32902
32903 The following patches are from Christian Franke.
32904
32905 * include/grub/dl.h: Remove .previous, gas supports this only
32906 for ELF format.
32907
32908 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
32909 Remove .type, gas supports this only for ELF format.
32910
32911 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
32912 nullbytes in symbol table. This fixes an infinite loop if table is
32913 zero filled.
32914
32915 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
32916 TARGET_IMG_LDFLAGS and EXEEXT.
32917
32918 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
32919 TARGET_IMG_LDFLAGS_AC.
32920 (grub_CHECK_STACK_ARG_PROBE): New function.
32921
32922 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
32923
32924 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
32925
32926 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
32927 to set TARGET_IMG_LD* accordingly.
32928 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
32929 Add call to grub_CHECK_STACK_ARG_PROBE.
32930 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
32931
32932 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
32933
32934 * genmk.rb: Add EXEEXT to CLEANFILES.
32935
12ccdb75 329362008-07-23 Robert Millan <rmh@aybabtu.com>
32937
32938 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
32939 define the codes for arrows and lines used for the menu).
32940 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
32941 as well.
32942
32943 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
32944 fonts, because the latter are too slow.
32945
18eeaf04 329462008-07-21 Bean <bean123ch@gmail.com>
32947
32948 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
32949 a20. Run keyboard test last, as it will cause macbook to halt.
32950
b095e2ad 329512008-07-18 Pavel Roskin <proski@gnu.org>
32952
32953 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
32954 load foreign architecture modules correctly anyway. Keep
32955 support for loading host architecture modules, whether we
32956 compile them or not.
32957
737feb35 329582008-07-17 Pavel Roskin <proski@gnu.org>
32959
3f4ce737 32960 * configure.ac: Use -m32 or -m64 regardless of whether we had to
32961 change target_cpu. The compiler default can mismatch target_cpu
32962 in any case.
32963
4ad2d049 32964 * disk/efi/efidisk.c: Fix format warnings on x86_64.
32965 * kern/efi/efi.c: Likewise.
32966
f6130a12 32967 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
32968 target compiler is functional.
32969 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
32970 are set up.
32971
58393a2d 32972 * configure.ac: Default to efi platform for x86_64-apple. Allow
32973 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
32974 adjustments from the rest, only do them if target is not
32975 explicitly given. Merge other adjustments with the final sanity
32976 check. Remove an extraneous check for supported CPU. Be
32977 specific which CPU and which platform is not supported.
32978
737feb35 32979 * configure.ac: Default to pc platform for x86_64.
32980
546f966a 329812008-07-17 Robert Millan <rmh@aybabtu.com>
32982
32983 Partial LinuxBIOS -> Coreboot rename.
32984
32985 * conf/i386-linuxbios.rmk: Renamed to ...
32986 * conf/i386-coreboot.rmk: ... this.
32987 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
32988 * configure.ac: Accept "coreboot" as input platform (but maintain
32989 compatibility with "linuxbios").
32990 * include/grub/i386/linuxbios: Renamed to ...
32991 * include/grub/i386/coreboot: ... this.
32992
20011694 329932008-07-17 Bean <bean123ch@gmail.com>
32994
32995 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 32996 (appleldr_mod_SOURCE): New variable.
20011694 32997 (appleldr_mod_CFLAGS): Likewise.
32998 (appleldr_mod_LDFLAGS): Likewise.
32999 (pci_mod_SOURCES): Likewise.
33000 (pci_mod_CFLAGS): Likewise.
33001 (pci_mod_LDFLAGS): Likewise.
33002 (lspci_mod_SOURCES): Likewise.
33003 (lspci_mod_CFLAGS): Likewise.
33004 (lspci_mod_LDFLAGS): Likewise.
33005
33006 * conf/x86_64-efi.rmk: New file.
33007
33008 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
33009 macro.
33010 (grub_efidisk_write): Likewise.
33011
33012 * include/efi/api.h (efi_call_0): New macro.
33013 (efi_call_1): Likewise.
33014 (efi_call_2): Likewise.
33015 (efi_call_3): Likewise.
33016 (efi_call_4): Likewise.
33017 (efi_call_5): Likewise.
33018 (efi_call_6): Likewise.
33019
33020 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
33021 grub_rescue_cmd_chainloader.
33022
33023 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
33024 (grub_pe32_optional_header): Change some fields based on i386 or
33025 x86_64 platform.
33026 (GRUB_PE32_PE32_MAGIC): Likewise.
33027
33028 * include/grub/efi/uga_draw.h: New file.
33029
33030 * include/grub/elf.h (STN_ABS): New constant.
33031 (R_X86_64_NONE): Relocation constant for x86_64.
33032 (R_X86_64_64): Likewise.
33033 (R_X86_64_PC32): Likewise.
33034 (R_X86_64_GOT32): Likewise.
33035 (R_X86_64_PLT32): Likewise.
33036 (R_X86_64_COPY): Likewise.
33037 (R_X86_64_GLOB_DAT): Likewise.
33038 (R_X86_64_JUMP_SLOT): Likewise.
33039 (R_X86_64_RELATIVE): Likewise.
33040 (R_X86_64_GOTPCREL): Likewise.
33041 (R_X86_64_32): Likewise.
33042 (R_X86_64_32S): Likewise.
33043 (R_X86_64_16): Likewise.
33044 (R_X86_64_PC16): Likewise.
33045 (R_X86_64_8): Likewise.
33046 (R_X86_64_PC8): Likewise.
33047
33048 * include/grub/i386/efi/pci.h: New file.
33049
33050 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
33051 Change it value based on platform.
33052 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
33053 (GRUB_E820_RAM): Likewise.
33054 (GRUB_E820_RESERVED): Likewise.
33055 (GRUB_E820_ACPI): Likewise.
33056 (GRUB_E820_NVS): Likewise.
33057 (GRUB_E820_EXEC_CODE): Likewise.
33058 (GRUB_E820_MAX_ENTRY): Likewise.
33059 (grub_e820_mmap): New structure.
33060 (linux_kernel_header): Change the efi field according to different
33061 kernel version, also field from linux_kernel_header.
33062
33063 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
33064
33065 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
33066 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
33067 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
33068 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
33069 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
33070 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
33071 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
33072 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
33073 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
33074 (GRUB_PCI_ADDR_IO_MASK): Likewise.
33075
33076 * include/grub/x86_64/efi/kernel.h: New file.
33077
33078 * include/grub/x86_64/efi/loader.h: Likewise.
33079
33080 * include/grub/x86_64/efi/machine.h: Likewise.
33081
33082 * include/grub/x86_64/efi/pci.h: Likewise.
33083
33084 * include/grub/x86_64/efi/time.h: Likewise.
33085
33086 * include/grub/x86_64/linux.h: Likewise.
33087
33088 * include/grub/x86_64/setjmp.h: Likewise.
33089
33090 * include/grub/x86_64/time.h: Likewise.
33091
33092 * include/grub/x86_64/types.h: Likewise.
33093
33094 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
33095 GRUB_TARGET_SIZEOF_VOID_P.
33096
33097 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
33098 (grub_efi_locate_handle): Likewise.
33099 (grub_efi_open_protocol): Likewise.
33100 (grub_efi_set_text_mode): Likewise.
33101 (grub_efi_stall): Likewise.
33102 (grub_exit): Likewise.
33103 (grub_reboot): Likewise.
33104 (grub_halt): Likewise.
33105 (grub_efi_exit_boot_services): Likewise.
33106 (grub_get_rtc): Likewise.
33107
33108 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
33109 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
33110 (grub_efi_allocate_pages): Wrap efi calls.
33111 (grub_efi_free_pages): Wrap efi calls.
33112 (grub_efi_get_memory_map): Wrap efi calls.
33113
33114 * kern/x86_64/dl.c: New file.
33115
33116 * kern/x86_64/efi/callwrap.S: Likewise.
33117
33118 * kern/x86_64/efi/startup.S: Likewise.
33119
33120 * loader/efi/appleloader.c: Likewise.
33121
33122 * loader/efi/chainloader.c (cmdline): New variable.
33123 (grub_chainloader_unload): Wrap efi calls.
33124 (grub_chainloader_boot): Likewise.
33125 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
33126 command line.
33127
33128 * loader/efi/chainloader_normal.c (chainloader_command):
33129 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
33130 command line.
33131
33132 * loader/i386/efi/linux.c (allocate_pages): Change allocation
33133 method.
33134 (grub_e820_add_region): New function.
33135 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
33136 booting.
33137 (grub_find_video_card): New function.
33138 (grub_linux_setup_video): New function.
33139 (grub_rescue_cmd_linux): Probe for video information.
33140
33141 * normal/x86_64/setjmp.S: New file.
33142
33143 * term/efi/console.c (map_char): New function.
33144 (grub_console_putchar): Map unicode char.
33145 (grub_console_checkkey): Wrap efi calls.
33146 (grub_console_getkey): Likewise.
33147 (grub_console_getwh): Likewise.
33148 (grub_console_gotoxy): Likewise.
33149 (grub_console_cls): Likewise.
33150 (grub_console_setcolorstate): Likewise.
33151 (grub_console_setcursor): Likewise.
33152
33153 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
33154
59652a20 331552008-07-16 Pavel Roskin <proski@gnu.org>
33156
ef294055 33157 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
33158 format strings.
33159
59652a20 33160 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
33161 pointer, not an integer. This fixes a warning and prevents
33162 precision loss on 64-bit systems.
33163 (relocate_addresses): Remove unneeded cast.
33164
afc3b5d7 331652008-07-15 Pavel Roskin <proski@gnu.org>
33166
506b2b3e 33167 * kern/i386/ieee1275/init.c: Include grub/cache.h.
33168
62ead89c 33169 * term/ieee1275/ofconsole.c: Disable code unused on i386.
33170
c4cd51d7 33171 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
33172 Fix comparison between signed and unsigned.
33173
0d3d8f28 33174 * include/grub/i386/ieee1275/console.h: Declare
33175 grub_console_init() and grub_console_fini().
33176
8804b286 33177 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
33178 It's empty and unused.
33179
ee01cf35 33180 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
33181 beginning to avoid warnings with some compilers.
33182
afc3b5d7 33183 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
33184 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
33185
e4e8eaa5 331862008-07-14 Pavel Roskin <proski@gnu.org>
33187
407aceb4 33188 * kern/env.c (grub_register_variable_hook): Don't copy empty
33189 string, it leaks memory. Pass "" to grub_env_set(), it should
33190 handle constant strings.
33191
e4e8eaa5 33192 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
33193 * commands/cmp.c (grub_cmd_cmp): Likewise.
33194 * kern/dl.c (grub_dl_flush_cache): Likewise.
33195 (grub_dl_load_core): Likewise.
33196 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
33197 (grub_elf64_load_phdrs): Likewise.
33198
d4e2dad3 331992008-07-13 Pavel Roskin <proski@gnu.org>
33200
33201 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
33202 between signed and unsigned.
33203 (LzmaEnc_Finish): Fix warning about an unused parameter.
33204
aa24b516 332052008-07-13 Bean <bean123ch@gmail.com>
33206
33207 * Makefile.in (enable_lzo): New rule.
33208
33209 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
33210
33211 * configure.ac (ENABLE_LZO): New option --enable-lzo.
33212
33213 * boot/i386/pc/lnxboot.S: #include <config.h>.
33214
33215 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 33216 its value according to the compression algorithm used, lzo or lzma.
aa24b516 33217
33218 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
33219 compression algorithm according to configure macro.
33220
33221 * kern/i386/pc/startup.S (codestart): Likewise.
33222
33223 * kern/i386/pc/lzma_decode.S: New file.
33224
33225 * include/grub/lib/LzFind.h: Likewise.
33226
33227 * include/grub/lib/LzHash.h: Likewise.
33228
33229 * include/grub/lib/LzmaDec.h: Likewise.
33230
33231 * include/grub/lib/LzmaEnc.h: Likewise.
33232
33233 * include/grub/lib/LzmaTypes.h: Likewise.
33234
33235 * lib/LzFind.c: Likewise.
33236
33237 * lib/LzmaDec.c: Likewise.
33238
33239 * lib/LzmaEnc.c: Likewise.
33240
4ae821ac 332412008-07-13 Bean <bean123ch@gmail.com>
33242
33243 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
33244 (grub_ext4_extent_header): New structure.
33245 (grub_ext4_extent): Likewise.
33246 (grub_ext4_extent_idx): Likewise.
33247 (grub_ext4_find_leaf): New function.
33248 (grub_ext2_read_block): Handle extents.
33249
9a745147 332502008-07-12 Robert Millan <rmh@aybabtu.com>
33251
33252 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
33253
d49a4cf6 332542008-07-11 Robert Millan <rmh@aybabtu.com>
33255
33256 * util/grub.d/40_custom.in: New file. Example on how to add custom
33257 entries to /etc/grub.d.
33258 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
33259 40_custom (implicitly, by merging all the grub.d rules).
33260
947414b4 332612008-07-11 Pavel Roskin <proski@gnu.org>
33262
0059cf6f 33263 * commands/read.c (grub_getline): Fix invalid memory access.
33264 Don't add newline to the variable value.
33265
947414b4 33266 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
33267 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
33268 (serial_hw_get_port): Check validity of the port number.
33269 (grub_cmd_serial): Check return value of serial_hw_get_port().
33270
62a02d00 332712008-07-07 Pavel Roskin <proski@gnu.org>
33272
33273 * boot/i386/pc/diskboot.S (notification_string): Replace
33274 "Loading kernel" with just "loading". This is shorter, less
33275 confusing and saves a few bytes for possible future changes.
33276
3e5581b0 332772008-07-05 Pavel Roskin <proski@gnu.org>
33278
ea387a48 33279 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
33280 size for ATAPI devices, they are undefined. Output sector
33281 number in decimal form.
33282
3e5581b0 33283 * disk/ata.c: Use named constants for status bits.
33284
fdecb8fd 332852008-07-04 Pavel Roskin <proski@gnu.org>
33286
bcd35b90 33287 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
33288 grub_addr_t before casting it to the void pointer to fix a
33289 warning. Non-addressable regions are discarded earlier.
33290 (grub_arch_modules_addr): Cast _end to grub_addr_t.
33291 * kern/i386/linuxbios/table.c: Include grub/misc.h.
33292 (check_signature): Don't shadow table_header.
33293 (grub_linuxbios_table_iterate): Cast numeric constants to
33294 grub_linuxbios_table_header_t.
33295 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
33296 grub_stop().
33297
af58ab3d 33298 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
33299 prevent warnings.
33300
1759aa57 33301 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
33302 pointer, which can cause warnings. Support 64-bit addresses.
33303
fdecb8fd 33304 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
33305 of sizeof(long). This fixes PowerPC image generation on x86_64.
33306
8516d2a8 333072008-07-04 Robert Millan <rmh@aybabtu.com>
33308
33309 This fixes a performance issue when pc & gpt partmap iterators
33310 didn't abort iteration even after our hook found what it was
fe987087 33311 looking for (often causing expensive probes of non-existent drives).
8516d2a8 33312
33313 Some callers relied on previous buggy behaviour, since they would
34c44600 33314 raise an error when their own hooks caused early abortion of its
8516d2a8 33315 iteration.
33316
33317 * kern/device.c (grub_device_open): Improve error message.
33318 * disk/lvm.c (grub_lvm_open): Likewise.
33319 * disk/raid.c (grub_raid_open): Likewise.
33320
33321 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
33322 when hook requests it, independently of grub_errno.
33323 (pc_partition_map_probe): Do not fail when find_func() caused
33324 early abortion of pc_partition_map_iterate().
33325
33326 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
33327 when hook requests it, independently of grub_errno.
33328 (gpt_partition_map_probe): Do not fail when find_func() caused
33329 early abortion of gpt_partition_map_iterate().
33330
33331 * kern/partition.c (grub_partition_iterate): Abort parent iteration
33332 when hook requests it, independently of grub_errno. Do not fail when
33333 part_map_iterate_hook() caused early abortion of p->iterate().
33334
33335 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
33336 when grub_partition_iterate() returned with non-zero.
33337
277d0de9 333382008-07-03 Pavel Roskin <proski@gnu.org>
33339
33340 * disk/ata.c (grub_ata_pio_write): Check status before writing,
33341 like we do in grub_ata_pio_read().
33342 (grub_ata_readwrite): Always write individual sectors. Fix the
33343 sector count for the remainder.
33344 (grub_ata_write): Enable writing to ATA devices. Correctly
33345 report error for ATAPI devices.
33346
d4c9b428 333472008-07-02 Pavel Roskin <proski@gnu.org>
33348
e43fc690 33349 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
33350 warning.
33351
f707af42 33352 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
33353 for every read sector, we already increment it for the whole
33354 batch. This fixes reading more than 256 sectors at once.
33355
11e16b15 33356 * util/grub-editenv.c (cmd_info): Cast argument to long
33357 explicitly. ptrdiff_t reduces to int on i386.
33358
cbabfdd4 33359 * util/grub-editenv.c (main): Be specific which parameter is
33360 missing.
33361
b8fbce0a 33362 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
33363 (memdisk): Make memdisk_orig_addr a pointer.
33364
c9c8e606 33365 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
33366 for file offsets, use grub_off_t instead. Fix printf format
33367 warnings.
33368
ca62e598 33369 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
33370 there. Real unexpected warnings should not drown in the noise
33371 about known problems.
33372
ce8d1766 33373 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
33374 grub_disk_addr_t for memory addresses.
33375
00c7a56a 33376 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
33377 explicitly to fix a warning.
33378
08d3ef09 33379 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
33380
cb71ba20 33381 * Makefile.in (MODULE_LDFLAGS): New variable.
33382 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
33383 the linker accepts --build-id=none.
33384 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
33385 MODULE_LDFLAGS.
33386 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
33387
d4c9b428 33388 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
33389 those in Linux XFS code. Provide a way to access 64-bit parent
33390 inode.
33391 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
33392 the end of struct grub_xfs_dir_header.
33393
d4156eee 333942008-07-02 Bean <bean123ch@gmail.com>
33395
33396 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
33397 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33398 and GRUB_IEEE1275_FLAG_NO_ANSI.
33399
33400 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
33401 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33402 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
33403
33404 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
33405 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
33406
33407 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
33408 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
33409
33410 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
33411 esc sequence on non ANSI terminal.
33412 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
33413
33414 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
33415 beginning of file.
33416
2270f77b 334172008-07-02 Bean <bean123ch@gmail.com>
33418
33419 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
33420 (grub_editenv_SOURCES): New variable.
33421 (pkglib_MODULES): Add loadenv.mod.
33422 (loadenv_mod_SOURCES): New variable.
33423 (loadenv_mod_CFLAGS): Likewise.
33424 (loadenv_mod_LDFLAGS): Likewise.
33425
33426 * include/grub/envblk.h: New file.
33427
33428 * util/envblk.c: New file.
33429
33430 * util/grub-editenv.c: New file.
33431
33432 * commands/loadenv.c: New file.
33433
0e9e51ec 334342008-07-01 Pavel Roskin <proski@gnu.org>
33435
d89b7634 33436 * include/multiboot2.h (struct multiboot_tag_module): Use char,
33437 not unsigned char. This fixes warnings and is consistent with
33438 other tags.
33439
bf1835b1 33440 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
33441
8222a04b 33442 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
33443
6a42d99d 33444 * term/tparm.c (analyze): Always set *popcount.
33445
10b159d1 33446 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
33447 cast to fix a warning.
33448
b8789f6c 33449 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
33450 cast to suppress a warning.
33451
29d7e38a 33452 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
33453 grub_fshelp_read_file() expects.
33454
f341f669 33455 * fs/fat.c: Fix UUID calculation on big-endian systems. We
33456 write uuid as a 32-bit value in CPU byte order, so declare and
33457 use it as such.
33458
0e9e51ec 33459 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
33460 long if the format specifier expects it.
33461 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
33462 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33463 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
33464 long to fix a warning.
33465 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
33466 grub_dprintf() arguments to fix warnings.
33467
3aefa857 334682008-06-30 Pavel Roskin <proski@gnu.org>
33469
56c7668b 33470 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
33471 install_bsd_part immediately before core.img is embedded or
33472 modified on disk. This fixes core.img verification if core.img
33473 cannot be embedded.
33474
3aefa857 33475 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
33476 core_path to calculate the blocklist.
33477 Patch from Javier Martín <lordhabbit@gmail.com>
33478
5444088d 334792008-06-29 Robert Millan <rmh@aybabtu.com>
33480
33481 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
33482 block to disk block.
33483 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
33484 Patch from Niels Böhm <bitbucket@arcor.de>
33485
674835c8 334862008-06-29 Robert Millan <rmh@aybabtu.com>
33487
33488 * util/update-grub_lib.in (font_path): Search for fonts in
33489 /boot/grub first, which is more likely to be readable (we aren't
33490 deciding where fonts live, just looking for them).
33491
f527dbc8 334922008-06-26 Pavel Roskin <proski@gnu.org>
33493
6c2d8df6 33494 * util/biosdisk.c (read_device_map): Don't leave dead map
33495 entries for devices failing stat() check.
33496
f527dbc8 33497 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33498 core_path_dev for the core.img path on the target device.
33499
aebe3d13 335002008-06-26 Robert Millan <rmh@aybabtu.com>
33501
33502 * disk/fs_uuid.c: New file.
33503 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33504 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33505 (fs_uuid_mod_LDFLAGS): New variables.
33506 * include/grub/disk.h (grub_disk_dev_id): Add
33507 `GRUB_DISK_DEVICE_UUID_ID'.
33508 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33509 implement iterate().
33510
37aaf354 335112008-06-26 Robert Millan <rmh@aybabtu.com>
33512
33513 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33514 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33515 Linux image includes no initrd.
33516
25ff262a 335172008-06-21 Javier Martín <lordhabbit@gmail.com>
33518
33519 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33520 call to resolve the core image location that effectively appended the
33521 name twice.
33522
76a2bd44 335232008-06-21 Robert Millan <rmh@aybabtu.com>
33524
33525 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33526 call from here ...
33527
33528 * util/grub.d/10_hurd.in: ... to here ...
33529 * util/grub.d/10_linux.in: ... and here.
33530
650e1c79 335312008-06-19 Robert Millan <rmh@aybabtu.com>
33532
fe987087 33533 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 33534 after it has been set by grub_machine_set_prefix().
33535
6ce63911 335362008-06-19 Robert Millan <rmh@aybabtu.com>
33537
33538 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33539 search result when not saving to variable, not the other way around.
33540 When saving to variable, abort iteration as soon as a match is found.
33541
73940cec 335422008-06-19 Robert Millan <rmh@aybabtu.com>
33543
33544 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33545 check for partition that provides /boot/grub. Its logic is flawed,
33546 as it prevents prepare_grub_to_access_device() from being called
33547 multiple times.
33548
3c62a39d 335492008-06-19 Robert Millan <rmh@aybabtu.com>
33550
33551 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33552 "insmod" command directly when abstraction modules are needed,
fe987087 33553 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33554 since it had already been processed).
33555
47395a42 335562008-06-19 Pavel Roskin <proski@gnu.org>
33557
33558 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33559 changed. This is needed in case GRUB_LIBDIR changes.
33560 * conf/i386-ieee1275.rmk: Likewise.
33561 * conf/i386-linuxbios.rmk: Likewise.
33562 * conf/i386-pc.rmk: Likewise.
33563 * conf/powerpc-ieee1275.rmk: Likewise.
33564
a145ac2d 335652008-06-18 Pavel Roskin <proski@gnu.org>
33566
33567 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33568 kernel_elf_symlist.c to symlist.c for consistency with other
33569 architectures. Update all users.
33570 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33571
7847c51e 335722008-06-18 Robert Millan <rmh@aybabtu.com>
33573
33574 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33575 it in prefix.
33576
33577 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33578 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33579 a RAID device, run setup() for all members independently on whether
33580 LVM abstraction is being used.
33581 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33582 If grub-mkimage has set `*install_dos_part == -2', don't override this
33583 value.
33584 Perform *install_dos_part adjustments independently on whether
33585 we're embedding or not.
33586 Clarify error message when image is too big for embedding.
33587 Remove duplicate *install_dos_part stanza.
33588
b23e5644 335892008-06-17 Robert Millan <rmh@aybabtu.com>
33590
33591 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33592 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33593 variables.
33594 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33595 values in grub_ofconsole_normal_color and
33596 grub_ofconsole_highlight_color (they're not directly related to
33597 background and foreground).
33598 (grub_ofconsole_setcolorstate): Extract background and foreground
33599 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33600
0aac2f79 336012008-06-17 Robert Millan <rmh@aybabtu.com>
33602
33603 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33604 /boot/grub for the check in last commit, not /boot (they could be
33605 different partitions).
33606
3cca7ef3 336072008-06-16 Robert Millan <rmh@aybabtu.com>
33608
33609 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33610 asked to setup access for the same partition that provides /boot,
33611 don't bother using UUIDs since our root already has the value we
33612 want.
33613
347396d8 336142008-06-16 Robert Millan <rmh@aybabtu.com>
33615
33616 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33617 I2O devices.
33618 Patch from Sven Mueller <sven@debian.org>.
33619
991477f8 336202008-06-16 Robert Millan <rmh@aybabtu.com>
33621
33622 * util/update-grub.in: Check for $EUID instead of $UID.
33623 Reported by Vincent Zweije.
33624
d31a32a1 336252008-06-16 Bean <bean123ch@gmail.com>
33626
fe987087 33627 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 33628 (grub_ext2_read_block): Likewise.
33629 (grub_ext2_read_inode): Likewise.
33630 (grub_ext2_mount): Likewise.
33631 (grub_ext2_close): Likewise.
33632 (grub_ext3_get_journal): Removed.
33633
fe987087 33634 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 33635 (grub_reiserfs_read_symlink): Likewise.
33636 (grub_reiserfs_mount): Likewise.
33637 (grub_reiserfs_open): Likewise.
33638 (grub_reiserfs_read): Likewise.
33639 (grub_reiserfs_close): Likewise.
33640 (grub_reiserfs_get_journal): Removed.
33641
33642 * fs/fshelp.c (grub_fshelp_read): Removed.
33643 (grub_fshelp_map_block): Likewise.
33644
33645 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33646 (grub_fshelp_journal): Likewise.
33647 (grub_fshelp_read): Likewise.
33648 (grub_fshelp_map_block): Likewise.
33649
3540a760 336502008-06-16 Pavel Roskin <proski@gnu.org>
33651
33652 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33653 floating point anymore.
33654 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33655
95614c84 336562008-06-15 Pavel Roskin <proski@gnu.org>
33657
33658 * commands/ls.c (grub_ls_list_files): Use integer calculations
33659 for human readable format, avoid floating point use.
33660 * kern/misc.c (grub_ftoa): Remove.
33661 (grub_vsprintf): Remove floating point support.
33662
50465dd6 336632008-06-15 Robert Millan <rmh@aybabtu.com>
33664
fe6b695a 33665 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 33666 devices.
33667 Reported by Max Vozeler.
33668
a9207284 336692008-06-15 Robert Millan <rmh@aybabtu.com>
33670
33671 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
33672 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
33673 skipped later.
33674 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
33675 the beginning of the prefix.
33676
33677 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
33678 It is assumed that if we have a memdisk, grub-mkimage has set
33679 grub_prefix to include the "(memdisk)" drive in it.
33680
a7cbd45a 336812008-06-15 Robert Millan <rmh@aybabtu.com>
33682
33683 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
33684 Initialize keyboard controller after registering the terminal, so that
33685 grub_printf() can be called from grub_keyboard_controller_init().
33686
21cf716a 336872008-06-15 Robert Millan <rmh@aybabtu.com>
33688
33689 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
33690 extent-btree which is written as big endian on disk.
33691 Reported by Alain Greppin <al@chilibi.org>.
33692
23a64d8e 336932008-06-14 Robert Millan <rmh@aybabtu.com>
33694
33695 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
33696 * util/i386/pc/grub-install.in (modules): Likewise.
33697
d687651c 336982008-06-13 Pavel Roskin <proski@gnu.org>
33699
33700 * commands/ls.c (grub_ls_list_files): Fix format warnings.
33701
dfe9ddd4 337022008-06-13 Bean <bean123ch@gmail.com>
33703
33704 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
33705
33706 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
33707
33708 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
33709 to indicate sparse block.
33710
16ae7781 337112008-06-12 Pavel Roskin <proski@gnu.org>
33712
e6d1a308 33713 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
33714 number, grub_fshelp_read() does it for us.
33715
16ae7781 33716 * fs/fshelp.c (grub_fshelp_read): New function. Implement
33717 linear disk read with journal translation.
33718 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
33719 * include/grub/fshelp.h: Declare grub_fshelp_read().
33720
40fd3a2b 337212008-06-09 Pavel Roskin <proski@gnu.org>
33722
33723 * fs/minix.c (grub_minix_mount): Handle error reading
33724 superblock.
33725
f5679726 337262008-06-08 Robert Millan <rmh@aybabtu.com>
33727
33728 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
33729 don't append the RAID prefix afterwards.
33730 Reported by Clint Adams.
33731
ce525529 337322008-06-08 Robert Millan <rmh@aybabtu.com>
33733
33734 Based on description from Pavel:
33735 * kern/disk.c (grub_disk_check_range): Rename to ...
33736 (grub_disk_adjust_range): ... this. Add a comment explaining the
33737 tasks performed by this function.
33738
ad4936a0 337392008-06-08 Robert Millan <rmh@aybabtu.com>
33740
33741 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33742 `num_serial' (for consistency with other variables).
33743 (struct grub_ntfs_data): Add `uuid' member.
33744 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33745 (grub_ntfs_uuid): New function.
33746 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33747
dc20b0f9 337482008-06-07 Pavel Roskin <proski@gnu.org>
33749
33750 * util/biosdisk.c (open_device): Revert last change to the
33751 function, it broke installation. The sector needs to be
33752 different dependent on which device is opened.
33753
c5e3cfba 337542008-06-06 Robert Millan <rmh@aybabtu.com>
33755
33756 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33757 rest of GRUB, and breakage doesn't happen if its value were modified.
33758
33759 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33760 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33761 a constant (same value).
33762 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33763 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33764
26a1f8c4 337652008-06-06 Robert Millan <rmh@aybabtu.com>
33766
33767 * util/biosdisk.c (open_device): Do not modify sector offset when
33768 accessing a partition. kern/disk.c already handles this for us.
33769
25d6b327 337702008-06-06 Robert Millan <rmh@aybabtu.com>
33771
33772 * util/grub-emu.c (grub_machine_init): Move code in this function from
33773 here ...
33774 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
33775 segfault in case grub_printf() is called).
33776
33777 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
33778 grub_probe. Update all users not to explicitly add it again.
33779 (grub_device): New variable; contains corresponding device for grubdir.
33780 (fs_module, partmap_module, devabstraction_module): Pass
33781 `--device ${grub_device}' to grub_probe to avoid traversing /dev
33782 every time.
33783
9ece62fb 337842008-06-05 Robert Millan <rmh@aybabtu.com>
33785
33786 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
33787 is found, print it (same layout as with labels).
33788
1ad36d37 337892008-06-04 Robert Millan <rmh@aybabtu.com>
33790
33791 * util/biosdisk.c (get_drive): Rename to ...
33792 (find_grub_drive): ... this. Update all users.
33793
33794 (get_os_disk): Rename to ...
33795 (convert_system_partition_to_system_disk): ... this. Update all users.
33796
33797 (find_drive): Rename to ...
33798 (find_system_device): ... this. Update all users.
33799
e6a30859 338002008-06-04 Robert Millan <rmh@aybabtu.com>
33801
33802 * util/biosdisk.c (get_os_disk): Handle IDA devices.
33803 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33804 (make_device_map): Likewise.
33805
00c108a4 338062008-06-01 Robert Millan <rmh@aybabtu.com>
33807
33808 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
33809 before dereferencing it.
33810
33811 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
33812 union with fat12/fat16-specific ones. Add some new fields, including
33813 `num_serial' for both versions.
33814 (struct grub_fat_data): Add `uuid' member.
33815 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
33816 names. Initialize `data->uuid' using `num_serial'.
33817 (grub_fat_uuid): New function.
33818 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
33819
33820 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
33821 (grub_reiserfs_uuid): New function.
33822 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
33823 member.
33824
33825 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
33826 (grub_xfs_uuid): New function.
33827 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
33828
1385c5bb 338292008-06-01 Robert Millan <rmh@aybabtu.com>
33830
33831 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
33832 code that is backward compatible with pre-uuid search command.
33833
c682dfd7 338342008-05-31 Robert Millan <rmh@aybabtu.com>
33835
33836 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
33837 floppies after everything else, to ensure floppy drive isn't accessed
33838 unnecessarily (patch from Bean).
33839
b7db5d47 338402008-05-31 Robert Millan <rmh@aybabtu.com>
33841
33842 * commands/search.c (search_label, search_fs_uuid, search_file): Do
33843 not print device names when we were asked to set a variable.
33844
6e037aa9 338452008-05-31 Robert Millan <rmh@aybabtu.com>
33846
33847 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
33848 using "cursor-on" and "cursor-off" commands (understood at least by
33849 the Open Firmware flavour on OLPC).
33850
41305bc8 338512008-05-31 Michael Gorven <michael@gorven.za.net>
33852
33853 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
33854 on and off sequences.
33855
69ba137e 338562008-05-31 Robert Millan <rmh@aybabtu.com>
33857
33858 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
33859 * util/update-grub.in: Likewise.
33860
520ae21b 338612008-05-30 Pavel Roskin <proski@gnu.org>
33862
33863 * util/biosdisk.c (linux_find_partition): Simplify logic and
33864 make the code more universal. Keep special processing for
33865 devfs, but use a simple rule for all other devices. If the
33866 device ends with a number, append 'p' and the partition number.
33867 Otherwise, append only the partition number.
33868
5786569b 338692008-05-30 Robert Millan <rmh@aybabtu.com>
33870
33871 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
33872 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
33873 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
33874 the `root' parameter to Linux.
33875
51500452 338762008-05-30 Robert Millan <rmh@aybabtu.com>
33877
33878 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
33879 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
33880 --fs_uuid with --fs-uuid.
33881 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
33882 all filesystems support them).
33883
811d3878 338842008-05-30 Robert Millan <rmh@aybabtu.com>
33885
33886 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 33887 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 33888
cab63c95 338892008-05-30 Robert Millan <rmh@aybabtu.com>
33890
33891 * util/grub.d/00_header.in: Remove obsolete comment referencing
33892 convert_system_path_to_grub_path().
33893 * util/update-grub.in: Likewise.
33894 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
33895 (convert_system_path_to_grub_path): Add a warning message explaining
33896 that this function is deprecated. Rely on is_path_readable_by_grub()
33897 for the readability checks.
33898 (font_path): Use is_path_readable_by_grub() for the readability
33899 check rather than convert_system_path_to_grub_path().
33900
972e2f7a 339012008-05-30 Robert Millan <rmh@aybabtu.com>
33902
33903 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
33904 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
33905 converting it first.
33906 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
33907 grub.cfg for access to font file, and afterwards call it again to set
33908 the root device.
33909
62191274 339102008-05-30 Robert Millan <rmh@aybabtu.com>
33911
33912 * commands/search.c (options): Add --fs_uuid option.
33913 (search_fs_uuid): New function.
33914 (grub_cmd_search): Fix --set argument passing.
33915 Use search_fs_uuid() when requested via --fs_uuid.
33916 (grub_search_init): Update help message.
33917 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
33918 and redeclare it as an array of 16-bit words.
33919 (grub_ext2_uuid): New function.
33920 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
33921 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
33922 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
33923 (GRUB_DEVICE_BOOT_UUID): New variables.
33924 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
33925 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
33926 whenever possible.
33927 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
33928 just assume `root' variable has the right value.
33929 * util/grub.d/10_linux.in: Likewise.
33930 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
33931 via PRINT_FS_UUID.
33932 (main): Recognise `-t fs_uuid' argument.
33933
01b73ec8 339342008-05-30 Robert Millan <rmh@aybabtu.com>
33935
33936 * util/biosdisk.c (map): Redefine structure to hold information
33937 about GRUB drive name.
fe6b695a 33938 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 33939 drive names.
33940 (call_hook): Remove.
33941 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
33942 member. Assume drive has partitions.
33943 (grub_util_biosdisk_open): Access device names via `.device' struct
33944 member.
33945 (open_device): Likewise.
33946 (find_drive): Likewise.
33947 (read_device_map): Adjust map[] usage to match the new struct
33948 definition. Don't check for duplicates (still possible, but not cheap
33949 anymore).
33950 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
33951 (make_device_name): Remove assumption of BIOS-like drive names.
33952
22f16596 339532008-05-30 Pavel Roskin <proski@gnu.org>
33954
33955 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
33956 compiling execute.c doesn't need grub_script.tab.h anymore.
33957 (normal/command.c_DEPENDENCIES): Likewise.
33958 (normal/function.c_DEPENDENCIES): Likewise.
33959 * conf/i386-ieee1275.rmk: Likewise.
33960 * conf/i386-linuxbios.rmk: Likewise.
33961 * conf/i386-pc.rmk: Likewise.
33962 * conf/powerpc-ieee1275.rmk: Likewise.
33963 * conf/sparc64-ieee1275.rmk: Likewise.
33964
528ad8f2 339652008-05-29 Pavel Roskin <proski@gnu.org>
33966
d1dff95d 33967 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
33968 when scanning metadata for volume group name.
33969
528ad8f2 33970 * include/grub/script.h: Don't include grub_script.tab.h. It's
33971 a generated file, which may only be included from the files with
33972 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
33973 use union YYSTYPE, as the later allows forward declaration.
33974 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
33975
47248e08 339762008-05-29 Robert Millan <rmh@aybabtu.com>
33977
33978 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
33979 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
33980 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
33981 (grub_console_checkkey): Add grub_dprintf() call to report unknown
33982 scan codes.
33983
ee632529 339842008-05-29 Robert Millan <rmh@aybabtu.com>
33985
33986 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
33987 control key combinations.
33988
eee96e08 339892008-05-29 Robert Millan <rmh@aybabtu.com>
33990
33991 * util/powerpc/ieee1275/grub-install.in: Move from here ...
33992 * util/ieee1275/grub-install.in: ... to here.
33993 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
33994 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
33995 (grub_install_SOURCES): Likewise.
33996
da9a6a94 339972008-05-29 Robert Millan <rmh@aybabtu.com>
33998
33999 * fs/affs.c: Update copyright year.
34000 * fs/ext2.c: Likewise.
34001 * fs/fshelp.c: Likewise.
34002 * fs/hfsplus.c: Likewise.
34003 * fs/ntfs.c: Likewise.
34004 * fs/xfs.c: Likewise.
34005 * include/grub/fshelp.h: Likewise.
34006 * util/grub-mkdevicemap.c: Likewise.
34007
12e65f3a 340082008-05-28 Robert Millan <rmh@aybabtu.com>
34009
34010 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
34011 might need to be fatfs to support some firmware implementations
34012 (e.g. OFW or EFI).
34013
23023641 340142008-05-28 Robert Millan <rmh@aybabtu.com>
34015
34016 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
34017 devices.
34018 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34019 (make_device_map): Likewise.
34020
887d2619 340212008-05-20 Bean <bean123ch@gmail.com>
34022
34023 * fs/fshelp.c (grub_fshelp_map_block): New function.
34024 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
34025 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
34026
34027 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
34028 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
34029 (grub_fshelp_journal): New structure.
34030 (grub_fshelp_map_block): New function prototype.
34031 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
34032 (grub_fshelp_map_block): Likewise.
34033
34034 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
34035 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
34036 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
34037 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
34038 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
34039 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
34040 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
34041 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
34042 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
34043 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
34044 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
34045 (grub_ext2_sblock): New members for journal support.
34046 (grub_ext3_journal_header): New structure.
34047 (grub_ext3_journal_revoke_header): Likewise.
34048 (grub_ext3_journal_block_tag): Likewise.
34049 (grub_ext3_journal_sblock): Likewise.
34050 (grub_fshelp_node): New members logfile and journal.
34051 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
34052 grub_fshelp_map_block to get real block number.
34053 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
34054 number.
34055 (grub_ext2_read_inode): Likewise.
34056 (grub_ext3_get_journal): New function.
34057 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
34058 (grub_ext2_close): Release memory used by journal.
34059
34060 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
34061 (REISERFS_MAGIC_DESC_BLOCK): New macro.
34062 (grub_reiserfs_transaction_header): Renamed to
34063 grub_reiserfs_description_block, replace field data with real_blocks.
34064 (grub_reiserfs_commit_block): New structure.
34065 (grub_reiserfs_data): New member journal.
34066 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
34067 number.
34068 (grub_reiserfs_read_symlink): Likewise.
34069 (grub_reiserfs_iterate_dir): Likewise.
34070 (grub_reiserfs_open): Likewise.
34071 (grub_reiserfs_read): Likewise.
34072 (grub_reiserfs_get_journal): New function.
34073 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
34074 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
34075 using grub_reiserfs_get_journal.
34076 (grub_reiserfs_close): Release memory used by journal.
34077
34078 * fs/affs.c (grub_affs_read_block): Change block type to
34079 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
34080
34081 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
34082
34083 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
34084
34085 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
34086
34087 * fs/udf.c (grub_udf_read_block): Change block type to
34088 grub_disk_addr_t. Use type cast to avoid warning.
34089
34090 * fs/xfs.c (grub_xfs_read_block): Likewise.
34091
b7c6bed5 340922008-05-16 Christian Franke <franke@computer.org>
34093
34094 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
34095 to ensure that break with ESC will always work.
34096 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
34097 Remove ESC from keyboard queue.
34098
eedf167f 340992008-05-16 Christian Franke <franke@computer.org>
34100
34101 * util/biosdisk.c: [__CYGWIN__] Add includes.
34102 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
34103 (get_os_disk): Move variable declarations to OS specific
34104 parts to avoid warning.
34105 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
34106 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
34107 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
34108 Cygwin.
34109 * util/getroot.c: [__CYGWIN__] Add includes.
34110 (strip_extra_slashes): Fix "/" case.
34111 [__CYGWIN__] (get_win32_path): New function.
34112 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
34113 [__CYGWIN__] (find_root_device): Disable.
34114 [__CYGWIN__] (get_bootsec_serial): New function.
34115 [__CYGWIN__] (find_cygwin_root_device): Likewise.
34116 [__linux__] (grub_guess_root_device): Add early returns to simplify
34117 structure.
34118 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
34119 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
34120 check for Linux only.
34121
a079699e 341222008-05-15 Bean <bean123ch@gmail.com>
34123
34124 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
34125 keyboard hang problem in apple's intel mac.
34126
1cf4059a 341272008-05-09 Robert Millan <rmh@aybabtu.com>
34128
34129 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
34130 devices.
34131 * util/grub-mkdevicemap.c (get_virtio_disk_name)
34132 (make_device_map): Likewise.
34133 Reported by Aurelien Jarno <aurel32@debian.org>
34134
ed759390 341352008-05-07 Ian Campbell <ijc@hellion.org.uk>
34136
34137 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
34138 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
34139 (make_device_map): Output entries for xvd type disks.
34140
b56c4eaa 341412008-05-07 Robert Millan <rmh@aybabtu.com>
34142
34143 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
34144 devices.
34145 * util/grub-mkdevicemap.c (get_cciss_disk_name)
34146 (make_device_map): Likewise.
34147 Reported by Roland Dreier <rdreier@cisco.com>
34148
7f8866ed 341492008-05-07 Robert Millan <rmh@aybabtu.com>
34150
34151 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
34152 grub_strstr() call. Correct a few mistakes in failure path handling.
34153
b0346e0f 341542008-05-06 Robert Millan <rmh@aybabtu.com>
34155
34156 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34157 Do not print a trailing slash (therefore, the root directory is an
34158 empty string).
34159 (convert_system_path_to_grub_path): Do not remove trailing slash
34160 from make_system_path_relative_to_its_root() output.
34161
34162 * util/i386/pc/grub-install.in: Add trailing slash to output from
34163 make_system_path_relative_to_its_root().
34164
6cf12cbd 341652008-05-06 Robert Millan <rmh@aybabtu.com>
34166
34167 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
34168 ensures that output lines aren't intermangled with those sent to
34169 stderr (via grub_util_info()).
34170 * util/grub-probe.c (grub_refresh): Likewise.
34171 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
34172
0fbb3117 341732008-05-05 Christian Franke <franke@computer.org>
34174
34175 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
34176 Add Cygwin device names.
34177 (get_ide_disk_name) [__CYGWIN__]: Likewise.
34178 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
34179 (check_device): Return error instead of success on empty name.
34180 (make_device_map): Move label inside linux specific code to
34181 prevent compiler warning.
34182
8124cdb7 341832008-04-30 Robert Millan <rmh@aybabtu.com>
34184
34185 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
34186 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
34187 first boot option.
34188 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
34189
094c01d0 341902008-04-29 Robert Millan <rmh@aybabtu.com>
34191
34192 * docs/grub.cfg: New file (example GRUB configuration).
34193
f4b1fc02 341942008-04-26 Robert Millan <rmh@aybabtu.com>
34195
329ce2a5 34196 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
34197 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
34198 and `disk/ieee1275/nand.c'.
f4b1fc02 34199
25f16ec1 342002008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 34201
25f16ec1 34202 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
34203 i386-linuxbios.
34204
34205 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
34206 change the buffer size to 4096 for cdrom device.
34207
34208 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
34209 and nand.mod.
34210 (_linux_mod_SOURCES): New variable.
34211 (_linux_mod_CFLAGS): Likewise.
34212 (_linux_mod_LDFLAGS): Likewise.
34213 (linux_mod_SOURCES): Likewise.
34214 (linux_mod_CFLAGS): Likewise.
34215 (linux_mod_LDFLAGS): Likewise.
34216 (nand_mod_SOURCES): Likewise.
34217 (nand_mod_CFLAGS): Likewise.
34218 (nand_mod_LDFLAGS): Likewise.
34219
34220 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
34221 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
34222 type property. (nand device in olpc don't have this property)
34223
34224 * include/grub/disk.h (grub_disk_dev_id): New macro
34225 GRUB_DISK_DEVICE_NAND_ID.
34226
34227 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
34228 function prototype.
34229 (grub_rescue_cmd_initrd): Likewise.
34230
34231 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
34232 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
34233 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 34234
25f16ec1 34235 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
34236 GRUB_MACHINE_IEEE1275 is defined.
34237
34238 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
34239 Use NESTED_FUNC_ATTR attribute on the hook parameter.
34240
34241 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
34242 on nested function heap_init.
34243 (grub_upper_mem): New variable for i386-ieee1275.
34244 (grub_get_extended_memory): New function for i386-ieee1275.
34245 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
34246
34247 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
34248 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
34249 property.
f19dbdb7 34250
25f16ec1 34251 * loader/i386/ieee1275/linux.c: New file.
34252
34253 * loader/i386/ieee1275/linux_normal.c: New file.
34254
34255 * disk/ieee1275/nand.c: New file.
34256
e89d61e9 342572008-04-18 Thomas Schwinge <tschwinge@gnu.org>
34258
34259 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
34260 value.
34261 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
34262
602566f6 342632008-04-18 Robert Millan <rmh@aybabtu.com>
34264
34265 Restructures early code path on ieee1275 to unify grub_main() as
34266 the first C function that is executed in every platform.
34267
34268 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
34269 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
34270 cmain().
34271 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
34272 * kern/ieee1275/cmain.c (cmain): Rename to ...
34273 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
34274 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
34275 at the beginning.
34276
57490c2b 342772008-04-18 Robert Millan <rmh@aybabtu.com>
34278
34279 * util/update-grub.in: Fix syntax error when setting
34280 `GRUB_PRELOAD_MODULES'.
34281 Reported by Stephane Chazelas <stephane@artesyncp.com>
34282
1977517d 342832008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
34284
34285 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
34286 section into account, newer toolchains generate unique build ids
34287 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 34288 we want build ids to be preserved
1977517d 34289 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
34290 far from other sections don't cause the raw binary images grow
34291 size
34292
bfb1f1a2 342932008-04-15 Robert Millan <rmh@aybabtu.com>
34294
34295 * disk/lvm.c: Update copyright year.
34296 * kern/misc.c: Likewise.
34297
01979850 342982008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34299
34300 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 34301 there is no memory left for physical volume name.
01979850 34302
0a1150e2 343032008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34304
34305 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
34306 volume name mapping to support bigger than 9 character names properly.
34307
82ead3fe 343082008-04-13 Robert Millan <rmh@aybabtu.com>
34309
34310 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
34311 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
34312
e54a72f5 343132008-04-13 Christian Franke <franke@computer.org>
34314
34315 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
34316 to create a floppy emulation boot CD when non emulation mode
34317 does not work.
34318 Enable Joliet CD filesystem extension.
34319
9fe86034 343202008-04-13 Robert Millan <rmh@aybabtu.com>
34321
34322 * kern/misc.c (grub_strncat): Fix off-by-one error.
34323 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
34324
34325 * kern/env.c (grub_env_context_close): Clear current context, not
34326 previous one.
34327 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
34328
34329 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
34330
7ceeee39 343312008-04-13 Robert Millan <rmh@aybabtu.com>
34332
34333 Improve robustness when handling LVM.
34334
34335 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 34336 (and leave `*p' unmodified).
7ceeee39 34337 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
34338 through it.
34339 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
34340 iterating through it.
34341 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
34342 through it.
fe6b695a 34343 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 34344 when due) on each grub_lvm_getvalue() or grub_strstr() call.
34345 Don't assume `vg->pvs != NULL' when iterating through it.
34346
58cd3d85 343472008-04-13 Robert Millan <rmh@aybabtu.com>
34348
34349 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
34350 * genmk.rb (partmap): New variable.
34351 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
34352 (#{partmap}): New target rule.
34353 * genpartmaplist.sh: New file.
34354 * Makefile.in (pkglib_DATA): Add partmap.lst.
34355 (partmap.lst): New target rule.
34356 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
34357 modules (including all partition maps), instead of preloading them.
34358
78b51059 343592007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
34360
34361 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
34362 `linux-boot-prober' (if installed) to detect other operating
34363 systems which are installed on the computer and add them to
34364 the boot menu.
34365 * conf/common.rmk: Build and install 30_os-prober.
34366
a91627b4 343672008-04-12 Robert Millan <rmh@aybabtu.com>
34368
34369 * kern/powerpc/ieee1275/init.c: Move from here ...
34370 * kern/ieee1275/init.c: ... to here. Update all users.
34371
34372 * kern/powerpc/ieee1275/cmain.c: Move from here ...
34373 * kern/ieee1275/cmain.c: ... to here. Update all users.
34374
34375 * kern/powerpc/ieee1275/openfw.c: Move from here ...
34376 * kern/ieee1275/openfw.c: ... to here. Update all users.
34377
34378 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
34379 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
34380
322562ea 343812008-04-10 Pavel Roskin <proski@gnu.org>
34382
34383 * configure.ac: Always use "_cv_" in cache variables for
34384 compatibility with Autoconf 2.62.
34385
a02a73c5 343862008-04-07 Robert Millan <rmh@aybabtu.com>
34387
34388 Revert grub/machine/init.h addition by Pavel (since it breaks on
34389 i386-ieee1275 and others):
34390 * util/i386/pc/misc.c: Remove grub/machine/init.h.
34391 * util/powerpc/ieee1275/misc.c: Likewise.
34392
25c024b1 343932008-04-07 Robert Millan <rmh@aybabtu.com>
34394
34395 * util/grub-probe.c (probe): Improve error message.
34396
3cbd2f98 343972008-04-07 Robert Millan <rmh@aybabtu.com>
34398
34399 * util/biosdisk.c (read_device_map): Skip devices that don't exist
34400 (this prevents the presence of a bogus entry from ruining the whole
34401 thing).
34402
87a297bf 344032008-04-06 Pavel Roskin <proski@gnu.org>
34404
36747a62 34405 * util/biosdisk.c: Include grub/util/biosdisk.h.
34406 * util/grub-fstest.c (execute_command): Make static.
34407 * util/grub-mkdevicemap.c (check_device): Likewise.
34408 * util/i386/pc/misc.c: Include grub/machine/init.h.
34409 * util/powerpc/ieee1275/misc.c: Likewise.
34410 * util/lvm.c: Include grub/util/lvm.h.
34411 * util/misc.c: Include grub/kernel.h, grub/misc.h and
34412 grub/cache.h.
34413 * util/raid.c: Include grub/util/raid.h.
34414 (grub_util_getdiskname): Make static.
34415
87a297bf 34416 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
34417 grub_hostfs_fini(), as they are called from grub_init_all() and
34418 grub_fini_all() respectively. This fixes an infinite loop in
34419 grub-fstest due to double registration of hostfs.
34420 Reported by Christian Franke <Christian.Franke@t-online.de>
34421
f6ce7629 344222008-04-05 Pavel Roskin <proski@gnu.org>
34423
34424 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
34425 all 8 functions. Otherwise, probe function 0 only.
34426
070e49e4 344272008-04-04 Pavel Roskin <proski@gnu.org>
34428
8b088a4c 34429 * commands/lspci.c (grub_lspci_iter): Print the bus number
34430 correctly.
34431
4f657021 34432 * commands/lspci.c (grub_pci_classes): Fix typos.
34433 (grub_lspci_iter): Don't print func twice. Print vendor ID
34434 before device ID, as it's normally done.
34435
070e49e4 34436 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34437 Fix signedness warnings.
34438 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
34439 Likewise.
34440 * util/ieee1275/get_disk_name.c: Include config.h so that
34441 _GNU_SOURCE is defined and getline() is declared. Mark an
34442 unused argument as such. Fix a signedness warning.
34443
ba7328dc 344442008-04-02 Pavel Roskin <proski@gnu.org>
34445
26887f22 34446 * genkernsyms.sh.in: Use more robust assignments for CC and
34447 srcdir. Quote srcdir.
34448 * gensymlist.sh.in: Likewise. Assert at the compile time that
34449 the symbol table is not empty.
34450
ba7328dc 34451 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
34452 * fs/cpio.c (grub_cpio_read): Likewise.
34453
0f582c6b 344542008-04-01 Pavel Roskin <proski@gnu.org>
34455
4b6e1995 34456 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
34457 * disk/host.c (grub_host_open): Likewise.
34458 * disk/loopback.c (grub_loopback_open): Likewise.
34459 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
34460 disk->id as in disk/host.c, not a multi-character constant.
34461
828a2768 34462 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
34463 later is obsolete, potentially dangerous and sets a bad example.
34464 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
34465 * util/misc.c (grub_util_get_image_size): Likewise.
34466
2bb4fb47 34467 * disk/loopback.c (options): Improve help for "--partitions".
34468
0f582c6b 34469 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
34470 options to align them with the short options, e.g. "echo -e".
34471
a33224e0 344722008-03-31 Bean <bean123ch@gmail.com>
34473
34474 * video/reader/png.c (grub_png_data): New member is_16bit and
34475 image_data.
34476 (grub_png_decode_image_header): Detect 16 bit png image.
34477 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
34478 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
34479 (grub_video_reader_png): Release memory occupied by image_data.
34480
34481 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
34482 4096 bytes.
34483 (grub_nfs_mount): Skip the test for sector per cluster.
34484
34485 * include/grub/ntfs.h (MAX_SPC): Removed.
34486
86cb4f54 344872008-03-31 Bean <bean123ch@gmail.com>
34488
34489 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34490 (grub_probe_SOURCES): Add fs/afs.c.
34491 (grub_fstest_SOURCES): Likewise.
34492 (afs_mod_SOURCES): New variable.
34493 (afs_mod_CFLAGS): Likewise.
34494 (afs_mod_LDFLAGS): Likewise.
34495
34496 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34497 (grub_emu_SOURCES): Likewise.
34498
34499 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34500
34501 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34502
34503 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34504
34505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34506
34507 * fs/afs.c: New file.
34508
17c74c21 345092008-03-30 Pavel Roskin <proski@gnu.org>
34510
4cb68e89 34511 * disk/host.c: Include grub/misc.h to fix a warning.
34512 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34513 warnings about implicit declarations.
34514
8790bb04 34515 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34516 variable.
34517 * include/grub/i386/loader.h: Change declaration of
34518 grub_linux_boot() to match what grub_loader_set() expects.
34519 * util/getroot.c (grub_guess_root_device): Return const char* to
34520 fix a warning.
34521 * util/grub-probe.c (probe): Fix a warning about uninitialized
34522 abstraction_name variable.
34523 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34524 second argument as unused to fix a warning.
34525
9a3f3296 34526 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34527 missing grub_error() call.
34528
0ecef90d 34529 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34530 2.60 and newer uses it to define datadir.
34531
0bf6d401 34532 * commands/sleep.c: Fix warning about implicit declaration.
34533 * disk/memdisk.c: Likewise.
34534 * loader/aout.c: Likewise.
34535 * loader/i386/bsd_normal.c: Likewise.
34536 * util/grub-probe.c: Likewise.
34537
7cdacf97 34538 * commands/i386/cpuid.c (has_longmode): Make static.
34539 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34540 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34541
17c74c21 34542 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34543 GDT. This is more robust, as %ds can change.
34544 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34545 calling real_to_prot().
34546 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34547
80a3e68b 345482008-03-28 Pavel Roskin <proski@gnu.org>
34549
34550 * kern/i386/pc/startup.S: Assert that uncompressed functions
34551 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34552 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34553 code, as they push parts of the code (error handlers) beyond
34554 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34555 code as correctness and size.
34556
77bcd272 345572008-03-28 Pavel Roskin <proski@gnu.org>
34558
34559 * kern/i386/pc/startup.S
34560 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34561 data block address to the real mode, keep offset minimal. This
34562 works around a bug in AWARD BIOS on old Athlon systems, which
34563 makes CD detection hang.
34564
c5dfd43b 345652008-03-26 Pavel Roskin <proski@gnu.org>
34566
34567 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34568 const.
34569 * include/grub/normal.h: Add grub_parse_color_name_pair()
34570 declaration.
34571
bf962df2 345722008-03-24 Bean <bean123ch@gmail.com>
34573
34574 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34575 (cd_count): Removed.
34576 (cd_drive): New variable.
34577 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34578 (grub_biosdisk_call_hook): Likewise.
34579 (grub_biosdisk_iterate): Change cdrom detection method.
34580 (grub_biosdisk_open): Replace cd_start with cd_drive.
34581 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34582 detect cdrom device.
34583
34584 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34585 Removed.
34586 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34587 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34588 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34589 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34590 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34591 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34592 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34593 (grub_biosdisk_cdrp): New structure.
34594 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34595
34596 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34597
34598 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34599 device.
34600
34601 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34602 New function.
34603
68e7fc7a 346042008-03-20 Robert Millan <rmh@aybabtu.com>
34605
34606 Remove 2 TiB limit in ata.mod.
34607 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34608 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34609 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34610 grub_uint64_t instead of grub_uint32_t.
34611
38ad2cf5 346122008-03-05 Bean <bean123ch@gmail.com>
34613
34614 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34615 (grub_multiboot): Set boot device.
34616
34617 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34618
2b89344e 346192008-03-02 Bean <bean123ch@gmail.com>
34620
34621 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34622 symlink_buffer.
34623
87a95d1f 346242008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34625
34626 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34627 texinfo.tex.
34628
34629 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34630 modified.
34631
34632 * docs/fdl.texi: New file.
f19dbdb7 34633
87a95d1f 34634 * docs/mdate-sh: New file. Copied from gnulib.
34635 * docs/texinfo.tex: Likewise.
34636
34637 * config.guess: Updated from gnulib.
34638 * install-sh: Likewise.
34639
7dc15d8e 346402008-02-28 Robert Millan <rmh@aybabtu.com>
34641
34642 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34643 (aout_mod_SOURCES): New variable.
34644 (aout_mod_CFLAGS): Likewise.
34645 (aout_mod_LDFLAGS): Likewise.
34646
34647 * conf/i386-ieee1275.rmk: Likewise.
34648
b00ab696 346492008-02-28 Robert Millan <rmh@aybabtu.com>
34650
34651 * util/update-grub.in: Reorganise terminal validity check. Accept
34652 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34653 Based on suggestion by Franklin PIAT.
34654
79ca2d78 346552008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34656
34657 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
34658 function.
34659 * util/getroot.c (grub_util_check_block_device): New function that
34660 returns the given argument if it is a block device and returns NULL else.
34661 * util/grub-probe.c (argument_is_device): New variable.
34662 (probe): Promote device_name from a variable to an argument. Receive
34663 device_name from grub_util_check_block_device() if path is NULL and from
34664 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 34665 (options): Introduce new parameter '-d, --device'.
79ca2d78 34666 (main): Add description of the new parameter to the help screen.
34667 Rename path variable to argument. Set argument_is_device if the '-d'
34668 option is given. Pass argument to probe() depending on
34669 argument_is_device.
34670
0d16e571 346712008-02-24 Bean <bean123ch@gmail.com>
34672
34673 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
34674 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
34675 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
34676 (GRUB_ISO9660_VOLDESC_PART): Likewise.
34677 (GRUB_ISO9660_VOLDESC_END): Likewise.
34678 (grub_iso9660_primary_voldesc): New member escape.
34679 (grub_iso9660_data): New member joliet.
34680 (grub_iso9660_convert_string): New function.
34681 (grub_iso9660_mount): Detect joliet extension.
34682 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
34683 (grub_iso9660_iso9660_label): Likewise.
34684
34685 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
34686 (grub_setup_SOURCES): Add fs/udf.c.
34687 (grub_fstest_SOURCES): Likewise.
34688 (udf_mod_SOURCES): New variable.
34689 (udf_mod_CFLAGS): Likewise.
34690 (udf_mod_LDFLAGS): Likewise.
34691
34692 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
34693 (grub_emu_SOURCES): Likewise.
34694
34695 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34696
34697 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34698
34699 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34700
34701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34702
34703 * fs/udf.c: New file.
34704
8a594a17 347052008-02-24 Robert Millan <rmh@aybabtu.com>
34706
34707 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
34708 (normal/lexer.c_DEPENDENCIES): New variables.
34709 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34710 (normal/lexer.c_DEPENDENCIES): Likewise.
34711 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
34712 (normal/lexer.c_DEPENDENCIES): Likewise.
34713 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
34714 (normal/lexer.c_DEPENDENCIES): Likewise.
34715 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34716 (normal/lexer.c_DEPENDENCIES): Likewise.
34717 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34718 (normal/lexer.c_DEPENDENCIES): Likewise.
34719
2dc33c03 347202008-02-23 Robert Millan <rmh@aybabtu.com>
34721
34722 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
34723 since they were intended to be in hex. This didn't break previously
34724 because of a bug in gpt_partition_map_iterate() (see below).
34725
34726 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
34727 when checking the validity of GPT header.
34728 Remove `partno', since it always provides the same information as `i'.
34729
f6f4cfb0 347302008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
34731
34732 * include/grub/efi/time.h: Fix a wrong comment.
34733
79ff665f 347342008-02-19 Pavel Roskin <proski@gnu.org>
34735
34736 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
34737 message.
34738
d38e24c2 347392008-02-19 Bean <bean123ch@gmail.com>
34740
34741 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34742 (aout_mod_SOURCES): New variable.
34743 (aout_mod_CFLAGS): Likewise.
34744 (aout_mod_LDFLAGS): Likewise.
34745 (_bsd_mod_SOURCES): New variable.
34746 (_bsd_mod_CFLAGS): Likewise.
34747 (_bsd_mod_LDFLAGS): Likewise.
34748 (bsd_mod_SOURCES): New variable.
34749 (bsd_mod_CFLAGS): Likewise.
34750 (bsd_mod_LDFLAGS): Likewise.
34751
34752 * include/grub/aout.h: New file.
34753
34754 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34755
34756 * include/grub/i386/bsd.h: New file.
34757
34758 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34759 to make it public.
34760
34761 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34762 function is called, so that it's possible to change it inside the hook.
34763 (grub_elf64_load): Likewise.
34764 (grub_elf_file): Don't close the file if elf header is not found.
34765 (grub_elf_close): Close the file if grub_elf_file fails (The new
34766 grub_elf_file won't close it).
34767 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
34768 (grub_elf64_size): Likewise.
34769
34770 * kern/i386/loader.S (grub_unix_real_boot): New function.
34771
34772 * loader/aout.c: New file.
34773
34774 * loader/i386/bsd.c: New file.
34775
34776 * loader/i386/bsd_normal.c: New file.
34777
34778 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
34779
34780 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 34781 can test other formats.
d38e24c2 34782
b93bdb0f 347832008-02-19 Robert Millan <rmh@aybabtu.com>
34784
34785 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
34786 (grub_gpt_partition_type_empty): Redefine with macro from
34787 `<grub/gpt_partition.h>'.
34788 (gpt_partition_map_iterate): Adjust partition type comparison.
34789
34790 Export `entry' as partmap-specific `part.data' struct.
34791 (grub_gpt_header, grub_gpt_partentry): Move from here ...
34792
34793 * include/grub/gpt_partition.h (grub_gpt_header)
34794 (grub_gpt_partentry): ... to here (new file).
34795
34796 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
34797
34798 (grub_gpt_partition_type_bios_boot): New const variable, defined
34799 with macro from `<grub/gpt_partition.h>'.
34800
34801 (setup): Replace `first_start' with `embed_region', which keeps
34802 track of the embed region (and is partmap-agnostic).
34803
34804 Replace find_first_partition_start() with find_usable_region(),
34805 which finds a usable region for embedding using partmap-specific
34806 knowledge (supports PC/MSDOS and GPT).
34807
34808 Fix all assumptions that the embed region start at sector 1, using
34809 `embed_region.start' from now on. Similarly, use `embed_region.end'
34810 rather than `first_start' to calculate available size.
34811
34812 In grub_util_info() message, replace "into after the MBR" with an
34813 indication of the specific sector our embed region starts at.
34814
66cb40f6 348152008-02-19 Robert Millan <rmh@aybabtu.com>
34816
34817 * DISTLIST: Replace `commands/ieee1275/halt.c' and
34818 `commands/ieee1275/reboot.c' with `commands/halt.c' and
34819 `commands/reboot.c'.
34820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34821 (halt_mod_SOURCES): Likewise.
34822 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34823 (halt_mod_SOURCES): Likewise.
34824
b7202015 348252008-02-17 Christian Franke <franke@computer.org>
34826
34827 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
34828
32b0fc49 348292008-02-17 Robert Millan <rmh@aybabtu.com>
34830
34831 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34832 set `first_start' to 0 for non-PC/MSDOS partition maps.
34833
aca63502 348342008-02-16 Robert Millan <rmh@aybabtu.com>
34835
34836 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34837 do not assume partition map is PC/MSDOS before performing checks that
34838 are specific to that layout.
34839
0de8be86 348402008-02-13 Robert Millan <rmh@aybabtu.com>
34841
34842 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
34843 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
34844 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
34845
c3db8364 348462008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
34847
34848 * configure.ac: Only a cosmetic change on the handling of
34849 -fno-stack-protector.
34850
f714229e 348512008-02-12 Alexandre Boeglin <alex@boeglin.org>
34852
c3db8364 34853 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
34854 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
34855 reboot.c.
f714229e 34856 (grub_install_SOURCES): Add halt.mod and reboot.mod.
34857 (halt_mod_SOURCES): New variable.
34858 (halt_mod_CFLAGS): Likewise.
34859 (halt_mod_LDFLAGS): Likewise.
34860 (reboot_mod_SOURCES): Likewise.
34861 (reboot_mod_CFLAGS): Likewise.
34862 (reboot_mod_LDFLAGS): Likewise.
34863
c3db8364 34864 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
34865 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
34866 reboot.c.
f714229e 34867 (halt_mod_SOURCES): Likewise.
34868 (reboot_mod_SOURCES): Likewise.
34869
c3db8364 34870 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
34871 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 34872 (reboot_mod_SOURCES): Likewise.
34873
34874 * commands/i386/pc/reboot.c: merge this file ...
34875
34876 * commands/ieee1275/reboot.c: ... and this file ...
34877
34878 * commands/reboot.c: ... to this file.
c3db8364 34879 Add some precompiler directive to include the correct header for
34880 each machine.
f714229e 34881
34882 * commands/ieee1275/halt.c: move this file ...
34883
34884 * commands/halt.c: ... to here.
c3db8364 34885 Add some precompiler directive to include the correct header for
34886 each machine.
f714229e 34887
34888 * include/grub/efi/efi.h (grub_reboot): New function declaration.
34889 (grub_halt): Likewise.
34890
34891 * kern/efi/efi.c (grub_reboot): New function.
34892 (grub_halt): Likewise.
34893
c74493e0 348942008-02-12 Robert Millan <rmh@aybabtu.com>
34895
34896 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
34897 /dev (like it is done for /dev/mapper). This doesn't provide support
34898 for EVMS, but at least it is now easy to identify the problem when it
34899 arises.
34900
d0db4b04 349012008-02-11 Robert Millan <rmh@aybabtu.com>
34902
34903 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
34904 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
34905 comparing it with -1, not 0.
34906
bf748642 349072008-02-10 Robert Millan <rmh@aybabtu.com>
34908
34909 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
34910 `disk/lvm.c'.
34911 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34912 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34913
34914 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
34915 `disk/lvm.c' to the end of the list.
34916 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34917 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34918
b5db202a 349192008-02-10 Robert Millan <rmh@aybabtu.com>
34920
34921 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
34922 grub_print_error() instead. This will let user know why we're entering
34923 rescue mode.
34924 Based on suggestions from Sam Morris.
34925
83abee31 349262008-02-10 Alexandre Boeglin <alex@boeglin.org>
34927
34928 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
34929 on remaining N args, instead of "--" arg N times.
34930
78d5a08b 349312008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
34932
34933 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
34934 (fill_with_default_glyph): Changed to use unknown_glyph for fill
34935 pattern for unknown glyphs.
34936
68807e5f 349372008-02-09 Robert Millan <rmh@aybabtu.com>
34938
34939 * configure.ac: Probe for `help2man'.
34940 * Makefile.in (builddir): New variable.
34941 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
34942 or otherwise add a few flags/options to it.
34943 (install-local): For every executable utility or script that is
34944 installed, invoke $(HELP2MAN) to install a manpage based on --help
34945 output.
34946
34947 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
34948 that it doesn't prevent --help from working in build tree.
34949
34950 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
34951 with `bug-grub@gnu.org'.
34952 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
34953 * util/update-grub.in (usage): New function.
34954 Implement proper argument check, with support for --help and --version
34955 (as well as existing -y).
34956
349572008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 34958
34959 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
34960 avoid overwriting previous output.
34961 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
34962
c1962162 349632008-02-09 Robert Millan <rmh@aybabtu.com>
34964
34965 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
34966 drawing the menu.
34967
3dac2e3f 349682008-02-09 Robert Millan <rmh@aybabtu.com>
34969
34970 * commands/sleep.c: New file.
34971 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
34972 (sleep_mod_SOURCES): New variable.
34973 (sleep_mod_CFLAGS): Likewise.
34974 (sleep_mod_LDFLAGS): Likewise.
34975
7a634e08 349762008-02-09 Robert Millan <rmh@aybabtu.com>
34977
34978 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
34979 situations in which we can deduce the RAID size and the superblock
34980 doesn't match it.
34981
b92f0c18 349822008-02-09 Robert Millan <rmh@aybabtu.com>
34983
34984 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
34985 and return a grub_diskmemberlist_t composed of LVM physical volumes.
34986 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
34987
34988 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
34989 and return a grub_diskmemberlist_t composed of physical array members.
34990 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
34991
34992 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
34993 prototype.
34994 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
34995 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
34996 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
34997
34998 * util/grub-probe.c (probe): Move partmap probing code from here ...
34999 (probe_partmap): ... to here.
35000 (probe): Use probe_partmap() once for the disk we're probing, and
35001 additionally, when such disk contains a memberlist() struct member,
35002 once for each disk that is contained in the structure returned by
35003 memberlist().
35004
91a4bf68 350052008-02-09 Robert Millan <rmh@aybabtu.com>
35006
35007 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
35008 environment variable to 'all' in order to obtain debug output from
35009 non-util/ code.
35010 * util/i386/pc/grub-setup.c (main): Likewise.
35011
a96f9caa 350122008-02-08 Robert Millan <rmh@aybabtu.com>
35013
35014 * disk/raid.c (grub_raid_scan_device): Check for
35015 `array->device[sb.this_disk.number]' rather than for
35016 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 35017 guaranteed to be accessible.
a96f9caa 35018
b37a9222 350192008-02-08 Robert Millan <rmh@aybabtu.com>
35020
35021 * disk/raid.c: Update copyright.
35022 * fs/cpio.c: Likewise.
35023 * include/grub/raid.h: Likewise.
35024 * loader/i386/pc/multiboot.c: Likewise.
35025 * util/hostfs.c: Likewise.
35026
5626aee1 350272008-02-08 Robert Millan <rmh@aybabtu.com>
35028
35029 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
35030 to a grub_disk_t array.
35031 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
35032 `device[x]'.
35033 (grub_raid_scan_device): Replace `device[x].name' accesses with
35034 `device[x]->name'. Simplify initialization of `array->device[x]'.
35035
554f0187 350362008-02-08 Robert Millan <rmh@aybabtu.com>
35037
35038 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
35039 grub_dprintf() calls.
35040 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
35041 error message.
35042
1ec8425d 350432008-02-07 Christian Franke <franke@computer.org>
35044
35045 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
35046 instead of fseek and ftell to support large files.
35047 (grub_hostfs_read): Likewise.
35048
f2156fda 350492008-02-07 Robert Millan <rmh@aybabtu.com>
35050
35051 Patch from Jeroen Dekkers.
35052 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 35053 failure, since successfully reading all array members might not be
f2156fda 35054 required.
35055
9216e0e7 350562008-02-06 Robert Millan <rmh@aybabtu.com>
35057
35058 * util/grub-probe.c (probe): Simplify partmap probing (with the
35059 assumption that the first word up to the underscore equals to
35060 the module name).
35061
b0dfd29a 350622008-02-06 Christian Franke <franke@computer.org>
35063
35064 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
35065 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
35066 last block of a cpio or tar stream.
35067 Check for "TRAILER!!!" instead of any empty data
35068 block to detect last block of a cpio stream.
35069 (grub_cpio_dir): Fix constness of variable np.
35070 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
35071 cpio or tar trailer is detected. This fixes a crash
35072 on open of a non existing file.
35073
c32865bf 350742008-02-05 Bean <bean123ch@gmail.com>
35075
35076 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
35077 address of entry.
35078 (grub_multiboot_load_elf64): Likewise.
35079 (grub_multiboot): Initialize mbi structure.
35080
35081 * util/grub-fstest.c: Don't include unused header file script.h.
35082
fe6b695a 35083 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 35084 of file.
35085 (grub_fstest_SOURCES): Likewise.
35086
409480b7 350872008-02-05 Robert Millan <rmh@aybabtu.com>
35088
35089 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
35090 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
35091 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
35092 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
35093
35094 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
35095 (translation_table): Replace hardcoded values with macros
35096 provided by `<grub/term.h>'.
35097
35098 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
35099 (keyboard_map): Correct/add a few values, with macros provided
35100 by `<grub/term.h>'.
35101 (keyboard_map_shift): Zero values that don't differ from their
35102 `keyboard_map' equivalents.
35103 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
35104 Discard the second scan code that is always sent by Caps lock.
35105 Only use `keyboard_map_shift' when it provides a non-zero value,
35106 otherwise fallback to `keyboard_map'.
35107
99fadbaa 351082008-02-04 Bean <bean123ch@gmail.com>
35109
35110 * Makefile.in (enable_grub_fstest): New variable.
35111
35112 * conf/common.rmk (grub_fstest_init.lst): New rule.
35113 (grub_fstest_init.h): Likewise.
35114 (grub_fstest_init.c): Likewise.
35115 (util/grub-fstest.c_DEPENDENCIES): New variable.
35116 (grub_fstest_SOURCES): Likewise.
35117
35118 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
35119
35120 * util/grub-fstest.c: New file.
35121
bf567c50 351222008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35123
35124 Make grub-setup handle a separate root device.
f19dbdb7 35125
bf567c50 35126 * util/i386/pc/grub-setup.c (setup): Always open the root device,
35127 so that the root device can be compared with the destination
35128 device.
35129 When embedding the core image, if the root and destination devices
35130 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
35131 0xFF.
35132 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 35133
9be6b98b 351342008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35135
35136 Add support for having a grub directory in a different drive. This
35137 is still only the data handling part.
f19dbdb7 35138
9be6b98b 35139 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
35140 (codestart): Save %dh in GRUB_ROOT_DRIVE.
35141 (grub_root_drive): New variable.
35142
35143 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
35144 instead of GRUB_BOOT_DRIVE to construct a device name. Set
35145 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
35146 as it was.
35147
35148 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
35149
35150 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
35151 macro.
35152 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
35153
35154 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
35155 is bogus, because PXE booting does not specify any drive
35156 correctly.
35157
35158 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
35159 am not sure if this is really correct.
35160
35161 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
35162 is always identical to the boot drive when booting from a CD.
35163
35164 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
35165 longer.
35166 (root_drive): New variable.
35167 (real_start): Unconditionally set %dh to ROOT_DRIVE.
35168 (setup_sectors): Push %dx right after popping it, because %dh will
35169 be modified later.
35170 (copy_buffer): Restore %dx.
35171
e0ca0677 351722008-02-03 Robert Millan <rmh@aybabtu.com>
35173
35174 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
35175 use `cdboot.img' for cdrom images.
35176
3b3f6629 351772008-02-03 Robert Millan <rmh@aybabtu.com>
35178
35179 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
35180 only setup gfxterm when `font' command has succeeded.
35181
d42b3672 351822008-02-03 Robert Millan <rmh@aybabtu.com>
35183
35184 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
35185 (grub_rescue_cmd_multiboot_loader)
35186 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
35187
fa370ea6 351882008-02-03 Pavel Roskin <proski@gnu.org>
35189
e0c5dacb 35190 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 35191 %edx and %esi from stack only after grub_gate_a20() is called.
35192 grub_gate_a20() clobbers %edx.
35193
f2a76e1d 351942008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35195
35196 * configure.ac (AC_INIT): Bumped to 1.96.
35197
35198 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
35199 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
35200 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
35201 video/readers/png.c.
35202
90fd32d1 352032008-02-03 Bean <bean123ch@gmail.com>
9be665dd 35204
35205 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
35206 (cdboot_img_SOURCES): New variable.
35207 (cdboot_img_ASFLAGS): New variable.
35208 (cdboot_img_LDFLAGS): New variable.
35209
35210 * boot/i386/pc/cdboot.S: New file.
35211
35212 * disk/i386/pc/biosdisk.c (cd_start): New variable.
35213 (cd_count): Likewise.
35214 (grub_biosdisk_get_drive): Add support for cd device.
35215 (grub_biosdisk_call_hook): Likewise.
35216 (grub_biosdisk_iterate): Likewise.
35217 (grub_biosdisk_open): Likewise.
35218 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
35219 (grub_biosdisk_rw): Support reading from cd device.
35220 (GRUB_MOD_INIT): Iterate cd devices.
35221
35222 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
35223 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
35224 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
35225
35226 * kern/i386/pc/init.c (make_install_device): Check for cd device.
35227
4020aa53 352282008-02-02 Robert Millan <rmh@aybabtu.com>
35229
35230 * commands/read.c: New file.
35231 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
35232 (read_mod_SOURCES): New variable.
35233 (read_mod_CFLAGS): Likewise.
35234 (read_mod_LDFLAGS): Likewise.
35235
e03a1132 352362008-02-02 Robert Millan <rmh@aybabtu.com>
35237
35238 * normal/main.c (grub_normal_execute): Check for `menu->size' when
35239 determining whether menu has to be displayed.
35240
58c69220 352412008-02-02 Marco Gerards <marco@gnu.org>
35242
35243 * bus/pci.c: New file.
35244
35245 * include/grub/pci.h: Likewise.
35246
35247 * include/grub/i386/pc/pci.h: Likewise.
35248
35249 * commands/lspci.c: Likewise.
35250
35251 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
35252 `lspci.mod'.
35253 (pci_mod_SOURCES): New variable.
35254 (pci_mod_CFLAGS): Likewise.
35255 (pci_mod_LDFLAGS): Likewise.
35256 (lspci_mod_SOURCES): Likewise.
35257 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 35258 (lspci_mod_LDFLAGS): Likewise.
58c69220 35259
c004e1b4 352602008-02-02 Bean <bean123ch@gmail.com>
35261
35262 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
35263 (grub_ufs_get_file_block): Fix indirect block calculation problem.
35264
35265 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
35266 (grub_xfs_btree_node): New structure.
35267 (grub_xfs_btree_root): New structure.
35268 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
35269 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
35270 (GRUB_XFS_EXTENT_BLOCK): Likewise.
35271 (GRUB_XFS_EXTENT_SIZE): Likewise.
35272 (grub_xfs_read_block): Support btree format type.
35273 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
35274 Use directory block as basic unit.
35275
35276 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
35277
35278 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
35279 __attribute__ ((__regparm__ (1))).
35280
f95562bf 352812008-02-01 Robert Millan <rmh@aybabtu.com>
35282
35283 Correct a mistake in previous commit.
35284
35285 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
35286 top.
35287 (normal/command.c_DEPENDENCIES): New variable.
35288
7d31f41f 352892008-02-01 Robert Millan <rmh@aybabtu.com>
35290
35291 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
35292 top.
35293 (normal/command.c_DEPENDENCIES): New variable.
35294 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
35295 * conf/i386-ieee1275.rmk: Likewise.
35296 * conf/i386-linuxbios.rmk: Likewise.
35297 * conf/i386-pc.rmk: Likewise.
35298 * conf/sparc64-ieee1275.rmk: Likewise.
35299 * conf/powerpc-ieee1275.rmk: Likewise.
35300 (grub_emu_SOURCES): Add `fs/fshelp.c'.
35301
35302 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
35303
60b6be74 353042008-02-01 Robert Millan <rmh@aybabtu.com>
35305
35306 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
35307 call at beginning of function.
35308
078522ab 353092008-01-31 Pavel Roskin <proski@gnu.org>
35310
35311 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 35312 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
35313 (grub_mkrescue_SOURCES): Likewise.
078522ab 35314 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
35315
ccaa8a5f 353162008-01-30 Robert Millan <rmh@aybabtu.com>
35317
35318 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
35319 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
35320 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
35321 (grub_probe_SOURCES): ... to here.
35322
35323 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
35324 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
35325 * conf/i386-ieee1275.rmk: Likewise.
35326 * conf/i386-linuxbios.rmk: Likewise.
35327 * conf/powerpc-ieee1275.rmk: Likewise.
35328
ae5a9cd7 353292008-01-30 Tristan Gingold <gingold@free.fr>
35330
35331 * kern/rescue.c: Silently accept empty lines.
35332
70bc2ef2 353332008-01-29 Bean <bean123ch@gmail.com>
35334
35335 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
35336 (real_code_2): Code cleanup and change comment style.
35337 (move_memory): Avoid using 32-bit address mode.
35338
6a4d50ea 353392008-01-29 Bean <bean123ch@gmail.com>
35340
35341 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
35342 (png_mod_SOURCES): New variable.
35343 (png_mod_CFLAGS): Likewise.
35344 (png_mod_LDFLAGS): Likewise.
35345
35346 * video/readers/png.c: New file.
35347
11cc30ac 353482008-01-28 Robert Millan <rmh@aybabtu.com>
35349
35350 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
35351 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
35352 `ifndef GRUB_MOD_GAP' hack.
35353 * util/elf/grub-mkimage.c (add_segments): Likewise.
35354
3abc589f 353552008-01-27 Robert Millan <rmh@aybabtu.com>
35356
35357 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
35358 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 35359 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 35360
e1907778 353612008-01-27 Robert Millan <rmh@aybabtu.com>
35362
35363 Get grub-emu to build again (including parallel builds).
35364
35365 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
35366 Split into ...
35367 (util/grub-emu.c_DEPENDENCIES): ... this, ...
35368 (normal/execute.c_DEPENDENCIES): ... this, ...
35369 (grub-emu_DEPENDENCIES): ... and this.
35370
35371 * conf/i386-efi.rmk: Likewise.
35372 * conf/i386-linuxbios.rmk: Likewise.
35373 * conf/i386-ieee1275.rmk: Likewise.
35374 * conf/powerpc-ieee1275.rmk: Likewise.
35375 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
35376
2216b101 353772008-01-27 Robert Millan <rmh@aybabtu.com>
35378
35379 * NEWS: Add a few items.
35380
f75172d9 353812008-01-27 Robert Millan <rmh@aybabtu.com>
35382
35383 Fix parallel builds with grub-emu. Based on earlier commit for
35384 grub-probe and grub-setup.
35385
35386 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35387 (util/grub-emu.c_DEPENDENCIES): ... this.
35388 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35389 (util/grub-emu.c_DEPENDENCIES): ... this.
35390 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35391 (util/grub-emu.c_DEPENDENCIES): ... this.
35392 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35393 (util/grub-emu.c_DEPENDENCIES): ... this.
35394 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35395 (util/grub-emu.c_DEPENDENCIES): ... this.
35396
3f51de77 353972008-01-27 Pavel Roskin <proski@gnu.org>
35398
35399 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
35400 to create a gap between _end and the modules added to the image
35401 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
35402 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
35403 * util/elf/grub-mkimage.c (add_segments): Likewise.
35404
2033f53e 354052008-01-26 Pavel Roskin <proski@gnu.org>
35406
35407 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
35408 just return an error.
35409
22da1f6f 354102008-01-26 Bean <bean123ch@gmail.com>
35411
35412 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
35413 (grub_reiserfs_get_item): Save offset of the next item.
35414 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
35415
2a9525e6 354162008-01-25 Robert Millan <rmh@aybabtu.com>
35417
35418 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
35419 make all filesystem sources appear together (possibly fixing omissions
35420 while at it).
35421 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35422 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35423 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35424 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35425
35426 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
35427 add `kern/file.c'.
35428 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
35429 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35430 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
35431 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35432
35433 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
35434 (probe): Add a sanity check to make sure of our ability to read
35435 requested files when probing for filesystem type.
35436
35437 * genmk.rb: Update copyright year (2007).
35438
35439 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
35440 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
35441 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
35442 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
35443 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
35444 : Remove function prototypes.
35445
b95f71b5 354462008-01-25 Robert Millan <rmh@aybabtu.com>
35447
35448 Revert my previous commits (based on wrong assumption of how grub_errno
35449 works).
35450
fe6b695a 35451 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 35452 * kern/file.c (grub_file_open): Likewise.
35453
d08bbb49 354542008-01-24 Pavel Roskin <proski@gnu.org>
35455
35456 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
35457 that hang if GRUB tries to setup colors.
35458 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
35459 colors for firmwares that don't support it.
35460 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
35461 Recognize Open Hack'Ware, set flags to work around its
35462 limitations.
35463
605e36ed 354642008-01-24 Robert Millan <rmh@aybabtu.com>
35465
35466 * kern/file.c (grub_file_open): Do not account previous failures of
35467 unrelated functions when grub_errno is checked for.
35468 Reported by Oleg Strikov.
35469
bac332a1 354702008-01-24 Bean <bean123ch@gmail.com>
35471
35472 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
35473 (grub_ufs_sblock): New member volume name.
35474 (grub_ufs_find_file): Fix string copy bug.
35475 (grub_ufs_label): Implement this function properly.
35476
35477 * fs/hfs.c (grub_hfs_cnid_type): New enum.
35478 (grub_hfs_iterate_records): Use the correct file number for extents
35479 and catalog file. Fix problem in next index calculation.
35480 (grub_hfs_find_node): Replace recursive function call with loop.
35481 (grub_hfs_iterate_dir): Replace recursive function call with loop.
35482
15c80c09 354832008-01-23 Robert Millan <rmh@aybabtu.com>
35484
35485 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35486 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35487 (grub_multiboot2_real_boot): New function prototype.
35488
35489 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35490 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35491
35492 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35493 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35494
305338fd 354952008-01-23 Robert Millan <rmh@aybabtu.com>
35496
35497 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35498 #ifdef'ed out grub_printf().
35499
3ea52685 355002008-01-23 Robert Millan <rmh@aybabtu.com>
35501
35502 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35503 grub_dprintf calls, since they make "debug=all" mode unusable.
35504 (grub_console_checkkey): Likewise.
35505
5882ae4b 355062008-01-23 Robert Millan <rmh@aybabtu.com>
35507
35508 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35509 `term/i386/pc/at_keyboard.c'.
35510 (pkglib_MODULES): Add `serial.mod'.
35511 (serial_mod_SOURCES): New variable.
35512 (serial_mod_CFLAGS): Likewise.
35513 (serial_mod_LDFLAGS): Likewise.
35514
35515 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35516 `<grub/powerpc/ieee1275/console.h>'.
35517 (grub_keyboard_controller_init): New function prototype.
35518 (grub_console_checkkey): Likewise.
35519 (grub_console_getkey): Likewise.
35520
35521 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35522 keyboard on i386.
35523
35524 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35525 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35526
06ab5303 355272008-01-23 Robert Millan <rmh@aybabtu.com>
35528
35529 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35530 present, "(memdisk)/boot/grub" becomes the default prefix.
35531
35532 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35533 a memdisk tarball with all the modules. Add --overlay=DIR option that
35534 allows users to overlay additional files into the image.
35535
dbb475a4 355362008-01-23 Robert Millan <rmh@aybabtu.com>
35537
35538 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35539 and `machine/memory.h'.
35540 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35541 (_multiboot_mod_SOURCES): New variable.
35542 (_multiboot_mod_CFLAGS): Likewise.
35543 (_multiboot_mod_LDFLAGS): Likewise.
35544 (multiboot_mod_SOURCES): Likewise.
35545 (multiboot_mod_CFLAGS): Likewise.
35546 (multiboot_mod_LDFLAGS): Likewise.
35547
35548 * include/grub/i386/ieee1275/loader.h: New file.
35549
35550 * include/grub/i386/ieee1275/machine.h: Likewise.
35551
35552 * include/grub/i386/ieee1275/memory.h: Likewise.
35553
35554 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35555 variable declaration.
35556 (grub_os_area_size): Likewise.
35557
35558 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35559 (grub_lower_mem, grub_upper_mem): New variables.
35560 (grub_stop_floppy): New function (just to make
35561 grub_multiboot2_real_boot() happy).
35562
35563 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35564 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35565 (grub_stop): New function.
35566 Include `"../realmode.S"' and `"../loader.S"'.
35567
35568 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35569 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35570
35571 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35572 rely on grub_multiboot2_real_boot() for final boot.
35573
25638629 355742008-01-22 Robert Millan <rmh@aybabtu.com>
35575
35576 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35577 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35578 device that doesn't look like an SD card.
35579 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35580 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35581 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35582 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35583 found.
35584
9dad816d 355852008-01-22 Robert Millan <rmh@aybabtu.com>
35586
35587 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35588 avoid claiming over our own code.
35589
34842f2d 355902008-01-22 Bean <bean123ch@gmail.com>
35591
35592 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35593 (jpeg_mod_SOURCES): New variable.
35594 (jpeg_mod_CFLAGS): Likewise.
35595 (jpeg_mod_LDFLAGS): Likewise.
35596
35597 * video/readers/jpeg.c : New file.
35598
44023a28 355992008-01-22 Bean <bean123ch@gmail.com>
35600
35601 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35602 there are no more items.
35603
bc2d8ac6 356042008-01-21 Robert Millan <rmh@aybabtu.com>
35605
35606 * kern/mm.c (grub_mm_init_region): Improve debug message.
35607
261bd4bc 356082008-01-21 Robert Millan <rmh@aybabtu.com>
35609
35610 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35611 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35612 address.
35613 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35614 a C macro.
35615 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35616 Indicates start of upper memory.
35617 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35618 (generate_image): Abort when image size is big enough to corrupt
35619 upper memory.
35620
35621 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35622 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35623 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35624 instead of hardcoding 0xA0000.
35625 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35626 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35627 instead of hardcoding 0xA0000.
35628
f970b55e 356292008-01-21 Robert Millan <rmh@aybabtu.com>
35630
35631 * disk/memdisk.c (memdisk_size): New variable.
35632 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35633 `memdisk_size'.
35634 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35635 image to dynamic memory.
35636 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35637 `memdisk_size'. Free memdisk block.
35638
1a8b0526 356392008-01-21 Robert Millan <rmh@aybabtu.com>
35640
35641 Fix detection of very small filesystems (like tar).
35642
35643 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35644 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35645 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35646 a problem with this disk).
35647
6e9b4aab 356482008-01-21 Robert Millan <rmh@aybabtu.com>
35649
35650 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35651 on grub_biosdisk_rw_standard() error.
35652
0d8837b2 356532008-01-21 Robert Millan <rmh@aybabtu.com>
35654
35655 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35656 recent changes.
35657 * kern/elf.c: Likewise.
35658 * kern/ieee1275/ieee1275.c: Likewise.
35659 * kern/powerpc/ieee1275/openfw.c: Likewise.
35660 * term/ieee1275/ofconsole.c: Likewise.
35661
ffd36e34 356622008-01-21 Robert Millan <rmh@aybabtu.com>
35663
35664 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
35665
3f0093d0 35666 * include/grub/kernel.h (grub_arch_memdisk_addr)
35667 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 35668
3f0093d0 35669 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
35670 (grub_arch_memdisk_size): ... to here.
ffd36e34 35671
6c391b21 356722008-01-21 Robert Millan <rmh@aybabtu.com>
35673
35674 Mostly based on bugfix from Bean.
35675
35676 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
35677 attribute with hook() parameter.
35678 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
35679 declaration.
35680 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
35681 attribute with hook() parameter.
35682 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
35683 declaration.
35684
55a581dc 356852008-01-21 Robert Millan <rmh@aybabtu.com>
35686
35687 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
35688 (pkglib_MODULES): Add `memdisk.mod'.
35689 (memdisk_mod_SOURCES): New variable.
35690 (memdisk_mod_CFLAGS): Likewise.
35691 (memdisk_mod_LDFLAGS): Likewise.
35692
35693 * disk/memdisk.c: New file.
35694
35695 * include/grub/disk.h (grub_disk_dev_id): Add
35696 `GRUB_DISK_DEVICE_MEMDISK_ID'.
35697
35698 * include/grub/i386/pc/kernel.h
35699 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
35700 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
35701 (grub_kernel_image_size): New variable declaration.
35702 (grub_total_module_size): Likewise.
35703 (grub_memdisk_image_size): Likewise.
35704
35705 * include/grub/i386/pc/memory.h
35706 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
35707
35708 * include/grub/kernel.h: Include `<grub/symbol.h>'.
35709 (grub_arch_memdisk_addr): New variable declaration.
35710 (grub_arch_memdisk_size): Likewise.
35711
35712 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
35713 (grub_arch_memdisk_size): Likewise.
35714
35715 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
35716 (codestart): Replace hardcoded `0x100000' with
35717 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
35718
35719 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
35720 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
35721 not NULL, append the contents of the file it refers to, at the end of
35722 the compressed kernel image. Initialize `grub_memdisk_image_size'
35723 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
35724 (options): Add "memdisk"|'m' option.
35725 (main): Parse --memdisk|-m option, and pass user-provided path as
35726 parameter to generate_image().
35727
3d7f54c9 357282008-01-20 Robert Millan <rmh@aybabtu.com>
35729
35730 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
35731 grub_dprintf() calls from here ...
35732 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
35733
0bf74728 357342008-01-20 Robert Millan <rmh@aybabtu.com>
35735
35736 Fix detection of "real mode" when /options/real-mode? doesn't exist.
35737
35738 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
35739 declaration.
35740 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35741 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35742 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 35743 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 35744 property).
35745 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35746 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35747
33bf70a7 357482008-01-19 Robert Millan <rmh@aybabtu.com>
35749
fe6b695a 35750 Get rid of confusing function (superseded by
33bf70a7 35751 `grub_ieee1275_get_integer_property')
35752 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35753 prototype.
35754 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35755 function.
35756 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35757 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 35758 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 35759
e2da7d26 357602008-01-19 Robert Millan <rmh@aybabtu.com>
35761
35762 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35763 command after "shut-down", since implementations differ on which
35764 the command for halt is.
35765
59f1fd8d 357662008-01-19 Robert Millan <rmh@aybabtu.com>
35767
35768 * include/grub/i386/linuxbios/console.h: Add header protection.
35769 (grub_keyboard_controller_init): New function prototype.
35770 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
35771 (KEYBOARD_COMMAND_READ): Likewise.
35772 (KEYBOARD_COMMAND_WRITE): Likewise.
35773 (KEYBOARD_SCANCODE_SET1): Likewise.
35774 (grub_keyboard_controller_write): New function.
35775 (grub_keyboard_controller_read): Likewise.
35776 (grub_keyboard_controller_init): Likewise.
35777
35778 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
35779 (grub_console_init): On coreboot/LinuxBIOS, call
35780 grub_keyboard_controller_init().
35781
5f5a7c15 357822008-01-19 Robert Millan <rmh@aybabtu.com>
35783
35784 PowerPC changes provided by Pavel Roskin.
35785
35786 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
35787 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
35788 don't rely on cmain() doing it.
35789 * kern/i386/ieee1275/startup.S (_start): Store %eax in
35790 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
35791
1210e168 357922008-01-16 Robert Millan <rmh@aybabtu.com>
35793
35794 * include/grub/i386/linuxbios/memory.h
35795 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
35796 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
35797 receive `table_header' as argument. Instead, probe for it in the
35798 known memory ranges where it can be present.
35799 (grub_available_iterate): Do not pass a fixed `table_header' address
35800 to grub_linuxbios_table_iterate().
35801
3d04eab8 358022008-01-15 Robert Millan <rmh@aybabtu.com>
35803
35804 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
35805 * conf/i386-ieee1275.rmk: New file.
35806 * include/grub/i386/ieee1275/console.h: Likewise.
35807 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
35808 * include/grub/i386/ieee1275/kernel.h: Likewise.
35809 * include/grub/i386/ieee1275/time.h: Likewise.
35810 * kern/i386/ieee1275/init.c: Likewise.
35811 * kern/i386/ieee1275/startup.S: Likewise.
35812
d1bc1b73 358132008-01-15 Robert Millan <rmh@aybabtu.com>
35814
35815 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
35816 when pointers are 32-bit (but still do set it to one when they are
35817 64-bit).
35818
66a65807 358192008-01-15 Robert Millan <rmh@aybabtu.com>
35820
35821 * include/grub/ieee1275/ieee1275.h
35822 (grub_ieee1275_get_integer_property): New function prototype.
35823
35824 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
35825 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 35826 grub_ieee1275_get_property() to handle endianness.
66a65807 35827
35828 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
35829 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 35830 where appropriate.
66a65807 35831 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
35832 (grub_map): Likewise.
35833 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
35834
a83ccafd 358352008-01-15 Bean <bean123ch@gmail.com>
35836
35837 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
35838 (grub_script_execute_cmdline): Reset grub_errno.
35839
35840 * normal/main.c (read_config_file): Reset grub_errno.
35841
35842 * normal/parse.y (script_init): New.
35843 (script): Move function and menuentry here.
35844 (delimiter): New.
35845 (command): Add delimiter at the end of command.
35846 (commands): Adjust to match the new command.
35847 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 35848 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 35849 (if): Use the new commands.
35850
35851 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
35852
df6ecfc6 358532008-01-15 Robert Millan <rmh@aybabtu.com>
35854
35855 * normal/menu.c (run_menu): Move timeout message from here ...
35856 (print_timeout): ... to here.
35857 (run_menu): Use print_timeout() once during initial draw to print
35858 the whole message, and again in every clock tick to update only
35859 the number of seconds.
35860
87ae25eb 358612008-01-15 Robert Millan <rmh@aybabtu.com>
35862
35863 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
35864 actual size of `available' from grub_ieee1275_get_property(), and
35865 restrict parsing to that bound.
35866
47bf09a4 358672008-01-15 Christian Franke <franke@computer.org>
35868
35869 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
35870 (argp_program_version): Remove variable.
35871 (argp_program_bug_address): Likewise.
35872 (options): Convert from struct argp_option to struct option.
35873 (struct arguments): Remove.
35874 (parse_opt): Remove.
35875 (usage): New function.
35876 (main): Replace struct args members by simple variables.
35877 Replace argp_parse() by getopt_long().
35878 Add switch to evaluate options.
35879 Add missing "(...)" around root_dev in prefix string.
35880
c86f1469 358812008-01-14 Robert Millan <rmh@aybabtu.com>
35882
35883 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
35884 for grub_ieee1275_exit(), in order to improve portability.
35885
e622c559 358862008-01-14 Robert Millan <rmh@aybabtu.com>
35887
35888 * util/grub.d/10_linux.in (prefix): Define.
35889 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
35890
44cb1ec8 358912008-01-13 Pavel Roskin <proski@gnu.org>
35892
35893 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
35894 grub_errno if no errors have been detected.
35895
1eb8c802 358962008-01-12 Robert Millan <rmh@aybabtu.com>
35897
35898 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
35899 (grub_util_get_dev_abstraction): New function prototype.
35900
35901 * util/getroot.c: Include `<grub/util/getroot.h>'
35902 (grub_util_get_grub_dev): Move detection of abstraction type to ...
35903 (grub_util_get_dev_abstraction): ... here (new function).
35904
35905 * util/grub-probe.c: Convert PRINT_* to an enum. Add
35906 `PRINT_ABSTRACTION'.
35907 (probe): Probe for abstraction type when requested.
35908 (main): Understand `--target=abstraction'.
35909
35910 * util/i386/efi/grub-install.in: Add abstraction module to core
35911 image when it is found to be necessary.
35912 * util/i386/pc/grub-install.in: Likewise.
35913 * util/powerpc/ieee1275/grub-install.in: Likewise.
35914
35915 * util/update-grub_lib.in (font_path): Return system path without
35916 converting to GRUB path.
35917 * util/update-grub.in: Convert system path returned by font_path()
35918 to a GRUB path. Use `grub-probe -t abstraction' to determine what
35919 abstraction module is needed for loading fonts (if any). Export
35920 that as `GRUB_PRELOAD_MODULES'.
35921 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
35922 insmod commands).
35923
52bd3de9 359242008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
35925
35926 Remove some unused code from reiserfs.
f19dbdb7 35927
52bd3de9 35928 * fs/reiserfs.c (struct grub_reiserfs_key)
35929 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
35930 (struct grub_reiserfs_node_body): Removed.
35931 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35932 Likewise.
35933 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35934 Likewise.
35935 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35936 Likewise.
35937 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35938 Likewise.
35939 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35940 Likewise.
35941 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
35942 Likewise.
35943 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35944 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35945 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35946
2f80039d 359472008-01-10 Robert Millan <rmh@aybabtu.com>
35948
35949 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
35950 Determines if a file is garbage left by packaging systems, etc.
35951 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
35952 for processing /etc/grub.d scripts.
35953 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
35954 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
35955 as a condition for processing Linux images.
35956
87888032 359572008-01-10 Pavel Roskin <proski@gnu.org>
35958
35959 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
35960 to compile reiserfs.c on PowerPC.
35961
7e54fced 359622008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 35963
35964 * kern/device.c (grub_device_iterate): Do not abort device iteration
35965 when one of the devices cannot be opened.
35966 * kern/disk.c (grub_disk_open): Do not account previous failures of
35967 unrelated functions when grub_errno is checked for.
35968
5aa541e6 359692008-01-08 Robert Millan <rmh@aybabtu.com>
35970
35971 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
35972 `! grub_linux_is_bzimage', change order of address comparison to make
35973 it more intuitive, and improve "too big zImage" error message.
35974
7076340d 359752008-01-08 Robert Millan <rmh@aybabtu.com>
35976
35977 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
35978 `$(update-grub_DATA)'.
35979 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
35980 targets.
35981
9ca70333 359822008-01-07 Robert Millan <rmh@aybabtu.com>
35983
35984 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
35985 which instruction is modified by grub-setup during installation
35986 (since it wasn't obvious by only looking at this file).
35987
38ccf575 359882008-01-07 Robert Millan <rmh@aybabtu.com>
35989
35990 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
35991 listing actual TODO items.
35992
f5db4291 359932008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35994
868967cf 35995 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
35996 correctly.
35997 (grub_reiserfs_get_key_offset): Likewise.
35998 (grub_reiserfs_set_key_offset): Likewise.
35999 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 36000 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 36001
36002 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
36003 better to remove the bitfield version completely.
f19dbdb7 36004
868967cf 360052008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36006
f5db4291 36007 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
36008 allocated from the heap, due to the fshelp implementation.
36009 (grub_reiserfs_dir): Free NODE, due to the same reason.
36010
492e6d9d 360112008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36012
36013 Mostly from Vincent Pelletier:
f19dbdb7 36014
492e6d9d 36015 * fs/reiserfs.c: New file.
f19dbdb7 36016
492e6d9d 36017 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
36018 (reiserfs_mod_SOURCES): New variable.
36019 (reiserfs_mod_CFLAGS): Likewise.
36020 (reiserfs_mod_LDFLAGS): Likewise.
36021
36022 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
36023 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
36024 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
36025 normal/color.c.
36026
9ce3e7c1 360272008-01-06 Robert Millan <rmh@aybabtu.com>
36028
36029 * normal/color.c: Remove `<grub/env.h>'.
36030
f3b58148 360312008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
36032
36033 * include/grub/normal.h: Include <grub/env.h>.
36034
7ac3bcfa 360352008-01-05 Robert Millan <rmh@aybabtu.com>
36036
36037 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
36038 usage example with `(hd0,1)'.
fb358190 36039 Reported by Samuel Thibault.
7ac3bcfa 36040
c8ee99d7 360412008-01-05 Robert Millan <rmh@aybabtu.com>
36042
36043 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
36044 (grub_linux_boot_zimage): Rename to ...
36045 (grub_linux_boot): ... this.
36046 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
36047 (grub_linux_boot_zimage): Conditionalize zImage copy.
36048
36049 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
36050 (grub_linux_boot_bzimage): Remove prototype.
36051 (grub_linux_boot_zimage): Rename to ...
36052 (grub_linux_boot): ... this.
36053
36054 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
36055 (grub_linux_boot): Remove function.
36056
0ece25b1 360572008-01-05 Robert Millan <rmh@aybabtu.com>
36058
36059 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
36060 (grub_env_write_color_highlight): Likewise.
36061 (grub_wait_after_message): Likewise.
36062
36063 * normal/color.c: New file.
36064
36065 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36066 (normal_mod_DEPENDENCIES): Likewise.
36067
36068 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36069 (normal_mod_DEPENDENCIES): Likewise.
36070
36071 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36072 (normal_mod_DEPENDENCIES): Likewise.
36073
36074 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36075 (normal_mod_DEPENDENCIES): Likewise.
36076
36077 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
36078 for waiting after a message is printed.
36079 * normal/main.c (read_config_file): Likewise.
36080 (grub_normal_init): Register grub_env_write_color_normal() and
36081 grub_env_write_color_highlight() hooks. Mark `color_normal' and
36082 `color_highlight' variables as global.
36083
36084 * normal/menu.c (grub_wait_after_message): New function.
36085 (grub_color_menu_normal): New variable. Replaces ...
36086 (GRUB_COLOR_MENU_NORMAL): ... this macro.
36087 (grub_color_menu_highlight): New variable. Replaces ...
36088 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
36089 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
36090 `GRUB_TERM_COLOR_STANDARD'.
36091 (print_message): Use `grub_setcolorstate' to reload colors. Rename
36092 `normal_code' and `highlight_code' to `old_color_normal' and
36093 `old_color_highlight', respectively.
36094 (grub_menu_init_page): Update colors when drawing the menu, based on
36095 `menu_color_normal' and `menu_color_highlight' variables.
36096 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
36097 a message is printed.
36098
182dd4e5 360992008-01-05 Robert Millan <rmh@aybabtu.com>
36100
36101 * kern/env.c (grub_env_context_open): Propagate hooks for global
36102 variables to new context.
36103
36104 * kern/main.c (grub_set_root_dev): Export `root' variable.
36105
ddf8f6ad 361062008-01-05 Robert Millan <rmh@aybabtu.com>
36107
36108 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 36109 discs unconditionally, since udev and others have options to provide
ddf8f6ad 36110 them.
36111
d8b43d9b 361122008-01-05 Robert Millan <rmh@aybabtu.com>
36113
36114 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
36115
2bff2de3 361162008-01-04 Christian Franke <franke@computer.org>
36117
36118 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
36119 of eisa_mmap.
36120
97eab917 361212008-01-03 Pavel Roskin <proski@gnu.org>
36122
36123 * kern/i386/linuxbios/init.c: Put "void" to all function
36124 declarations with no arguments.
36125 * kern/powerpc/ieee1275/init.c: Likewise.
36126 * term/i386/pc/at_keyboard.c: Likewise.
36127 * term/i386/pc/vga_text.c: Likewise.
36128 * util/grub-mkdevicemap.c: Likewise.
36129
b9416d00 361302008-01-02 Robert Millan <rmh@aybabtu.com>
36131
36132 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
36133 message when loaded image is out of bounds.
36134 (grub_multiboot_load_elf64): Likewise.
36135
92695df9 361362008-01-02 Pavel Roskin <proski@gnu.org>
36137
36138 * util/grub.d/10_linux.in: Try version without ".old" when
36139 looking for initrd. It's better to use initrd from the newer
36140 kernel of the same version than no initrd at all.
36141
d98d9cad 361422008-01-01 Robert Millan <rmh@aybabtu.com>
36143
36144 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
36145
dbfdce36 361462008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
36147
f19dbdb7 36148 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 36149 grub_video_get_active_render_target.
36150 (grub_video_adapter): Added unmap_color and get_active_render_target.
36151
f19dbdb7 36152 * video/video.c: Added grub_video_unmap_color and
dbfdce36 36153 grub_video_get_active_render_target.
36154 (grub_video_get_info): Changed method to accept NULL pointer as an
36155 argument to allow detection of active video adapter.
36156
36157 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
36158 grub_video_vbe_unmap_color_int.
36159 Added grub_video_vbe_unmap_color and
36160 grub_video_vbe_get_active_render_target.
36161 (grub_video_vbe_adapter): Added unmap_color and
36162 get_active_render_target.
36163
f19dbdb7 36164 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 36165 with grub_video_vbe_unmap_color_int.
36166
36167 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
36168 (DEFAULT_NORMAL_COLOR): Likewise.
36169 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
36170 (DEFAULT_FG_COLOR): Removed.
36171 (DEFAULT_BG_COLOR): Likewise.
36172 (DEFAULT_CURSOR_COLOR): Changed value.
36173 (grub_virtual_screen): Added standard_color_setting,
36174 normal_color_setting, highlight_color_setting and term_color.
36175 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
36176 (bitmap_width): Added.
36177 (bitmap_height): Likewise.
36178 (bitmap): Likewise.
36179 (set_term_color): Likewise.
36180 (grub_virtual_screen_setup): Changed to use new terminal coloring
36181 settings.
36182 (grub_gfxterm_init): Added init for bitmap.
36183 (grub_gfxterm_fini): Added destroy for bitmap.
36184 (redraw_screen_rect): Updated to use background bitmap and new
36185 terminal coloring.
36186 (scroll_up): Added optimization for case when there is no bitmap.
36187 (grub_gfxterm_cls): Fixed to use correct background color.
36188 (grub_virtual_screen_setcolorstate): Changed to use new terminal
36189 coloring.
36190 (grub_virtual_screen_setcolor): Likewise.
36191 (grub_virtual_screen_getcolor): Added.
36192 (grub_gfxterm_background_image_cmd): Likewise.
36193 (grub_video_term): Added setcolor and getcolor.
36194 (MOD_INIT): Added registration of background_image command.
36195 (MOD_TERM): Added unregistration for background_image command.
36196
c3c20931 361972007-12-30 Pavel Roskin <proski@gnu.org>
36198
36199 * loader/multiboot_loader.c: Fix multiboot command
36200 unregistration. Fix all typos in the word "multiboot".
36201
df266716 362022007-12-29 Pavel Roskin <proski@gnu.org>
94239199 36203
36204 * util/grub.d/10_linux.in: Refactor search for initrd. Add
36205 support for initrd names used in Fedora.
36206
fc6e896c 362072007-12-26 Bean <bean123ch@gmail.com>
36208
36209 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
36210 (cpio_mod_SOURCES): New variable.
36211 (cpio_mod_CFLAGS): Likewise.
36212 (cpio_mod_LDFLAGS): Likewise.
36213
36214 * fs/cpio.c: New file.
36215
36216 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
36217
36218 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36219
36220 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36221
36222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36223
533110ad 362242007-12-25 Robert Millan <rmh@aybabtu.com>
36225
36226 * include/grub/term.h (struct grub_term): Add `getcolor' function.
36227 (grub_getcolor): New function.
36228
36229 * kern/term.c (grub_getcolor): New function.
36230 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
36231 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
36232 (print_entry): Set normal and highlight colors to
36233 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
36234 respectively, before printing and restore them to old
36235 values afterwards.
36236 (grub_menu_init_page): Likewise. Fill an additional colored space
36237 that would otherwise be left blank.
36238
36239 * term/efi/console.c (grub_console_getcolor): New function.
36240 (struct grub_console_term.getcolor): New variable.
36241 * term/i386/pc/console.c (grub_console_getcolor): New function.
36242 (struct grub_console_term.getcolor): New variable.
36243 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
36244 (struct grub_console_term.getcolor): New variable.
36245
36246 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
36247 (struct grub_console_term.setcolor): Remove variable.
36248 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
36249 (struct grub_console_term.setcolor): Remove variable.
36250 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
36251 (struct grub_console_term.setcolor): Remove variable.
36252 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
36253 (struct grub_console_term.setcolor): Remove variable.
36254
4931827f 362552007-12-25 Robert Millan <rmh@aybabtu.com>
36256
36257 * configure.ac: Search for possible unifont.hex locations, and
36258 define UNIFONT_HEX if found.
36259
36260 * Makefile.in (UNIFONT_HEX): Define variable.
36261 (DATA): Rename to ...
36262 (PKGLIB): ... this. Update all users.
36263 (PKGDATA): New variable.
36264 (pkgdata_IMAGES): Rename to ...
36265 (pkglib_IMAGES): ... this. Update all users.
36266 (pkgdata_MODULES): Rename to ...
36267 (pkglib_MODULES): ... this. Update all users.
36268 (pkgdata_PROGRAMS): Rename to ...
36269 (pkglib_PROGRAMS): ... this. Update all users.
36270 (pkgdata_DATA): Rename to ...
36271 (pkglib_DATA): ... this. Update all users.
36272 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
36273 (unicode.pff, ascii.pff): New rules.
36274 (all-local): Add `$(PKGDATA)' dependency.
36275 (install-local): Process `$(PKGDATA)'.
36276
36277 * util/update-grub_lib.in (font_path): Search for *.pff files in
36278 a few more locations, including `${pkgdata}'.
36279
57e57e31 362802007-12-23 Robert Millan <rmh@aybabtu.com>
36281
36282 Patch from Bean <bean123ch@gmail.com>:
36283 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
36284 `size'.
36285
4bc72aa9 362862007-12-21 Bean <bean123ch@gmail.com>
36287
36288 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
36289 (ntfscomp_mod_SOURCES): New variable.
36290 (ntfscomp_mod_CFLAGS): Likewise.
36291 (ntfscomp_mod_LDFLAGS): Likewise.
36292
36293 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
36294 (grub_probe_SOURCES): Likewise.
36295 (grub_emu_SOURCES): Likewise.
36296
36297 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36298 (grub_emu_SOURCES): Likewise.
36299
36300 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36301 (grub_emu_SOURCES): Likewise.
36302
36303 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36304 (grub_emu_SOURCES): Likewise.
36305
36306 * fs/ntfs.c (grub_ntfscomp_func): New variable.
36307 (read_run_list): Renamed to grub_ntfs_read_run_list.
36308 (decomp_nextvcn): Moved to ntfscomp.c.
36309 (decomp_getch): Likewise.
36310 (decomp_get16): Likewise.
36311 (decomp_block): Likewise.
36312 (read_block): Likewise.
36313 (read_data): Partially moved to ntfscomp.c.
36314 (fixup): Change unsigned to grub_uint16_t.
36315 (read_mft): Change unsigned long to grub_uint32_t.
36316 (read_attr): Likewise.
36317 (read_data): Likewise.
36318 (read_run_data): Likewise.
36319 (read_run_list): Likewise.
36320 (read_mft): Likewise.
36321
36322 * fs/ntfscomp.c: New file.
36323
36324 * include/grub/ntfs.h: New file.
36325
af680a87 363262007-12-16 Robert Millan <rmh@aybabtu.com>
36327
36328 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
36329 IDE disk check, since Linux is known to support 20 IDE disks.
36330 Reported by Colin Watson.
36331
84be7599 363322007-12-15 Bean <bean123ch@gmail.com>
36333
36334 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
36335 (lnxboot_img_SOURCES): New variable.
36336 (lnxboot_img_ASFLAGS): Likewise.
36337 (lnxboot_img_LDFLAGS): Likewise.
36338
36339 * boot/i386/pc/lnxboot.S: New file.
36340
6af9db01 363412007-11-24 Pavel Roskin <proski@gnu.org>
36342
36343 * configure.ac: Test if '--build-id=none' is supported by the
36344 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
36345 objcopy to generate incorrect binary files (binutils
36346 2.17.50.0.18-1 as shipped by Fedora 8).
36347 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
36348 linking, so that build ID doesn't break the test.
36349
7361cfe6 363502007-11-24 Pavel Roskin <proski@gnu.org>
36351
36352 * include/grub/i386/time.h: use "void" in the argument list
36353 of grub_cpu_idle().
36354 * include/grub/powerpc/time.h: Likewise.
36355 * include/grub/sparc64/time.h: Likewise.
36356
1593e10c 363572007-11-18 Christian Franke <franke@computer.org>
36358
36359 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
36360 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
36361 This fixes the problem that function keys did not work in grub-emu.
36362
3b8db1a8 363632007-11-18 Christian Franke <franke@computer.org>
36364
36365 * disk/host.c (grub_host_open): Remove attribute unused from
36366 name parameter. Add check for "host". This fixes the problem
36367 that grub-emu does not find partitions.
36368
2e29408d 363692007-11-18 Christian Franke <franke@computer.org>
36370
36371 * util/hostfs.c (is_dir): New function.
36372 (grub_hostfs_dir): Handle missing dirent.d_type case.
36373 (grub_hostfs_read): Add missing fseek().
36374 (grub_hostfs_label): Clear label pointer. This fixes a crash
36375 of grub-emu on "ls (host)".
36376
398cd047 363772007-11-18 Christian Franke <franke@computer.org>
36378
36379 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
36380 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
36381 to 64 bit boundary by default.
36382
c405c391 363832007-11-18 Bean <bean123ch@gmail.com>
36384
36385 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
36386 (hexdump_mod_SOURCES): New variable.
36387 (hexdump_mod_CFLAGS): Likewise.
36388 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 36389
c405c391 36390 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36391
36392 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36393
36394 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36395
36396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36397
36398 * include/grub/hexdump.h: New file.
36399
36400 * commands/hexdump.c: New file.
36401
5cced7fd 364022007-11-10 Robert Millan <rmh@aybabtu.com>
36403
36404 * commands/i386/pc/play.c (beep_off): Switch order of arguments
36405 in grub_outb() calls.
36406 (beep_on): Likewise.
36407
8b714eb0 364082007-11-10 Christian Franke <franke@computer.org>
36409
36410 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
36411 (grub_menu_run): Likewise.
36412
ce0f1839 364132007-11-10 Robert Millan <rmh@aybabtu.com>
36414
36415 * include/grub/i386/efi/machine.h: New file.
36416 * include/grub/i386/linuxbios/machine.h: Likewise.
36417 * include/grub/i386/pc/machine.h: Likewise.
36418 * include/grub/powerpc/ieee1275/machine.h: Likewise.
36419 * include/grub/sparc64/ieee1275/machine.h: Likewise.
36420
36421 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
36422 (serial_hw_io_addr): New variable.
36423 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
36424 instead of `(unsigned short *) 0x400'.
36425
270c237d 364262007-11-10 Bean <bean123ch@gmail.com>
36427
36428 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
36429
a87783bf 364302007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36431
36432 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
36433 (vga_mod_SOURCES): Added.
36434 (vga_mod_CFLAGS): Likewise.
36435 (vga_mod_LDFLAGS): Likewise.
36436
36437 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
36438 grub_outb() calls.
36439 (set_map_mask): Likewise.
36440 (set_read_map): Likewise.
36441 (set_read_address): Likewise.
36442 (vga_font): Removed variable.
36443 (get_vga_glyph): Removed function.
36444 (invalidate_char): Likewise.
36445 (write_char): Changed to use grub_font_get_glyph() for font
36446 information.
36447 (grub_vga_putchar): Likewise.
36448 (grub_vga_getcharwidth): Likewise.
36449
6433b448 364502007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36451
36452 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
36453 flags.
36454 (pxeboot_img_LDFLAGS): Likewise.
36455 (diskboot_img_LDFLAGS): Likewise.
36456 (kernel_img_LDFLAGS): Likewise.
36457
49178511 364582007-11-06 Robert Millan <rmh@aybabtu.com>
36459
36460 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
36461 in grub_outb() calls.
36462 (serial_hw_init): Likewise.
36463
53b052de 364642007-11-05 Robert Millan <rmh@aybabtu.com>
36465
36466 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
36467 spaces. Skip non-regular files.
36468
5ab33bba 364692007-11-05 Robert Millan <rmh@aybabtu.com>
36470
36471 * kern/disk.c (grub_disk_firmware_fini)
36472 (grub_disk_firmware_is_tainted): New variables.
36473
36474 * include/grub/disk.h (grub_disk_firmware_fini)
36475 (grub_disk_firmware_is_tainted): Likewise.
36476
36477 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
36478 (grub_disk_biosdisk_fini): ... to here.
36479 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
36480 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
36481 is set. Register grub_disk_biosdisk_fini() in
36482 `grub_disk_firmware_fini'.
36483
36484 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
36485 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36486 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36487 to finish existing firmware disk interface.
36488
36489 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36490 (ata_mod_SOURCES): New variable.
36491 (ata_mod_CFLAGS): Likewise.
36492 (ata_mod_LDFLAGS): Likewise.
36493
0149ab7c 364942007-11-05 Robert Millan <rmh@aybabtu.com>
36495
36496 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36497 (grub_ata_wait): Reimplement using grub_millisleep().
36498
36499 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36500 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36501
be7ac41e 365022007-11-03 Marco Gerards <marco@gnu.org>
36503
36504 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36505 (CRTC_ADDR_PORT): New macro.
36506 (CRTC_DATA_PORT): Likewise.
36507 (CRTC_CURSOR): Likewise.
36508 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36509 (CRTC_CURSOR_ADDR_LOW): Likewise.
36510 (update_cursor): New function.
36511 (grub_console_real_putchar): Call `update_cursor'.
36512 (grub_console_gotoxy): Likewise.
36513 (grub_console_cls): Set the default color when clearing the
36514 screen.
36515 (grub_console_setcursor): Implemented.
36516
bb06ab2e 365172007-11-03 Marco Gerards <marco@gnu.org>
36518
36519 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36520 become activate.
36521 (grub_ata_pio_write): Likewise.
36522
36523 (grub_atapi_identify): Wait after issuing an ATA command.
36524 (grub_atapi_packet): Likewise.
36525 (grub_ata_identify): Likewise.
36526 (grub_ata_readwrite): Likewise.
36527
cf8f780b 365282007-11-03 Marco Gerards <marco@gnu.org>
36529
36530 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36531 (grub_ata_pio_write): Likewise.
36532 (grub_ata_readwrite): Use `grub_error', instead of
36533 returning `grub_errno'.
36534
ed649e54 365352007-11-03 Marco Gerards <marco@gnu.org>
36536
36537 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36538 grub_ata_pio_write once for every single sector, instead of for
36539 multiple sectors.
36540
ca25d8f0 365412007-10-31 Robert Millan <rmh@aybabtu.com>
36542
36543 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36544
36545 * conf/i386-linuxbios.rmk: New file.
36546
36547 * kern/i386/pc/hardware.c: Likewise.
36548 * term/i386/pc/at_keyboard.c: Likewise.
36549 * term/i386/pc/vga_text.c: Likewise.
36550
36551 * include/grub/i386/linuxbios/boot.h: Likewise.
36552 * include/grub/i386/linuxbios/console.h: Likewise.
36553 * include/grub/i386/linuxbios/init.h: Likewise.
36554 * include/grub/i386/linuxbios/kernel.h: Likewise.
36555 * include/grub/i386/linuxbios/loader.h: Likewise.
36556 * include/grub/i386/linuxbios/memory.h: Likewise.
36557 * include/grub/i386/linuxbios/serial.h: Likewise.
36558 * include/grub/i386/linuxbios/time.h: Likewise.
36559
36560 * kern/i386/linuxbios/init.c: Likewise.
36561 * kern/i386/linuxbios/startup.S: Likewise.
36562 * kern/i386/linuxbios/table.c: Likewise.
36563
e911ecc1 365642007-10-31 Marco Gerards <marco@gnu.org>
36565
36566 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36567 (ata_mod_SOURCES): New variable.
36568 (ata_mod_CFLAGS): Likewise.
36569 (ata_mod_LDFLAGS): Likewise.
36570
36571 * disk/ata.c: New file.
36572
36573 * include/grub/disk.h (grub_disk_dev_id): Add
36574 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36575
7f66d0e0 365762007-10-31 Robert Millan <rmh@aybabtu.com>
36577
36578 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36579 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36580
36581 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36582 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36583
36584 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36585 `<grub/types.h>'.
36586
36587 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36588
5cd7dd46 365892007-10-27 Robert Millan <rmh@aybabtu.com>
36590
3236ca65 36591 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36592
2ebfc90f 365932007-10-22 Robert Millan <rmh@aybabtu.com>
36594
36595 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36596 `"../realmode.S"'.
36597 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36598
73fcb0f3 365992007-10-22 Robert Millan <rmh@aybabtu.com>
36600
36601 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36602 (pkgdata_MODULES): Add `biosdisk.mod'.
36603 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36604 variables.
36605
36606 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36607 (grub_biosdisk_init): Replace with ...
36608 (GRUB_MOD_INIT(biosdisk)): ... this.
36609 (grub_biosdisk_fini): Replace with ...
36610 (GRUB_MOD_FINI(biosdisk)): ... this.
36611
36612 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36613 (grub_machine_init): Remove call to grub_biosdisk_init().
36614 (grub_machine_fini): Remove call to grub_machine_fini().
36615
36616 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36617
3381d274 366182007-10-22 Robert Millan <rmh@aybabtu.com>
36619
36620 * include/grub/time.h: New file.
36621 * include/grub/i386/time.h: Likewise.
36622 * include/grub/powerpc/time.h: Likewise.
36623 * include/grub/sparc64/time.h: Likewise.
36624
36625 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36626 instances to ...
36627 (KERNEL_MACHINE_TIME_HEADER): ... this.
36628 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36629 instances to ...
36630 (KERNEL_MACHINE_TIME_HEADER): ... this.
36631 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36632 instances to ...
36633 (KERNEL_MACHINE_TIME_HEADER): ... this.
36634
36635 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36636 (grub_millisleep): New function.
36637 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36638 (grub_millisleep): New function.
36639 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36640 Remove `grub/machine/time.h' include.
36641 (grub_millisleep): New function.
36642 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36643 Remove `grub/machine/time.h' include.
36644 (grub_millisleep): New function.
36645
36646 * include/grub/misc.h (grub_div_roundup): New function.
36647
36648 * kern/misc.c: Include `<grub/time.h>'.
36649 (grub_millisleep_generic): New function.
36650
36651 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36652 Add `time.h'.
36653 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36654 Add `time.h'.
36655 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36656 `machine/time.h'. Add `time.h'.
36657 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36658
a39a0312 366592007-10-21 Robert Millan <rmh@aybabtu.com>
36660
36661 * include/grub/misc.h (grub_max): New function.
36662
2aad70e2 366632007-10-21 Robert Millan <rmh@aybabtu.com>
36664
36665 * util/misc.c (grub_util_info): Call fflush() before returning.
36666
54b71c4b 366672007-10-20 Robert Millan <rmh@aybabtu.com>
36668
36669 * genmk.rb (Image): Copy `extra_flags' from here ...
36670 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
36671
36672 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
36673 to `argc' and `args' arguments.
36674
a979f513 366752007-10-17 Robert Millan <rmh@aybabtu.com>
36676
36677 * kern/i386/loader.S: New file.
36678
36679 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
36680 * kern/i386/loader.S (grub_linux_prot_size)... to here.
36681 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
36682 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
36683 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
36684 * kern/i386/loader.S (grub_linux_real_addr)... to here.
36685 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
36686 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
36687 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
36688 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
36689 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
36690 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
36691 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
36692 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
36693
36694 * kern/i386/realmode.S: New file.
36695
36696 * kern/i386/pc/startup.S (protstack): Moved from here ...
36697 * kern/i386/realmode.S (protstack)... to here.
36698 * kern/i386/pc/startup.S (gdt): Moved from here ...
36699 * kern/i386/realmode.S (gdt)... to here.
36700 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
36701 * kern/i386/realmode.S (prot_to_real)... to here.
36702
36703 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
36704 `kern/i386/realmode.S'.
36705
825fc8fd 367062007-10-17 Robert Millan <rmh@aybabtu.com>
36707
36708 * include/grub/i386/loader.h: New file.
36709
36710 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
36711 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36712 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36713 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36714 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
36715 * include/grub/i386/loader.h (grub_linux_prot_size)
36716 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36717 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36718 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36719 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
36720
36721 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
36722
e179b2f4 367232007-10-15 Robert Millan <rmh@aybabtu.com>
36724
36725 * normal/misc.c (grub_normal_print_device_info): Do not probe for
36726 filesystem when dev->disk is unset.
36727 Do probe for filesystem even when dev->disk->has_partitions is set.
36728 In case a filesystem is found, always report it.
36729 In case it isn't, if dev->disk->has_partitions is set, report that
36730 a partition table was found instead of reporting that no filesystem
36731 could be identified.
36732
5db82af6 367332007-10-12 Robert Millan <rmh@aybabtu.com>
36734
36735 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
36736 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
36737
68f6ac74 36738 * include/grub/types.h (grub_host_to_target16): New macro.
36739 (grub_host_to_target32): Likewise.
36740 (grub_host_to_target64): Likewise.
36741 (grub_target_to_host16): Likewise.
36742 (grub_target_to_host32): Likewise.
36743 (grub_target_to_host64): Likewise.
5db82af6 36744
36745 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36746 Renamed from to ...
36747 (GRUB_MOD_ALIGN): ...this. Update all users.
36748
68f6ac74 36749 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36750 grub_host_to_target32.
36751 Replace grub_be_to_cpu32 with grub_target_to_host32.
36752 (load_modules): Likewise.
36753 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36754 Replace grub_be_to_cpu32 with grub_target_to_host32.
36755 Replace grub_cpu_to_be16 with grub_host_to_target16.
36756 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 36757
3cf497cc 367582007-10-12 Robert Millan <rmh@aybabtu.com>
36759
36760 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36761 * util/elf/grub-mkimage.c: ... here.
36762
36763 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36764 `util/powerpc/ieee1275/grub-mkimage.c'.
36765
c8cc3692 367662007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 36767
c8cc3692 36768 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
36769 and make it easier to figure out.
36770 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
36771 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
36772 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
36773 leave us with less than HEAP_MIN_SIZE total heap.
36774 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 36775
5c58b791 367762007-10-03 Robert Millan <rmh@aybabtu.com>
36777
36778 * include/grub/i386/io.h: New file.
36779 * commands/i386/pc/play.c (inb): Removed.
36780 (outb): Removed.
36781 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36782 with grub_outb().
afcd2ef8 36783 * term/i386/pc/serial.c (inb): Removed.
36784 (outb): Removed.
36785 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36786 with grub_outb().
36787 * term/i386/pc/vga.c (inb): Removed.
36788 (outb): Removed.
36789 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36790 with grub_outb().
5c58b791 36791
1a477ed6 367922007-10-02 Robert Millan <rmh@aybabtu.com>
36793
36794 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
36795 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36796 Reported by Marcin Kurek.
36797
6b5d80fa 367982007-09-07 Robert Millan <rmh@aybabtu.com>
36799
36800 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
36801 SmartFirmware version updates (as released by Sven Luther), and avoid
36802 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
36803 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
36804 known broken.
36805
5618afbf 368062007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36807
36808 From Hitoshi Ozeki:
36809 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
36810 when merging two regions.
36811
6139dcd9 368122007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36813
508e39ee 36814 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
36815 * normal/completion.c (grub_normal_do_completion): Likewise.
36816 Reported by Hitoshi Ozeki.
36817
368182007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36819
6139dcd9 36820 Do not use devices at boot in chainloading.
f19dbdb7 36821
6139dcd9 36822 * loader/i386/pc/chainloader.c (boot_drive): New variable.
36823 (boot_part_addr): Likewise.
36824 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
36825 with BOOT_DRIVE and BOOT_PART_ADDR.
36826 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
36827 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
36828
38da6516 368292007-08-29 Robert Millan <rmh@aybabtu.com>
36830
36831 Patch from Simon Peter <dn.tlp@gmx.net>:
36832 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
36833 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
36834 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
36835 util/i386/pc/grub-setup.c_DEPENDENCIES.
36836 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
36837 util/grub-probe.c_DEPENDENCIES.
36838 * conf/powerpc-ieee1275.rmk: Likewise.
36839
29d0928c 368402007-08-28 Robert Millan <rmh@aybabtu.com>
36841
36842 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
36843 to tell grub-mkdevicemap how to name devices.
36844 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
36845 feature).
36846
36847 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
36848 util/i386/get_disk_name.c.
36849 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
36850 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
36851 util/ieee1275/get_disk_name.c.
36852
36853 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
36854
36855 * DISTLIST: Add util/i386/get_disk_name.c and
36856 util/ieee1275/get_disk_name.c.
36857
36858 * util/grub-mkdevicemap.c: Replace device naming logic with
36859 grub_util_get_disk_name() calls.
36860
5a0d3cca 368612007-08-20 Robert Millan <rmh@aybabtu.com>
36862
36863 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
36864 (so that it works for both plural and singular quantities).
36865
8b72db2f 368662007-08-05 Robert Millan <rmh@aybabtu.com>
36867
36868 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
36869 so that [xz] isn't taken into account when determining order.
36870
352466bf 368712007-08-02 Marco Gerards <marco@gnu.org>
36872
36873 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
36874 `include/multiboot2.h', `include/grub/elfload.h',
36875 `include/multiboot.h', `include/grub/multiboot.h',
36876 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
36877 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
36878 `kern/elf.c', `loader/multiboot_loader.c',
36879 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
36880 `loader/i386/pc/multiboot2.c',
36881 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
36882 `util/i386/pc/grub-mkrescue.in'. Remove
36883 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
36884 `include/grub/i386/pc/util/biosdisk.h' and
36885 `include/grub/powerpc/ieee1275/multiboot.h'.
36886
8f096014 368872007-08-02 Bean <bean123ch@gmail.com>
36888
36889 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
36890 (ntfs_mod_SOURCES): New variable.
36891 (ntfs_mod_CFLAGS): Likewise.
36892 (ntfs_mod_LDFLAGS): Likewise.
36893
36894 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
36895 (grub_probe_SOURCES): Likewise.
36896 (grub_emu_SOURCES): Likewise.
36897
36898 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36899 (grub_emu_SOURCES): Likewise.
36900
36901 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36902 (grub_emu_SOURCES): Likewise.
f19dbdb7 36903
8f096014 36904 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
36905
36906 * fs/ntfs.c: New file.
36907
9959f7db 369082007-08-02 Bean <bean123ch@gmail.com>
36909
36910 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
36911
36912 * file.h (grub_file): Likewise.
36913
36914 * fshelp.h (grub_fshelp_read_file): Likewise.
36915
36916 * util/i386/pc/grub-setup.c (setup): Likewise.
36917 (save_first_sector): Likewise.
36918 (save_blocklists): Likewise.
f19dbdb7 36919
9959f7db 36920 * fs/affs.c (grub_affs_read_file): Likewise.
36921
36922 * fs/ext2.c (grub_ext2_read_file): Likewise.
36923
36924 * fs/fat.c (grub_fat_read_data): Likewise.
36925
36926 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
36927
36928 * fs/hfs.c (grub_hfs_read_file): Likewise.
36929
36930 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36931
36932 * fs/jfs.c (grub_jfs_read_file): Likewise.
36933
36934 * fs/minix.c (grub_minix_read_file): Likewise.
36935
36936 * fs/sfs.c (grub_sfs_read_file): Likewise.
36937
36938 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 36939
9959f7db 36940 * fs/xfs.c (grub_xfs_read_file): Likewise.
36941
36942 * command/blocklist.c (read_blocklist): Likewise.
36943 (print_blocklist): Likewise.
36944
0a203f83 369452007-08-02 Marco Gerards <marco@gnu.org>
36946
36947 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
36948 `util/hostfs.c'.
36949
36950 * disk/host.c: New file.
36951
36952 * util/hostfs.c: Likewise.
36953
36954 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
36955 return `GRUB_ERR_BAD_FS'.
36956 * fs/sfs.c (grub_sfs_mount): Likewise.
36957 * fs/xfs.c (grub_xfs_mount): Likewise.
36958
36959 * include/grub/disk.h (enum grub_disk_dev_id): Add
36960 `GRUB_DISK_DEVICE_HOST_ID'.
36961
36962 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
36963
e5dfe777 369642007-07-24 Jerone Young <jerone@gmail.com>
36965
f19dbdb7 36966 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 36967 modules for compilation.
36968 * conf/powerpc-ieee1275.rmk: Likewise.
36969
36970 * include/multiboot.h: Move multiboot definitions to one file. Rename
36971 many definitions to not get grub specific.
36972 * include/multiboot2.h: Create header with multiboot 2 definitions.
36973 * include/grub/multiboot.h: Header for grub specific function
36974 prototypes and definitions.
36975 * include/grub/multiboot2.h: Likewise.
36976 * include/grub/multiboot_loader.h: Likewise.
36977 * include/grub/i386/pc/multiboot.h: Removed.
36978 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
36979
36980 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
36981 and 2 to allow for one multiboot and module commands.
36982 * loader/multiboot2.c: Add multiboot2 functionality.
36983 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
36984 and definition names.
36985 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
36986 2 functions.
36987 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
36988 ieee1275 specific multiboot2 code.
36989
36990 * kern/i386/pc/startup.S: Change headers and definition names for
36991 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
36992
daf0f0ba 369932007-07-22 Robert Millan <rmh@aybabtu.com>
36994
36995 * geninitheader.sh: Process file specified in first parameter rather
36996 than hardcoding grub_modules_init.lst.
fe6b695a 36997 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 36998 than hardcoding grub_modules_init.h.
36999
37000 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
37001 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
37002 grub_probe_init.[ch] and grub_setup_init.[ch].
37003
37004 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
37005 grub_modules_init.h with grub_emu_init.h.
37006 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
37007 grub_probe_init.[ch] files.
37008 * conf/i386-efi.rmk: Likewise.
37009 * conf/i386-pc.rmk: Likewise.
37010 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
37011 grub_setup_init.[ch] files.
37012
37013 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
37014 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
37015 to initialize modules rather than a list of hardcoded functions.
37016 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
37017 grub_init_all() to initialize modules rather than a list of hardcoded
37018 functions.
37019
54cdc1cc 370202007-07-22 Robert Millan <rmh@aybabtu.com>
37021
37022 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
37023 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
37024
ad0686cc 370252007-07-22 Robert Millan <rmh@aybabtu.com>
37026
37027 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37028 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
37029 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
37030 flag when running on SmartFirmware.
37031 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
37032 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
37033 was set.
37034
37035 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37036 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
37037 rather than decreasing it.
37038
37039 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
37040 there's not enough space to do it, fail in the same way as when it
37041 can't be done because there are no partitions.
37042
37043 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
37044 when nvsetenv failed.
37045
969c02ec 370462007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37047
37048 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
37049 because this rule is automatically generated.
37050 (grub-mkrescue): Removed for the same reason as above.
37051
5a79f472 370522007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37053
37054 Migrate to GNU General Public License Version 3.
f19dbdb7 37055
5a79f472 37056 * COPYING: Replaced with the plain text version of GPLv3.
37057
37058 * config.guess: Updated from gnulib.
37059 * config.sub: Likewise.
37060
37061 * geninit.sh: Output a GPLv3 copyright notice.
37062 * geninitheader.sh: Likewise.
37063 * genmodsrc.sh: Likewise.
37064 * gensymlist.sh.in: Likewise.
37065
37066 * boot/i386/pc/boot.S: Upgraded to GPLv3.
37067 * boot/i386/pc/diskboot.S: Likewise.
37068 * boot/i386/pc/pxeboot.S: Likewise.
37069 * commands/blocklist.c: Likewise.
37070 * commands/boot.c: Likewise.
37071 * commands/cat.c: Likewise.
37072 * commands/cmp.c: Likewise.
37073 * commands/configfile.c: Likewise.
37074 * commands/echo.c: Likewise.
37075 * commands/help.c: Likewise.
37076 * commands/ls.c: Likewise.
37077 * commands/search.c: Likewise.
37078 * commands/terminal.c: Likewise.
37079 * commands/test.c: Likewise.
37080 * commands/videotest.c: Likewise.
37081 * commands/i386/cpuid.c: Likewise.
37082 * commands/i386/pc/halt.c: Likewise.
37083 * commands/i386/pc/play.c: Likewise.
37084 * commands/i386/pc/reboot.c: Likewise.
37085 * commands/i386/pc/vbeinfo.c: Likewise.
37086 * commands/i386/pc/vbetest.c: Likewise.
37087 * commands/ieee1275/halt.c: Likewise.
37088 * commands/ieee1275/reboot.c: Likewise.
37089 * commands/ieee1275/suspend.c: Likewise.
37090 * disk/loopback.c: Likewise.
37091 * disk/lvm.c: Likewise.
37092 * disk/raid.c: Likewise.
37093 * disk/efi/efidisk.c: Likewise.
37094 * disk/i386/pc/biosdisk.c: Likewise.
37095 * disk/ieee1275/ofdisk.c: Likewise.
37096 * font/manager.c: Likewise.
37097 * fs/affs.c: Likewise.
37098 * fs/ext2.c: Likewise.
37099 * fs/fat.c: Likewise.
37100 * fs/fshelp.c: Likewise.
37101 * fs/hfs.c: Likewise.
37102 * fs/hfsplus.c: Likewise.
37103 * fs/iso9660.c: Likewise.
37104 * fs/jfs.c: Likewise.
37105 * fs/minix.c: Likewise.
37106 * fs/sfs.c: Likewise.
37107 * fs/ufs.c: Likewise.
37108 * fs/xfs.c: Likewise.
37109 * hello/hello.c: Likewise.
37110 * include/grub/acorn_filecore.h: Likewise.
37111 * include/grub/arg.h: Likewise.
37112 * include/grub/bitmap.h: Likewise.
37113 * include/grub/boot.h: Likewise.
37114 * include/grub/cache.h: Likewise.
37115 * include/grub/device.h: Likewise.
37116 * include/grub/disk.h: Likewise.
37117 * include/grub/dl.h: Likewise.
37118 * include/grub/elfload.h: Likewise.
37119 * include/grub/env.h: Likewise.
37120 * include/grub/err.h: Likewise.
37121 * include/grub/file.h: Likewise.
37122 * include/grub/font.h: Likewise.
37123 * include/grub/fs.h: Likewise.
37124 * include/grub/fshelp.h: Likewise.
37125 * include/grub/gzio.h: Likewise.
37126 * include/grub/hfs.h: Likewise.
37127 * include/grub/kernel.h: Likewise.
37128 * include/grub/loader.h: Likewise.
37129 * include/grub/lvm.h: Likewise.
37130 * include/grub/misc.h: Likewise.
37131 * include/grub/mm.h: Likewise.
37132 * include/grub/net.h: Likewise.
37133 * include/grub/normal.h: Likewise.
37134 * include/grub/parser.h: Likewise.
37135 * include/grub/partition.h: Likewise.
37136 * include/grub/pc_partition.h: Likewise.
37137 * include/grub/raid.h: Likewise.
37138 * include/grub/rescue.h: Likewise.
37139 * include/grub/script.h: Likewise.
37140 * include/grub/setjmp.h: Likewise.
37141 * include/grub/symbol.h: Likewise.
37142 * include/grub/term.h: Likewise.
37143 * include/grub/terminfo.h: Likewise.
37144 * include/grub/tparm.h: Likewise.
37145 * include/grub/types.h: Likewise.
37146 * include/grub/video.h: Likewise.
37147 * include/grub/efi/api.h: Likewise.
37148 * include/grub/efi/chainloader.h: Likewise.
37149 * include/grub/efi/console.h: Likewise.
37150 * include/grub/efi/console_control.h: Likewise.
37151 * include/grub/efi/disk.h: Likewise.
37152 * include/grub/efi/efi.h: Likewise.
37153 * include/grub/efi/pe32.h: Likewise.
37154 * include/grub/efi/time.h: Likewise.
37155 * include/grub/i386/linux.h: Likewise.
37156 * include/grub/i386/setjmp.h: Likewise.
37157 * include/grub/i386/types.h: Likewise.
37158 * include/grub/i386/efi/kernel.h: Likewise.
37159 * include/grub/i386/efi/loader.h: Likewise.
37160 * include/grub/i386/efi/time.h: Likewise.
37161 * include/grub/i386/pc/biosdisk.h: Likewise.
37162 * include/grub/i386/pc/boot.h: Likewise.
37163 * include/grub/i386/pc/chainloader.h: Likewise.
37164 * include/grub/i386/pc/console.h: Likewise.
37165 * include/grub/i386/pc/init.h: Likewise.
37166 * include/grub/i386/pc/kernel.h: Likewise.
37167 * include/grub/i386/pc/loader.h: Likewise.
37168 * include/grub/i386/pc/memory.h: Likewise.
37169 * include/grub/i386/pc/multiboot.h: Likewise.
37170 * include/grub/i386/pc/serial.h: Likewise.
37171 * include/grub/i386/pc/time.h: Likewise.
37172 * include/grub/i386/pc/vbe.h: Likewise.
37173 * include/grub/i386/pc/vbeblit.h: Likewise.
37174 * include/grub/i386/pc/vbefill.h: Likewise.
37175 * include/grub/i386/pc/vbeutil.h: Likewise.
37176 * include/grub/i386/pc/vga.h: Likewise.
37177 * include/grub/ieee1275/ieee1275.h: Likewise.
37178 * include/grub/ieee1275/ofdisk.h: Likewise.
37179 * include/grub/powerpc/libgcc.h: Likewise.
37180 * include/grub/powerpc/setjmp.h: Likewise.
37181 * include/grub/powerpc/types.h: Likewise.
37182 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
37183 * include/grub/powerpc/ieee1275/console.h: Likewise.
37184 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
37185 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
37186 * include/grub/powerpc/ieee1275/loader.h: Likewise.
37187 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
37188 * include/grub/powerpc/ieee1275/time.h: Likewise.
37189 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
37190 * include/grub/sparc64/libgcc.h: Likewise.
37191 * include/grub/sparc64/setjmp.h: Likewise.
37192 * include/grub/sparc64/types.h: Likewise.
37193 * include/grub/sparc64/ieee1275/console.h: Likewise.
37194 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37195 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37196 * include/grub/sparc64/ieee1275/time.h: Likewise.
37197 * include/grub/util/biosdisk.h: Likewise.
37198 * include/grub/util/getroot.h: Likewise.
37199 * include/grub/util/lvm.h: Likewise.
37200 * include/grub/util/misc.h: Likewise.
37201 * include/grub/util/raid.h: Likewise.
37202 * include/grub/util/resolve.h: Likewise.
37203 * io/gzio.c: Likewise.
37204 * kern/device.c: Likewise.
37205 * kern/disk.c: Likewise.
37206 * kern/dl.c: Likewise.
37207 * kern/elf.c: Likewise.
37208 * kern/env.c: Likewise.
37209 * kern/err.c: Likewise.
37210 * kern/file.c: Likewise.
37211 * kern/fs.c: Likewise.
37212 * kern/loader.c: Likewise.
37213 * kern/main.c: Likewise.
37214 * kern/misc.c: Likewise.
37215 * kern/mm.c: Likewise.
37216 * kern/parser.c: Likewise.
37217 * kern/partition.c: Likewise.
37218 * kern/rescue.c: Likewise.
37219 * kern/term.c: Likewise.
37220 * kern/efi/efi.c: Likewise.
37221 * kern/efi/init.c: Likewise.
37222 * kern/efi/mm.c: Likewise.
37223 * kern/i386/dl.c: Likewise.
37224 * kern/i386/efi/init.c: Likewise.
37225 * kern/i386/efi/startup.S: Likewise.
37226 * kern/i386/pc/init.c: Likewise.
37227 * kern/i386/pc/lzo1x.S: Likewise.
37228 * kern/i386/pc/startup.S: Likewise.
37229 * kern/ieee1275/ieee1275.c: Likewise.
37230 * kern/powerpc/cache.S: Likewise.
37231 * kern/powerpc/dl.c: Likewise.
37232 * kern/powerpc/ieee1275/cmain.c: Likewise.
37233 * kern/powerpc/ieee1275/crt0.S: Likewise.
37234 * kern/powerpc/ieee1275/init.c: Likewise.
37235 * kern/powerpc/ieee1275/openfw.c: Likewise.
37236 * kern/sparc64/cache.S: Likewise.
37237 * kern/sparc64/dl.c: Likewise.
37238 * kern/sparc64/ieee1275/init.c: Likewise.
37239 * kern/sparc64/ieee1275/openfw.c: Likewise.
37240 * loader/efi/chainloader.c: Likewise.
37241 * loader/efi/chainloader_normal.c: Likewise.
37242 * loader/i386/efi/linux.c: Likewise.
37243 * loader/i386/efi/linux_normal.c: Likewise.
37244 * loader/i386/pc/chainloader.c: Likewise.
37245 * loader/i386/pc/chainloader_normal.c: Likewise.
37246 * loader/i386/pc/linux.c: Likewise.
37247 * loader/i386/pc/linux_normal.c: Likewise.
37248 * loader/i386/pc/multiboot.c: Likewise.
37249 * loader/i386/pc/multiboot_normal.c: Likewise.
37250 * loader/powerpc/ieee1275/linux.c: Likewise.
37251 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37252 * normal/arg.c: Likewise.
37253 * normal/cmdline.c: Likewise.
37254 * normal/command.c: Likewise.
37255 * normal/completion.c: Likewise.
37256 * normal/execute.c: Likewise.
37257 * normal/function.c: Likewise.
37258 * normal/lexer.c: Likewise.
37259 * normal/main.c: Likewise.
37260 * normal/menu.c: Likewise.
37261 * normal/menu_entry.c: Likewise.
37262 * normal/misc.c: Likewise.
37263 * normal/parser.y: Likewise.
37264 * normal/script.c: Likewise.
37265 * normal/i386/setjmp.S: Likewise.
37266 * normal/powerpc/setjmp.S: Likewise.
37267 * normal/sparc64/setjmp.S: Likewise.
37268 * partmap/acorn.c: Likewise.
37269 * partmap/amiga.c: Likewise.
37270 * partmap/apple.c: Likewise.
37271 * partmap/gpt.c: Likewise.
37272 * partmap/pc.c: Likewise.
37273 * partmap/sun.c: Likewise.
37274 * term/gfxterm.c: Likewise.
37275 * term/terminfo.c: Likewise.
37276 * term/efi/console.c: Likewise.
37277 * term/i386/pc/console.c: Likewise.
37278 * term/i386/pc/serial.c: Likewise.
37279 * term/i386/pc/vesafb.c: Likewise.
37280 * term/i386/pc/vga.c: Likewise.
37281 * term/ieee1275/ofconsole.c: Likewise.
37282 * util/biosdisk.c: Likewise.
37283 * util/console.c: Likewise.
37284 * util/genmoddep.c: Likewise.
37285 * util/getroot.c: Likewise.
37286 * util/grub-emu.c: Likewise.
37287 * util/grub-mkdevicemap.c: Likewise.
37288 * util/grub-probe.c: Likewise.
37289 * util/lvm.c: Likewise.
37290 * util/misc.c: Likewise.
37291 * util/raid.c: Likewise.
37292 * util/resolve.c: Likewise.
37293 * util/update-grub.in: Likewise.
37294 * util/update-grub_lib.in: Likewise.
37295 * util/grub.d/00_header.in: Likewise.
37296 * util/grub.d/10_hurd.in: Likewise.
37297 * util/grub.d/10_linux.in: Likewise.
37298 * util/i386/efi/grub-install.in: Likewise.
37299 * util/i386/efi/grub-mkimage.c: Likewise.
37300 * util/i386/pc/grub-install.in: Likewise.
37301 * util/i386/pc/grub-mkimage.c: Likewise.
37302 * util/i386/pc/grub-mkrescue.in: Likewise.
37303 * util/i386/pc/grub-setup.c: Likewise.
37304 * util/i386/pc/misc.c: Likewise.
37305 * util/powerpc/ieee1275/grub-install.in: Likewise.
37306 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
37307 * util/powerpc/ieee1275/misc.c: Likewise.
37308 * video/bitmap.c: Likewise.
37309 * video/video.c: Likewise.
37310 * video/i386/pc/vbe.c: Likewise.
37311 * video/i386/pc/vbeblit.c: Likewise.
37312 * video/i386/pc/vbefill.c: Likewise.
37313 * video/i386/pc/vbeutil.c: Likewise.
37314 * video/readers/tga.c: Likewise.
37315
3572d015 373162007-07-02 Robert Millan <rmh@aybabtu.com>
37317
37318 * conf/i386-efi.rmk: Replace obsolete reference to
37319 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
37320 with util/getroot.c.
37321 * conf/powerpc-ieee1275.rmk: Likewise.
37322 * conf/sparc64-ieee1275.rmk: Likewise.
37323
37324 * util/grub-emu.c (main): Fix unchecked pointer handling.
37325
2c2a681b 373262007-07-02 Robert Millan <rmh@aybabtu.com>
37327
37328 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
37329 invocation to fail, in order to support partition-less media.
37330
37331 * util/i386/pc/grub-install.in: Likewise.
37332
37333 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
37334 which fs or partmap modules are needed (akin to its sister scripts).
37335
37336 Also use grub-probe to get rid of unportable /proc/mounts check.
37337
37338 Print the same informational message that the other scripts do, before
fe6b695a 37339 exiting.
2c2a681b 37340
6193defe 373412007-06-23 Robert Millan <rmh@aybabtu.com>
37342
fe6b695a 37343 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 37344 a font file can be found and, if so, echo the GRUB path to it.
37345
37346 * util/update-grub.in: Handle multiple terminals depending on user
37347 input, platform availability and font file presence. Propagate
37348 variables of our findings to /etc/grub.d/ children.
37349
37350 * util/grub.d/00_header.in: Handle multiple terminals, based on
37351 environment setup by update-grub.
37352
eface1dc 373532007-06-23 Robert Millan <rmh@aybabtu.com>
37354
ba50d28f 37355 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 37356
bf697e28 373572007-06-21 Robert Millan <rmh@aybabtu.com>
37358
37359 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
37360 indicate end of data section in kernel image.
37361 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
37362 GRUB_KERNEL_MACHINE_DATA_END.
37363
37364 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
37365 space for it.
37366 * kern/i386/efi/startup.S: Likewise.
37367
37368 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
37369 during image generation. Implement --prefix option to override this
37370 patch.
37371 * util/i386/efi/grub-mkimage.c: Likewise.
37372
37373 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
37374 code to make path relative to its root into a separate function.
37375
37376 * util/i386/pc/grub-install.in: Use newly provided
37377 make_system_path_relative_to_its_root() to convert ${grubdir}, then
37378 pass the result to grub-install --prefix.
37379
baa574b4 373802007-06-13 Robert Millan <rmh@aybabtu.com>
37381
37382 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
37383 DEFAULT_DEVICE_MAP.
37384 * util/grub-emu.c: Use above definitions from misc.h instead of
37385 defining them.
37386 * util/grub-mkdevicemap.c: Likewise.
37387 * util/i386/pc/grub-setup.c: Likewise.
37388 * util/grub-probe.c: Likewise.
37389 (probe): Abort with grub_util_error() when either
37390 grub_guess_root_device or grub_util_get_grub_dev fails.
37391
0215dcbf 373922007-06-12 Robert Millan <rmh@aybabtu.com>
37393
37394 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
37395 "pager" assignment.
37396 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
37397 "pcdata".
37398 * util/grub-probe.c (probe): Likewise for "drive_name".
37399
8af2ab7b 374002007-06-11 Robert Millan <rmh@aybabtu.com>
37401
37402 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
37403 not just the cdrom one.
37404
59d31694 374052007-06-11 Robert Millan <rmh@aybabtu.com>
37406
37407 * util/i386/pc/grub-mkrescue.in: Add "set -e".
37408 Add --pkglibdir=DIR option to override pkglibdir.
37409 Mention --image-type=TYPE in help output.
37410 Fix --grub-mkimage (it was a no-op).
fe6b695a 37411 Abort gracefully when no parameter is given.
59d31694 37412
7ee367e4 374132007-06-11 Robert Millan <rmh@aybabtu.com>
37414
37415 * util/i386/pc/grub-mkrescue.in: New file.
37416 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
37417 * Makefile.in: Handle bin_SCRIPTS.
37418
29b0ed46 374192007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
37420
37421 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
37422 list of video modes.
37423
c0f90770 374242007-06-06 Robert Millan <rmh@aybabtu.com>
37425
37426 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
37427 file doesn't exist, or if it is in a filesystem grub can't read.
37428
37429 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
37430 not abort if GRUB_DRIVE could not be defined. Rearrange generated
37431 header comment to fit in 80 columns when the variables are resolved.
37432
37433 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
37434 could be identified by update-grub. Remove redundant check for
fe6b695a 37435 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 37436 handles that).
37437
fb36dc26 374382007-06-04 Robert Millan <rmh@aybabtu.com>
37439
37440 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
37441
37442 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
37443
37444 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
37445
0c68c93e 374462007-06-04 Robert Millan <rmh@aybabtu.com>
37447
37448 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
37449
37450 * include/grub/partition.h: Declare grub_apple_partition_map_init and
37451 grub_apple_partition_map_fini.
37452
37453 * util/biosdisk.c
37454 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
37455 to access >2 TiB disks).
37456
37457 Print disk->total_sectors with %llu instead of %lu, since this
37458 variable is always 64-bit (prevents wrong disk size from being displayed
37459 on either >2 TiB disk or big-endian CPU).
37460
37461 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
37462 into a generic case that supports all (sane) partition maps.
37463
37464 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
37465 breaks big-endian.
37466
37467 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
37468 and grub_apple_partition_map_fini() after that.
37469
0f23eb74 374702007-06-01 Robert Millan <rmh@aybabtu.com>
37471
37472 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
37473
37474 * util/grub.d/00_header.in: Only enable gfxterm when
37475 convert_system_path_to_grub_path() succeeds.
37476
42c71976 374772007-05-20 Robert Millan <rmh@aybabtu.com>
37478
37479 * util/update-grub_lib.in: New file.
37480 * DISTLIST: Add update-grub_lib.in.
37481 * conf/common.rmk: Generate update-grub_lib and install it in
37482 $(lib_DATA).
37483 * Makefile.in: Add install routine for $(lib_DATA).
37484
37485 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37486 function provided by update-grub_lib to support arbitrary paths of
37487 unifont.pff.
37488 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37489 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37490
5beb2291 374912007-05-19 Robert Millan <rmh@aybabtu.com>
37492
37493 * commands/i386/cpuid.c: New module.
37494 * DISTLIST: Add it.
37495 * conf/i386-efi.rmk: Enable cpuid.mod.
37496 * conf/i386-pc.rmk: Likewise.
37497
7262eca1 374982007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37499
37500 * kern/disk.c (grub_disk_read): Check return value of
37501 grub_realloc().
37502
260ba823 375032007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37504
37505 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37506 arrays.
37507 * disk/raid.c (grub_raid_open): Likewise.
37508
1ecb6cf2 375092007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37510
37511 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37512 stack instead of on the heap.
37513
37514 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37515 before doing a read on it.
37516
37517 * configure.ac: Only use -fno-stack-protector for the target
37518 environment.
f19dbdb7 37519
21c8cbb1 375202007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37521
37522 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37523 __attribute_ ((unused)) to mode_type argument.
37524
37525 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 37526
21c8cbb1 37527 * kern/misc.c (memcmp): Fix prototype.
37528
37529 * include/grub/partition.h [GRUB_UTIL]
37530 (grub_gpt_partition_map_init): Add prototype.
37531 (grub_gpt_partition_map_fini): Likewise.
37532
37533 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37534 at the right place.
37535
37536 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37537 (grub_fat_read_data): Likewise.
37538 (grub_fat_find_dir): Likewise.
37539
37540 * font/manager.c (find_glyph): Make table a const.
37541 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 37542
849d55d3 375432007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37544
37545 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37546 code, first search for device in /dev/mapper, then in /dev.
37547 (grub_util_get_grub_dev): New function.
37548 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37549 prototype.
37550 * util/grub-probe.c (probe): Remove check for RAID, call
37551 grub_util_get_grub_dev() instead of
37552 grub_util_biosdisk_get_grub_dev().
37553 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37554 grub_util_biosdisk_get_grub_dev().
37555 * util/i386/pc/grub-setup.c (main): Likewise.
37556
8fff7c2f 375572007-05-16 Robert Millan <rmh@aybabtu.com>
37558
37559 * DISTLIST: Update for the latest changes.
37560 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37561 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37562 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37563 grub/util/biosdisk.h.
37564 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37565 grub/util/biosdisk.h.
37566
48e12b52 375672007-05-16 Robert Millan <rmh@aybabtu.com>
37568
37569 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37570
46b9d128 375712007-05-16 Robert Millan <rmh@aybabtu.com>
37572
37573 * util/i386/efi/grub-install.in: New.
37574 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37575 newly added grub-install.
37576 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37577 include.
37578 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37579 grub/util/biosdisk.h.
37580 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37581 grub/util/biosdisk.h.
37582
2d1a40a9 375832007-05-16 Robert Millan <rmh@aybabtu.com>
37584
37585 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37586 * include/grub/util/biosdisk.h: ... here.
37587 * util/i386/pc/biosdisk.c: Moved to ...
37588 * util/biosdisk.c: ... here.
37589 * util/i386/pc/getroot.c: Moved to ...
37590 * util/getroot.c: ... here.
37591 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37592 * util/grub-mkdevicemap.c: ... here.
37593 * util/i386/pc/grub-probe.c: Moved to ...
37594 * util/grub-probe.c: ... here.
37595
9e26e3bc 375962007-05-15 Robert Millan <rmh@aybabtu.com>
37597
37598 * util/update-grub.in: Remove duplicated line in grub.cfg header
37599 message.
37600
57f96397 376012007-05-13 Robert Millan <rmh@aybabtu.com>
37602
37603 * util/update-grub.in: Fix a few assumptions about the devices holding
37604 /, /boot and /boot/grub being the same.
37605 * util/grub.d/00_header.in: Likewise.
37606 * util/grub.d/10_hurd.in: Likewise.
37607 * util/grub.d/10_linux.in: Likewise.
37608
37609 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37610 patterns. Use that to define the `.old' suffix as older than `'.
37611
37612 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37613
37614 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37615 the grub.cfg header message.
37616
2e610d62 376172007-05-11 Robert Millan <rmh@aybabtu.com>
37618
37619 * util/update-grub.in: Create device.map if it doesn't already exist,
37620 before attempting to run grub-probe.
37621 Check for grub-probe and grub-mkdevicemap with the same code
37622 grub-install is using.
37623 Remove test mode.
37624
3f6a10ef 376252007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37626
37627 * Makefile.in: Add the datarootdir autoconf variable.
37628
02e7b75e 376292007-05-09 Robert Millan <rmh@aybabtu.com>
37630
37631 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 37632 fail gracefully if dev->disk->partition == NULL.
02e7b75e 37633
75f396cc 376342007-05-07 Robert Millan <rmh@aybabtu.com>
37635
37636 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37637 determine partition map module.
37638 * util/i386/pc/grub-install.in: Use this feature to decide which
37639 partition module to load, instead of hardcoding pc and gpt.
37640
da65cb36 376412007-05-07 Robert Millan <rmh@aybabtu.com>
37642
37643 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37644 source directory differs from build directory.
37645
b57d6a91 376462007-05-05 Robert Millan <rmh@aybabtu.com>
37647
37648 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37649 initialisation.
37650
509d00f1 376512007-05-05 Robert Millan <rmh@aybabtu.com>
37652
37653 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37654
c48f23ef 376552007-05-05 Robert Millan <rmh@aybabtu.com>
37656
37657 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
37658 command-line arguments via ${GRUB_CMDLINE_LINUX}.
37659
20b97658 376602007-05-05 Robert Millan <rmh@aybabtu.com>
37661
37662 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
37663 (grub_probe_SOURCES): Likewise.
37664 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
37665 GPT and initialize dos_part and bsd_part accordingly.
37666 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
37667 install_bsd_part.
37668 (main): Activate gpt module for use during partition identification,
37669 and deactivate it afterwards.
37670 * util/i386/pc/grub-install.in: Add gpt module to core.img.
37671 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
37672 partition identification, and deactivate it afterwards.
37673
99123174 376742007-05-05 Robert Millan <rmh@aybabtu.com>
37675
37676 * term/i386/pc/console.c (grub_console_fini): Call
37677 grub_term_set_current() before grub_term_unregister().
37678
ebd97f6e 376792007-05-04 Robert Millan <rmh@aybabtu.com>
37680
37681 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
37682 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
37683 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
37684 and update-grub_DATA.
37685 * conf/common.rmk: Build and install update-grub components.
37686 * conf/common.mk: Regenerate.
37687 * util/update-grub.in: New. Core of update-grub.
37688 * util/grub.d/00_header.in: New. Generates grub.cfg header.
37689 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
37690 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
37691 * util/grub.d/README: New. Document grub.d directory layout.
37692
b06a264d 376932007-05-01 Robert Millan <rmh@aybabtu.com>
37694
37695 * util/grub-emu.c: Move initialization functions
37696 grub_util_biosdisk_init() and grub_init_all() before
37697 grub_util_biosdisk_get_grub_dev(), which relies on them.
37698
41f0050e 376992007-04-19 Robert Millan <rmh@aybabtu.com>
37700
37701 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
37702 it is used later.
37703
04582bb3 377042007-04-18 Jerone Young <jerone@gmail.com>
37705
f19dbdb7 37706 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 37707 stanza.
37708
08db4632 377092007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 37710
08db4632 37711 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
37712 continue on and look for device node with real device name.
37713
801b76be 377142007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 37715
fe6b695a 37716 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 37717 ability.
37718 * Makefile.in: Add autoconf package transformation code.
37719 * util/i386/pc/grub-install.in: Likewise.
37720 * util/powerpc/ieee1275/grub-install.in: Likewise.
37721
6795c4e1 377222007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37723
37724 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
37725 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
37726 (EXT2_REVISION): Likewise.
37727 (EXT2_INODE_SIZE): Likewise.
37728 (struct grub_ext2_block_group): Added a missing member
37729 "used_dirs".
37730 (grub_ext2_read_inode): Divide by the inode size in a superblock
37731 instead of 128 to obtain INODES_PER_BLOCK.
37732 Use the macro EXT2_INODE_SIZE instead of directly using
37733 SBLOCK->INODE_SIZE.
37734
d70af616 377352007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37736
37737 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
37738 superblock instead of the structure size to compute an
37739 offset. This fixes the problem that GRUB could not read a
37740 filesystem when inode size is different from 128-byte.
37741
3b801603 377422007-03-05 Marco Gerards <marco@gnu.org>
37743
37744 * normal/main.c (read_config_file): When "menu" is not set, create
37745 an initial context.
37746
4785bfe4 377472007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37748
37749 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37750 (HEAP_LIMIT): New macro.
37751 (grub_claim_heap): Claim memory up to `heaplimit'.
37752
a0cbb023 377532007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37754
37755 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37756 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37757 (_start): Likewise.
37758 (grub_arch_modules_addr): Return address after `_end'.
37759 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37760 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37761 (add_segments): Calculate `_end' from phdr size and location.
37762 (ALIGN_UP): Moved to ...
37763 * include/grub/misc.h: here.
37764 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37765 New macro.
37766 (GRUB_IEEE1275_MODULE_BASE): Removed.
37767
fd7d8eba 377682007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37769
37770 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
37771 loop boundary.
37772
9b09e6fc 377732007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37774
37775 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
37776 All users updated.
37777 (grub_elf64_load_hook_t): Likewise.
37778 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
37779 debug output.
37780
3ce27299 377812007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37782
37783 * kern/mm.c: Update copyright.
37784 (grub_mm_debug): Correct syntax error.
37785 (grub_mm_dump_free): New function.
37786 (grub_debug_free): Call `grub_free'.
37787 * include/grub/mm.h: Update copyright.
37788 (grub_mm_dump_free): Add declaration.
37789
077d5fee 377902007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37791
37792 * include/grub/ieee1275/ieee1275.h: Update copyright.
37793 * kern/powerpc/ieee1275/init.c: Likewise.
37794 * kern/powerpc/ieee1275/openfw.c: Likewise.
37795
37796 * loader/powerpc/ieee1275/linux.c: Likewise.
37797 * include/grub/elfload.h: Likewise.
37798 * kern/elf.c: Likewise.
37799 (grub_elf32_load): Pass `base' and `size' parameters. Update all
37800 callers.
37801 (grub_elf64_load): Likewise.
37802 (grub_elf32_load_segment): Move to a nested function.
37803 (grub_elf64_load_segment): Likewise.
37804
dc946850 378052007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37806
37807 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
37808 prototype.
37809 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
37810 (grub_heap_len): Likewise.
37811 (HEAP_SIZE): New macro.
37812 (grub_claim_heap): New function.
37813 (grub_machine_init): Don't claim heap directly. Call
37814 `grub_claim_heap'.
37815 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
37816 (grub_available_iterate): New function.
37817
baa2a121 378182007-02-03 Thomas Schwinge <tschwinge@gnu.org>
37819
37820 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
37821 * configure.ac: Use it for testing the HOST and TARGET compilers.
37822
4fe9862e 378232006-12-13 Thomas Schwinge <tschwinge@gnu.org>
37824
37825 * Makefile.in (enable_grub_emu): New variable.
37826 * configure.ac (--enable-grub-emu): New option.
37827 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
37828 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
37829 * conf/i386-pc.rmk: Likewise.
37830 * conf/powerpc-ieee1275.rmk: Likewise.
37831 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
37832
a8aa5762 378332006-12-12 Marco Gerards <marco@gnu.org>
37834
37835 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
37836
37837 * kern/env.c (grub_env_unset): Don't free the member `value' when
37838 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
37839 pointer.
37840
37841 * normal/main.c (current_menu): Removed.
37842 (free_menu): Unset the `menu' environment variable.
37843 (grub_normal_menu_addentry): Make use of the environment variable
37844 `menu', instead of using the global `current_menu'. Allocate
37845 memory for the sourcecode of this entry.
37846 (read_config_file): New argument `nested', changed all callers.
37847 Only in the case of a new context, initialize a new menu. Set the
37848 `menu' environment variable.
37849 (grub_normal_execute): Don't set and unset the environment
37850 variable `menu' here anymore. Only free the menu when leaving the
37851 context.
37852
37853 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
37854 leak.
37855
957b3a3e 378562006-12-11 Marco Gerards <marco@gnu.org>
37857
37858 * normal/menu_entry.c (run): Fix off by one bug so the last line
37859 is executed. Move the loader check to outside the loop.
37860
ef875714 378612006-12-08 Hollis Blanchard <hollis@penguinppc.org>
37862
37863 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
37864
4e739985 378652006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
37866
37867 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
37868 the number of sectors. Reported by Andrey Shuvikov
37869 <mr_hyro@yahoo.com>.
f19dbdb7 37870
790707f2 378712006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
37872
37873 * kern/disk.c (grub_disk_read): When there is a read error, always
37874 try to read only the necessary data.
f19dbdb7 37875
790707f2 37876 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
37877 disk/raid.c.
37878 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
37879 prototype.
37880 [GRUB_UTIL] (grub_raid_fini): Likewise.
37881 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 37882 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 37883 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
37884 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
37885 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
37886 and grub_raid_fini().
f19dbdb7 37887
03e58196 378882006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37889
37890 * include/grub/types.h (__unused): Rename to UNUSED.
37891 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
37892 (grub_elf64_size): Likewise.
f19dbdb7 37893
ae4f23bf 378942006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37895
37896 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
37897 grub_error_push and grub_error_pop in the error-handling path.
37898 (grub_elf32_load_segment): Only call grub_file_read with non-zero
37899 length.
37900
2166cc83 379012006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37902
37903 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
37904 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37906 (kernel_elf_SOURCES): Likewise.
37907 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
37908 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
37909 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37910 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37911 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
37912 (elf_mod_SOURCES): New variable.
37913 (elf_mod_CFLAGS): Likewise.
37914 (elf_mod_LDFLAGS): Likewise.
37915 * include/grub/types.h (__unused): New macro.
37916 * include/grub/elfload.h: New file.
37917 * kern/elf.c: Likewise.
37918 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
37919 (ELF32_LOADMASK): New macro.
37920 (ELF64_LOADMASK): Likewise.
37921 (vmlinux): Removed.
37922 (grub_linux_load32): New function.
37923 (grub_linux_load64): Likewise.
37924 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
37925 Use grub_elf_t instead of grub_file_t.
37926
a09d5aa5 379272006-11-02 Hollis Blanchard <hollis@penguinppc.org>
37928
37929 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
37930 `catch_result' to struct set_color_args.
37931
d976fc51 379322006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37933
37934 * normal/menu.c: Include grub/script.h.
37935 * normal/menu_entry.c: Likewise.
37936 * include/grub/normal.h: Do not include grub/script.h.
37937
67507549 379382006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37939
37940 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
37941
69203a99 379422006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37943
37944 * kern/disk.c (grub_disk_open): Print debug messages when opening a
37945 disk.
37946 (grub_disk_close): Print debug messages when closing a disk.
37947 (grub_disk_read): Print debug messages when disk read fails.
37948 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
37949 filesystem type.
37950 * kern/partition.c: Include misc.h.
37951 (grub_partition_iterate): Print debug messages when detecting
37952 partition type.
37953
e2b8278c 379542006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37955
37956 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
37957 is negative.
37958 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
37959
97b2f2ff 379602006-10-26 Hollis Blanchard <hollis@penguinppc.org>
37961
37962 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37963 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
37964
6555d655 379652006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
37966
37967 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
37968 instead of sizeof(lv). Patch by Michael Guntsche.
37969
4d42b77f 379702006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
37971
37972 * disk/lvm.c: Rename VGS to VG_LIST.
37973 (grub_lvm_iterate): Change VGS->LV to VG-LV.
37974 (grub_lvm_open): Likewise.
37975 Thanks to Michael Guntsche for finding this bug.
37976
5d74d927 379772006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37978
37979 * configure.ac (AC_INIT): Bumped to 1.95.
37980
a1bb27e4 379812006-10-14 Robert Millan <rmh@aybabtu.com>
37982
37983 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
37984 with "/dev/.static/dev/md".
37985
e0994b8b 379862006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37987
37988 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
37989 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
37990 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
37991 DRIVE_NAME are always freed.
37992
37993 * util/i386/pc/biosdisk.c (make_device_name): Add one into
37994 DOS_PART, as a DOS partition is counted from one instead of zero
37995 now. Reported by Robert Millan.
37996
ddd5cee9 379972006-10-14 Robert Millan <rmh@aybabtu.com>
37998
37999 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
38000 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
38001 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
38002 string returned by grub_guess_root_device.
38003 * util/i386/pc/grub-setup.c: Likewise.
38004 * util/i386/pc/grub-probefs.c: Likewise.
38005
38006 * util/i386/pc/grub-probefs.c: Rename to ...
38007 * util/i386/pc/grub-probe.c: ... this.
38008 * DISTLIST: Remove grub-probefs, add grub-probe.
38009 * conf/i386-efi.rmk: Likewise.
38010 * conf/i386-pc.rmk: Likewise.
38011 * util/i386/pc/grub-install.in: Likewise.
38012
38013 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
38014 choose which information we want to print.
38015
2b002173 380162006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38017
38018 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
38019 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
38020 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
38021 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
38022 video/readers/tga.c and video/i386/pc/vbeutil.c.
38023
380242006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
38025
38026 Added support for RAID and LVM.
f19dbdb7 38027
2b002173 38028 * disk/lvm.c: New file.
38029 * disk/raid.c: Likewise.
38030 * include/grub/lvm.h: Likewise.
f19dbdb7 38031 * include/grub/raid.h: Likewise.
2b002173 38032 * include/grub/util/lvm.h: Likewise.
38033 * include/grub/util/raid.h: Likewise.
38034 * util/lvm.c: Likewise.
38035 * util/raid.c: Likewise.
38036
38037 * include/grub/disk.h (grub_disk_dev_id): Add
38038 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
38039 (grub_disk_get_size): New prototype.
38040 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
38041 returns a partition.
38042 (grub_disk_get_size): New function.
f19dbdb7 38043
2b002173 38044 * kern/i386/pc/init.c (make_install_device): Copy the prefix
38045 verbatim if grub_install_dos_part is -2.
38046
38047 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
38048 and LVM devices.
38049
38050 * util/i386/pc/grub-setup.c (setup): New argument
38051 MUST_EMBED. Force embedding of GRUB when the argument is
38052 true. Close FILE before returning.
38053 (main): Add support for RAID and LVM.
f19dbdb7 38054
2b002173 38055 * conf/common.rmk: Add RAID and LVM modules.
38056 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
38057 util/lvm.c.
38058 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
38059
38060 * kern/misc.c (grub_strstr): New function.
38061 * include/grub/misc.h (grub_strstr): New prototype.
38062
050548d0 380632006-10-10 Tristan Gingold <tristan.gingold@bull.net>
38064
38065 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
38066
da849d2d 380672006-10-05 Tristan Gingold <tristan.gingold@bull.net>
38068
38069 * kern/misc.c (grub_strtoull): Guess the base only if not
38070 specified.
38071
97b2f2ff 380722006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 38073
38074 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
38075 PowerMac support.
38076
97b2f2ff 380772006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 38078
38079 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
38080
38081 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
38082 Remove `flags' argument. All callers changed.
38083 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
38084 (IEEE1275_IHANDLE_INVALID): New variable.
38085 (IEEE1275_CELL_INVALID): New variable.
38086 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38087 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
38088 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
38089 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
38090 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
38091 codes from Open Firmware. All callers updated.
38092 (grub_ieee1275_next_property): Directly return Open Firmware return
38093 code.
38094 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38095 Standardize error checking from `grub_ieee1275_get_property'.
38096 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
38097 `devalias' to `aliases'. Correct comments. Consolidate error paths.
38098
97b2f2ff 380992006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 38100
38101 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
38102 `instance_to_package_args' to `instance_to_path_args'.
38103
38104 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
38105 `grub_ieee1275_chosen'.
38106
38107 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
38108 `grub_ieee1275_interpret'.
38109
97b2f2ff 381102006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 38111
38112 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
38113
97b2f2ff 381142006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 38115
38116 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
38117 (__cmpdi): Likewise.
38118
38119 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
38120 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
38121 `grub_ssize_t'.
38122
02bb8acc 38123 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 38124
38125 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
38126 to type `grub_ssize_t'.
38127 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
38128
7f9a8531 381292006-09-22 Marco Gerards <marco@gnu.org>
38130
38131 * normal/script.c (grub_script_create_cmdmenu): Skip leading
38132 newlines.
38133
b5ef1102 381342006-09-22 Marco Gerards <marco@gnu.org>
38135
38136 * commands/echo.c: New file.
38137
38138 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
38139
38140 * conf/common.rmk (echo_mod_SOURCES): New variable.
38141 (echo_mod_CFLAGS): Likewise.
38142 (echo_mod_LDFLAGS): Likewise.
38143
2cff3677 381442006-09-22 Marco Gerards <marco@gnu.org>
38145
38146 * normal/main.c (get_line): Malloc memory instead of using
38147 preallocated memory. Removed the arguments `cmdline' and
38148 `max_len'. Updated all callers.
38149
6ba4688b 381502006-09-22 Marco Gerards <marco@gnu.org>
38151
38152 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
38153 (normal_mod_DEPENDENCIES): Likewise.
38154
38155 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
38156 (normal_mod_DEPENDENCIES): Likewise.
38157
38158 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
38159
e02ac02c 381602006-09-22 Johan Rydberg <jrydberg@gnu.org>
38161
38162 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
38163 programs.
38164 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
38165 (normal_mod_DEPENDENCIES): Likewise.
38166 * conf/i386-pc.mk: Regenerate.
38167 * conf/i386-efi.mk: Likewise
38168 * conf/common.mk: Likewise.
38169 * conf/powerpc-ieee1275.mk: Likewise.
38170 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38171
8d252e44 381722006-09-22 Robert Millan <rmh@aybabtu.com>
38173
38174 Sync with i386 version.
38175 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
38176 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
38177
209bf7ac 381782006-09-21 Robert Millan <rmh@aybabtu.com>
38179
38180 Import from GRUB Legacy (lib/device.c):
38181 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
38182 (init_device_map) [__linux__]: Add support for I2O devices.
38183
6b146090 381842006-09-14 Marco Gerards <marco@gnu.org>
38185
38186 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
38187 `-melf_i386'.
38188
e38600a8 381892006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 38190
38191 * util/i386/pc/grub-install.in: Skip menu.lst when removing
38192 /boot/grub/*.lst.
78fa1790 38193
2952da5d 38194 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 38195
2952da5d 38196 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
38197 before adding it to device.map.
38198
01b82a64 381992006-08-15 Johan Rydberg <jrydberg@gnu.org>
38200
fe6b695a 38201 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 38202 compiles a file; using the -MD option.
38203 * conf/common.mk: Regenerate.
38204 * conf/i386-pc.mk: Likewise.
38205 * conf/i386-efi.mk: Likewise.
38206 * conf/powerpc-ieee1275.mk: Likewise.
38207 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38208
1064790d 382092006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
38210
38211 Move the prototypes of grub_setjmp and grub_longjmp to
38212 cpu/setjmp.h, so that each architecture may specify different
38213 attributes.
f19dbdb7 38214
1064790d 38215 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
38216 (grub_longjmp): Likewise.
38217 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
38218 (grub_longjmp): Likewise.
38219 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
38220 (grub_longjmp): Likewise.
38221
38222 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
38223 [!GRUB_UTIL] (grub_longjmp): Removed.
38224
29dda3ed 382252006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
38226
38227 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
38228 "color!" method does not return any value.
38229
ad2a06ed 382302006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38231
38232 * include/grub/bitmap.h: New file.
38233
38234 * include/grub/i386/pc/vbeutil.h: Likewise.
38235
38236 * video/bitmap.c: Likewise.
38237
38238 * video/readers/tga.c: Likewise.
38239
38240 * video/i386/pc/vbeutil.c: Likewise.
38241
38242 * commands/videotest.c: Code cleanup and updated to reflect to new
38243 video API.
38244
38245 * term/gfxterm.c: Likewise.
38246
38247 * video/video.c: Likewise.
38248
38249 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
38250 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
38251 (bitmap_mod_SOURCES): New entry.
38252 (bitmap_mod_CFLAGS): Likewise.
38253 (bitmap_mod_LDFLAGS): Likewise.
38254 (tga_mod_SOURCES): Likewise.
38255 (tga_mod_CFLAGS): Likewise.
38256 (tga_mod_LDFLAGS): Likewise.
38257
38258 * include/grub/video.h (grub_video_blit_operators): New enum type.
38259 (grub_video_render_target): Changed as forward declaration and moved
38260 actual definition to be video driver specific.
38261 (grub_video_adapter.blit_bitmap): Added blitting operator.
38262 (grub_video_adapter.blit_render_target): Likewise.
38263 (grub_video_blit_bitmap): Likewise.
38264 (grub_video_blit_render_target): Likewise.
38265
38266 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
38267 driver specific render target definition.
38268 (grub_video_vbe_map_rgba): Added driver internal helper.
38269 (grub_video_vbe_unmap_color): Updated to use
38270 grub_video_i386_vbeblit_info.
38271 (grub_video_vbe_get_video_ptr): Likewise.
38272
38273 * include/grub/i386/pc/vbeblit.h
38274 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
38275 grub_video_i386_vbeblit_info.
38276 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38277 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38278 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38279 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38280 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38281 (grub_video_i386_vbeblit_index_index): Likewise.
38282 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
38283 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38284 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38285 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
38286 operator.
38287 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
38288 operator.
38289
38290 * video/i386/pc/vbeblit.c: Updated to reflect changes on
38291 include/grub/i386/pc/vbeblit.h.
38292
38293 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
38294 Updated to use grub_video_i386_vbeblit_info.
38295 (grub_video_i386_vbefill_R8G8B8): Likewise.
38296 (grub_video_i386_vbefill_index): Likewise.
38297 (grub_video_i386_vbefill): Added generic filler.
38298
38299 * video/i386/pc/vbefill.c: Updated to reflect changes on
38300 include/grub/i386/pc/vbefill.h.
38301
38302 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
38303 grub_video_i386_vbeblit_info.
38304 (grub_video_vbe_unmap_color): Likewise.
38305 (grub_video_vbe_blit_glyph): Likewise.
38306 (grub_video_vbe_scroll): Likewise.
38307 (grub_video_vbe_draw_pixel): Removed function.
38308 (grub_video_vbe_get_pixel): Likewise.
38309 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
38310 updated code to use it.
38311 (common_blitter): Added common blitter for render target and bitmap.
38312 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
38313 (grub_video_vbe_blit_render_target): Likewise.
38314
bc8c036d 383152006-07-30 Johan Rydberg <jrydberg@gnu.org>
38316
38317 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
38318 is in text mode if there is no console control protocol instance
38319 available.
38320
684a8eff 383212006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38322
38323 * include/grub/video.h: Code cleanup.
38324
38325 * include/grub/i386/pc/vbe.h: Likewise.
38326
38327 * video/i386/pc/vbe.c: Likewise.
38328
38329 * video/i386/pc/vbeblit.c: Likewise.
38330
38331 * video/i386/pc/vbefill.c: Likewise.
38332
38333 * video/video.c: Likewise. Also added more comments.
38334
5915059b 383352006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38336
38337 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
38338 (struct grub_biosdisk_dap): Likewise.
38339
38340 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
38341 linkage settings for all functions.
38342
90ce5d56 383432006-07-12 Marco Gerards <marco@gnu.org>
38344
38345 * configure.ac (--enable-mm-debug): Fix typo.
38346
38347 * genkernsyms.sh.in: Use proper quoting for `CC'.
38348
43e7f879 383492006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
38350
38351 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
38352 (normal_mod_ASFLAGS): Remove "-m32".
38353
4889bdec 383542006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
38355
38356 * util/misc.c: Include config.h.
38357 [!HAVE_MEMALIGN]: Do not include malloc.h.
38358 (grub_memalign): Use posix_memalign, if present. Then, use
38359 memalign, if present. Otherwise, emit an error.
38360
38361 * util/grub-emu.c: Do not include malloc.h.
38362
38363 * include/grub/util/misc.h: Include unistd.h. This is required for
38364 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
38365 D. Eades III <hde@foobar-qux.org>.
38366
38367 * configure.ac (AC_GNU_SOURCE): Added.
38368 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
38369 type.
38370
fd39d4da 383712006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
38372
38373 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
38374 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
38375
b786f3b5 383762006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
38377
38378 * include/grub/types.h (grub_host_addr_t): Rename to
38379 grub_target_addr_t.
38380 (grub_host_off_t): Rename to grub_target_off_t.
38381 (grub_host_size_t): Rename to grub_target_size_t.
38382 (grub_host_ssize_t): Rename to grub_target_ssize_t.
38383 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
38384
38385 * include/grub/kernel.h (struct grub_module_header): Change type
38386 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
38387 (grub_module_info): Likewise.
f19dbdb7 38388
051988bb 383892006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38390
38391 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
38392 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
38393 Velazquez <jesus.velazquez@gmail.com>.
38394
deae281b 383952006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38396
38397 Count partitions from 1 instead of 0 in the string representation
38398 of partitions. Still use 0-based internally.
f19dbdb7 38399
deae281b 38400 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
38401 (sun_partition_map_iterate): Use grub_partition_t instead of
38402 struct grub_partition *. Cast DESC->START_CYLINDER to
38403 grub_uint64_t after converting the endian.
38404 (sun_partition_map_probe): Subtract 1 for PARTNUM.
38405 (sun_partition_map_get_name): Add 1 to P->INDEX.
38406
38407 * partmap/pc.c (grub_partition_parse): Subtract 1 for
38408 PCDATA->DOS_PART.
38409 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
38410
38411 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
38412 zero instead of one.
38413 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
38414 (gpt_partition_map_get_name): Add 1 into P->INDEX.
38415
38416 * partmap/apple.c (apple_partition_map_iterate): Change the type
38417 of POS to unsigned.
38418 (apple_partition_map_probe): Subtract 1 for PARTNUM.
38419 (apple_partition_map_get_name): Add 1 into P->INDEX.
38420
38421 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
38422 of POS to unsigned.
38423 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
38424 calculate the offset of a partition.
38425 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
38426 (amiga_partition_map_get_name): Add 1 into P->INDEX.
38427
38428 * partmap/acorn.c (acorn_partition_map_find): Change the type of
38429 SECTOR to grub_disk_addr_t.
38430 (acorn_partition_map_iterate): Likewise.
38431 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
38432 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
38433 top.
38434 (acorn_partition_map_get_name): Add 1 into P->INDEX.
38435
38436 * kern/i386/pc/init.c (make_install_device): Add 1 into
38437 GRUB_INSTALL_DOS_PART.
38438
38439 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
38440 conditional.
38441
524a1e6a 384422006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38443
38444 Clean up the code to support 64-bit addressing in disks and
38445 files. This change is not enough for filesystems yet.
f19dbdb7 38446
524a1e6a 38447 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
38448 type of "start" to grub_uint64_t.
38449 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
38450 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
38451 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
38452 convert addresses.
38453
38454 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
38455 to grub_disk_addr_t.
38456
38457 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
38458 string.
38459
38460 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38461
38462 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
38463 to char *.
38464
38465 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
38466
38467 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
38468
38469 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
38470
38471 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
38472 to grub_off_t, to detect an error from grub_file_seek.
38473 (grub_multiboot_load_elf32): Likewise.
38474
38475 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
38476 maximum unsigned long value when an overflow is detected.
38477 (grub_strtoull): New function.
38478 (grub_divmod64): Likewise.
38479 (grub_lltoa): use grub_divmod64.
38480
38481 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
38482 grub_disk_addr_t.
38483 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
38484 the pointer to next character. Use grub_strtoull instead of
38485 grub_strtoul.
38486 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38487 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38488 respectively.
38489
fe6b695a 38490 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 38491 return value is signed.
38492 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38493 test if OFFSET is less than zero, as OFFSET is unsigned now.
38494
38495 * kern/disk.c (struct grub_disk_cache): Change the type of
38496 "sector" to grub_disk_addr_t.
38497 (grub_disk_cache_get_index): Change the type of SECTOR to
38498 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38499 unsigned after shifting.
38500 (grub_disk_cache_invalidate): Change the type of SECTOR to
38501 grub_disk_addr_t.
38502 (grub_disk_cache_unlock): Likewise.
38503 (grub_disk_cache_store): Likewise.
38504 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38505 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38506 grub_disk_addr_t and grub_uint64_t, respectively.
38507 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
38508 body, as the value of OFFSET is tweaked by
38509 grub_disk_check_range. Change the types of START_SECTOR, LEN and
38510 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38511 respectively.
38512 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38513 body, as the value of OFFSET is tweaked by
38514 grub_disk_check_range. Change the types of LEN and N to
38515 grub_size_t.
38516
38517 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38518 and "saved_offset" to grub_off_t.
38519 (test_header): Cast BUF to char *.
38520 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38521 to char *.
38522 (grub_gzio_read): Change the types of OFFSET and SIZE to
38523 grub_off_t and grub_size_t, respectively.
38524
38525 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38526 Removed.
38527 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38528 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38529 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38530 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38531 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38532
38533 * include/grub/types.h (grub_off_t): Unconditionally set to
38534 grub_uint64_t.
38535 (grub_disk_addr_t): Changed to grub_uint64_t.
38536
38537 * include/grub/partition.h (struct grub_partition): Change the
38538 types of "start", "len" and "offset" to grub_disk_addr_t,
38539 grub_uint64_t and grub_disk_addr_t, respectively.
38540 (grub_partition_get_start): Return grub_disk_addr_t.
38541 (grub_partition_get_len): Return grub_uint64_t.
38542
38543 * include/grub/misc.h (grub_strtoull): New prototype.
38544 (grub_divmod64): Likewise.
38545
38546 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38547 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38548 grub_off_t, respectively.
38549 All callers and references changed.
38550
38551 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38552 grub_size_t in "read".
38553 All callers and references changed.
38554
38555 * include/grub/file.h (struct grub_file): Change the types of
38556 "offset" and "size" to grub_off_t and grub_off_t,
38557 respectively. Change the type of SECTOR to grub_disk_addr_t in
38558 "read_hook".
38559 (grub_file_read): Change the type of LEN to grub_size_t.
38560 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38561 grub_off_t.
38562 (grub_file_size): Return grub_off_t.
38563 (grub_file_tell): Likewise.
38564 All callers and references changed.
38565
38566 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38567 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38568 "write".
38569 (struct grub_disk): Change the type of "total_sectors" to
38570 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38571 "read_hook".
524a1e6a 38572 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38573 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38574 (grub_disk_write): Likewise.
38575 All callers and references changed.
38576
38577 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38578 char * for grub_strncmp to silence gcc.
38579 (grub_iso9660_mount): Likewise.
38580 (grub_iso9660_mount): Likewise.
38581 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38582 return statement.
38583 (grub_iso9660_iterate_dir): Likewise.
38584 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38585
38586 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38587 LEN to grub_disk_addr_t and grub_size_t, respectively.
38588
38589 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38590
38591 * fs/jfs.c (grub_jfs_read_file): Likewise.
38592
38593 * fs/minix.c (grub_jfs_read_file): Likewise.
38594
38595 * fs/sfs.c (grub_jfs_read_file): Likewise.
38596
38597 * fs/ufs.c (grub_jfs_read_file): Likewise.
38598
38599 * fs/xfs.c (grub_jfs_read_file): Likewise.
38600
38601 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38602 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38603 respectively.
38604
38605 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38606 BLKNR to -1 instead of returning GRUB_ERRNO.
38607 (grub_ext2_read_file): Change the types of SECTOR and
38608 LEN to grub_disk_addr_t and grub_size_t, respectively.
38609
38610 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38611 LEN to grub_disk_addr_t and grub_size_t, respectively.
38612
38613 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38614 grub_file_read.
38615
38616 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38617 string. Do not cast SECTOR explicitly.
38618
38619 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38620 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38621 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38622 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38623 over 2TB and LBA mode is not supported, raise an error.
38624 (get_safe_sectors): New function.
38625 (grub_biosdisk_read): Use get_safe_sectors.
38626 (grub_biosdisk_write): Likewise.
38627
38628 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38629 (grub_efidisk_write): Likewise.
38630
38631 * disk/loopback.c (delete_loopback): Cosmetic changes.
38632 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38633 correctly.
38634 (grub_loopback_open): Likewise.
38635 (grub_loopback_read): Likewise. Also, change the type of POS to
38636 grub_off_t, and fix the usage of grub_memset.
38637
38638 * commands/i386/pc/play.c: Include grub/machine/time.h.
38639
38640 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38641 print FILE->SIZE.
38642
38643 * commands/configfile.c: Include grub/env.h.
38644
38645 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38646 GRUB_ERRNO directly instead. Change the type of POS to
38647 grub_off_t. Follow the coding standard.
38648
38649 * commands/blocklist.c: Include grub/partition.h.
38650 (grub_cmd_blocklist): Return an error if the underlying device is
38651 not a disk. Take the starting sector of a partition into account,
38652 if a partition is used.
38653
38654 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38655 a length field.
38656 (lba_mode): Support 64-bit addresses.
38657 (chs_mode): Likewise.
38658 (copy_buffer): Adapted to the new offsets of a length field and a
38659 segment field.
38660 (blocklist_default_start): Allocate 64-bit space.
38661
38662 * boot/i386/pc/boot.S (force_lba): Removed.
38663 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 38664 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 38665 space.
38666 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
38667 is useless.
38668 (lba_mode): Refactored to support a 64-bit address. More size
38669 optimization.
38670 (setup_sectors): Likewise.
38671
53af98ad 386722006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38673
38674 * DISTLIST: Added include/grub/i386/linux.h. Removed
38675 include/grub/i386/pc/linux.h
38676
38677 * configure.ac (AC_INIT): Bumped to 1.94.
38678
38679 * config.guess: Updated from gnulib.
38680 * config.sub: Likewise.
38681 * install-sh: Likewise.
38682 * mkinstalldirs: Likewise.
38683
b4c1940a 386842006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38685
38686 * conf/common.rmk (grub_modules_init.lst): Depended on
38687 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
38688 MODSRCFILES.
38689
38690 * genmk.rb (PModule::rule): Reverted the previous change.
38691
cfca1cfd 386922006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38693
38694 * conf/common.rmk (grub_modules_init.lst): Depends on
38695 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
38696 that the target does not exist before producing.
38697 (grub_modules_init.h): Remove the target before generating.
38698 (grub_emu_init.c): Likewise.
38699
38700 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
38701
aa6d7826 387022006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
38703
38704 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
38705 for the target-specific tests. Make sure that we also have the
38706 up-to-date target variables for those tests.
38707
26c607b9 387082006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38709
38710 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
38711 (PModule::rule): Likewise.
38712
0162321a 387132006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38714
38715 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
38716 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
38717 target-specific flags should be prefixed.
38718 (PModule::rule): Likewise.
38719
6c826348 387202006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
38721
38722 * configure.ac (CMP): Check if cmp is available explicitly.
38723
b977bf01 387242006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
38725
38726 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
38727 (target_cpu): New variable.
38728 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 38729
b977bf01 38730 * util/i386/pc/grub-install.in (host_cpu): Removed.
38731 (target_cpu): New variable.
38732 (pkglibdir): Use target_cpu instead of host_cpu.
38733
38734 * util/genmoddep.c: Removed.
f19dbdb7 38735
b977bf01 38736 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
38737 instead of GRUB_HOST_SIZEOF_VOID_P.
38738 * kern/dl.c: Likewise.
38739
38740 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38741 ...
38742 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38743 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38744 (GRUB_TARGET_SIZEOF_LONG): ... this.
38745 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38746 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38747 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38748 to ...
38749 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38750 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38751 (GRUB_TARGET_SIZEOF_LONG): ... this.
38752 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38753 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38754 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38755 to ...
38756 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38757 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38758 (GRUB_TARGET_SIZEOF_LONG): ... this.
38759 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38760 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38761
38762 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38763 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38764 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38765 instead of GRUB_HOST_SIZEOF_LONG.
38766 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
38767 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
38768 GRUB_CPU_WORDS_BIGENDIAN.
38769 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
38770 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
38771 grub_host_ssize_t.
38772
38773 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
38774 (genmoddep_SOURCES): Likewise.
38775 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
38776 (genmoddep_SOURCES): Likewise.
38777 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
38778 (genmoddep_SOURCES): Likewise.
38779 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
38780 Likewise.
38781 (genmoddep_SOURCES): Likewise.
38782
38783 * genmoddep.awk: New file.
38784
38785 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
38786 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
38787 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
38788 (PModule::rule): Likewise.
38789 (Program::rule): Likewise.
38790 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
38791 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
38792 respectively.
38793
38794 * configure.ac: Rewritten intensively to use host and target
38795 instead of build and host, respectively.
38796
38797 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
38798 (host_cpu): Removed.
38799 (target_cpu): New variable.
38800 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
38801 (BUILD_CC): Removed.
38802 (BUILD_CFLAGS): Likewise.
38803 (BUILD_CPPFLAGS): Likewise.
38804 (TARGET_CC): New variable.
38805 (TARGET_CFLAGS): Likewise.
38806 (TARGET_CPPFLAGS): Likewise.
38807 (TARGET_LDFLAGS): Likewise.
38808 (AWK): Likewise.
38809 (include): Use target_cpu instead of host_cpu.
38810 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 38811
b977bf01 38812 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
38813
f09771a1 388142006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
38815
38816 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
38817 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
38818 field 'false' to 'exec_on_false'.
38819 (grub_script_create_cmdif): Renamed argument names to reflect above
38820 changes.
38821
38822 * normal/execute.c (grub_script_execute_cmdif): Likewise.
38823
38824 * normal/script.c (grub_script_create_cmdif): Likewise.
38825
118f4fb3 388262006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
38827
38828 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
38829 top.
38830 (grub_hfsplus_btree_recptr): Likewise.
38831 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
38832 FILEBLOCK both to pass a block number and store next block
38833 number.
38834 (grub_hfsplus_read_block): Rewritten heavily to support an extent
38835 overflow file correctly. Specify errors appropriately, because
38836 fshelp expects that GRUB_ERRNO is set when fails. Reuse
38837 grub_hfsplus_btree_recptr to get the pointer to a found key.
38838 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
38839 is found.
38840
38841 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
38842 linux.mod.
38843 (_linux_mod_SOURCES): New variable.
38844 (_linux_mod_CFLAGS): Likewise.
38845 (_linux_mod_LDFLAGS): Likewise.
38846 (linux_mod_SOURCES): Likewise.
38847 (linux_mod_CFLAGS): Likewise.
38848 (linux_mod_LDFLAGS): Likewise.
38849
38850 * DISTLIST: Added loader/i386/efi/linux.c,
38851 loader/i386/efi/linux_normal.c and
38852 include/grub/i386/efi/loader.h.
38853
38854 * loader/i386/efi/linux.c: New file.
38855 * loader/i386/efi/linux_normal.c: Likewise.
38856 * include/grub/i386/efi/loader.h: Likewise.
38857
89a7d726 388582006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
38859
38860 * commands/blocklist.c: New file.
38861
38862 * DISTLIST: Added commands/blocklist.c.
38863
38864 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 38865 color for the background, and a darker color for the foreground.
89a7d726 38866 (grub_console_checkkey): Return READ_KEY.
38867 (grub_console_cls): Set the background to
38868 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
38869
38870 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
38871
38872 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
38873 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
38874
38875 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
38876 prototype.
38877
38878 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
38879 BG. The spec is wrong again.
38880
38881 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
38882 prototype.
38883 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
38884
38885 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38886 commands/blocklist.c.
38887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 38888
89a7d726 38889 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
38890 (blocklist_mod_SOURCES): New variable.
38891 (blocklist_mod_CFLAGS): Likewise.
38892 (blocklist_mod_LDFLAGS): Likewise.
38893
75c8f258 388942006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
38895
38896 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
38897 duplication.
38898 (lba_mode): Use %eax more intensively to reduce the code size.
38899
da2eb181 389002006-05-20 Marco Gerards <marco@gnu.org>
38901
38902 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
38903
38904 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
38905 for `menuentry'.
38906 (script): Accept leading newlines.
38907 (newlines): New rule to describe 0 or more newlines.
38908 (commands): Accept `command' with trailing newline. Fixed the
38909 order in which arguments were passed to `grub_script_add_cmd'.
38910 Accept commands separated by newlines.
38911 (function): Changed to accept newlines.
38912 (menuentry) Rewritten.
38913
38914 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
38915 front of the list, instead of to the end.
38916
577b4050 389172006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
38918
38919 * util/i386/pc/grub-install.in (bindir): New variable.
38920 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
38921 Shaver <lbgwjl@gmail.com>.
38922
0d6e1189 389232006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
38924
38925 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
38926 grub/machine/linux.h
38927 * loader/i386/pc/linux.c: Likewise.
38928
38929 * include/grub/i386/pc/linux.h: Moved to ...
38930 * include/grub/i386/linux.h: ... here.
38931
38932 * include/grub/i386/linux.h (struct linux_kernel_params): New
38933 struct.
f19dbdb7 38934
31b86e9f 389352006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
38936
38937 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
38938 checking.
38939 (grub_video_vbe_blit_glyph): Likewise.
38940 (grub_video_vbe_blit_bitmap): Likewise.
38941 (grub_video_vbe_blit_render_target): Likewise.
38942
83b984de 389432006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
38944
38945 * configure.ac (--with-platform): Properly quote the square
38946 brackets.
38947
5f0413bd 389482006-05-08 Marco Gerards <marco@gnu.org>
38949
38950 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
38951 this...
38952 (kernel_elf_HEADERS): ...to this. Updated all users.
38953 (grubof_symlist.c): Renamed from this...
38954 (kernel_elf_symlist.c): ...to this. Updated all users.
38955 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38956 (grubof_SOURCES): Renamed from this...
38957 (kernel_elf_SOURCES): ...to this.
38958 (grubof_HEADERS): Renamed from this...
38959 (kernel_elf_HEADERS): ...to this.
38960 (grubof_CFLAGS): Renamed from this...
38961 (kernel_elf_CFLAGS): ...to this.
38962 (grubof_ASFLAGS): Renamed from this...
38963 (kernel_elf_ASFLAGS): ...to this.
38964 (grubof_LDFLAGS): Renamed from this...
38965 (kernel_elf_LDFLAGS): ...to this.
38966
38967 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
38968 this...
38969 (kernel_elf_HEADERS): ...to this. Updated all users.
38970 (grubof_symlist.c): Renamed from this...
38971 (kernel_elf_symlist.c): ...to this. Updated all users.
38972 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38973 (grubof_SOURCES): Renamed from this...
38974 (kernel_elf_SOURCES): ...to this.
38975 (grubof_HEADERS): Renamed from this...
38976 (kernel_elf_HEADERS): ...to this.
38977 (grubof_CFLAGS): Renamed from this...
38978 (kernel_elf_CFLAGS): ...to this.
38979 (grubof_ASFLAGS): Renamed from this...
38980 (kernel_elf_ASFLAGS): ...to this.
38981 (grubof_LDFLAGS): Renamed from this...
38982 (kernel_elf_LDFLAGS): ...to this.
38983
38984 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
38985 `kernel.elf' instead of `grubof'.
38986
05568c2e 389872006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
38988
38989 Add --with-platform to configure. Use pkglibdir instead of
38990 pkgdatadir. This is reported by Roger Leigh.
38991
38992 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
38993 (host_vendor): Likewise.
38994 (host_os): Likewise.
38995 (pkgdatadir): Likewise.
38996 (platform): New variable.
38997 (pkglibdir): Likewise.
38998 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 38999
05568c2e 39000 * util/i386/pc/grub-install.in (datadir): Removed.
39001 (host_vendor): Likewise.
39002 (host_os): Likewise.
39003 (pkgdatadir): Likewise.
39004 (platform): New variable.
39005 (pkglibdir): Likewise.
39006 Use PKGLIBDIR instead of PKGDATADIR.
39007
39008 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
39009 instead of GRUB_DATADIR.
39010 (main): Likewise.
39011 * util/i386/pc/grub-mkimage.c (usage): Likewise.
39012 (main): Likewise.
39013 * util/i386/efi/grub-mkimage.c (usage): Likewise.
39014 (main): Likewise.
39015
39016 * configure.ac (--with-platform): New option.
39017 Use PLATFORM instead of HOST_VENDOR to specify a platform.
39018
39019 * Makefile.in: Include a makefile based on PLATFORM instead of
39020 HOST_VENDOR.
39021 (pkgdatadir): Not appended by the machine type.
39022 (pkglibdir): Appended by the machine type.
39023 (host_vendor): Removed.
39024 (platform): New variable.
39025 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
39026 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
39027 (uninstall): Likewise.
39028
4e93851c 390292006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
39030
39031 Use the environment context in the menu. Remove the commands
39032 "default" and "timeout", and use variables instead.
f19dbdb7 39033
4e93851c 39034 * normal/menu.c: Include grub/env.h.
39035 (print_entry): Cast TITLE to silence gcc.
39036 (get_timeout): New function.
39037 (set_timeout): Likewise.
39038 (get_entry_number): Likewise.
39039 (run_menu): Use a default entry, a fallback entry and a timeout
39040 in the environment variables "default", "fallback" and
39041 "timeout". Also, tweak the default entry if it is not within the
39042 current menu entries.
39043 (grub_menu_run): Use a fallback entry in the environment variable
39044 "fallback".
39045
39046 * normal/main.c (read_config_file): Do not initialize
39047 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
39048 NEWMENU->TIMEOUT.
39049 (grub_normal_execute): Use a data slot to store the menu.
39050
39051 * include/grub/normal.h (struct grub_menu): Removed default_entry,
39052 fallback_entry and timeout.
39053 (struct grub_menu_list): Removed.
39054 (grub_menu_list_t): Likewise.
39055 (struct grub_context): Likewise.
39056 (grub_context_t): Likewise.
39057 (grub_context_get): Likewise.
39058 (grub_context_get_current_menu): Likewise.
39059 (grub_context_push_menu): Likewise.
39060 (grub_context_pop_menu): Likewise.
39061 (grub_default_init): Likewise.
39062 (grub_default_fini): Likewise.
39063 (grub_timeout_init): Likewise.
39064 (grub_timeout_fini): Likewise.
39065
39066 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
39067 and timeout.mod.
39068 (normal_mod_SOURCES): Removed normal/context.c.
39069
39070 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
39071 commands/default.c, commands/timeout.c and normal/context.c.
39072 (normal_mod_SOURCES): Removed normal/context.c.
39073
39074 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
39075 commands/timeout.c and normal/context.c.
39076 (normal_mod_SOURCES): Removed normal/context.c.
39077
39078 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
39079 commands/default.c, commands/timeout.c and normal/context.c.
39080 (normal_mod_SOURCES): Removed normal/context.c.
39081
39082 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
39083 timeout.mod.
39084 (default_mod_SOURCES): Removed.
39085 (default_mod_CFLAGS): Likewise.
39086 (default_mod_LDFLAGS): Likewise.
39087 (timeout_mod_SOURCES): Removed.
39088 (timeout_mod_CFLAGS): Likewise.
39089 (timeout_mod_LDFLAGS): Likewise.
39090
39091 * DISTLIST: Removed commands/default.c, commands/timeout.c and
39092 normal/context.c.
39093
39094 * commands/default.c: Removed.
39095 * commands/timeout.c: Likewise.
39096 * normal/context.c: Likewise.
39097
1eb9cc1d 390982006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
39099
39100 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
39101
385bd9c1 391022006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
39103
39104 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
39105 "next" to "prev" for readability.
39106 (struct grub_env_sorted_var): New struct.
39107 (grub_env_context): Renamed to ...
39108 (initial_context): ... this.
39109 (grub_env_var_context): Renamed to ...
39110 (current_context): ... this.
39111 (grub_env_find): Look only at CURRENT_CONTEXT.
39112 (grub_env_context_open): Rewritten to copy exported variables from
39113 previous context.
39114 (grub_env_context_close): Rewritten according to the new
39115 scheme. Also, add an assertion to prevent the initial context from
39116 removed.
39117 (grub_env_insert): Removed the code for the sorted list.
39118 (grub_env_remove): Likewise.
39119 (grub_env_export): Simply mark the variable with
39120 GRUB_ENV_VAR_GLOBAL.
39121 (grub_env_set): A cosmetic change for naming consistency.
39122 (grub_env_get): Likewise.
39123 (grub_env_unset): Likewise.
39124 (grub_env_iterate): Rewritten to sort variables within this
39125 function.
39126 (grub_register_variable_hook): Fixed for naming consistency. Call
39127 grub_env_find again, only if NAME is not found at the first time.
39128 (mangle_data_slot_name): New function.
39129 (grub_env_set_data_slot): Likewise.
39130 (grub_env_get_data_slot): Likewise.
39131 (grub_env_unset_data_slot): Likewise.
39132
39133 * include/grub/env.h (grub_env_var_type): New enum.
39134 (GRUB_ENV_VAR_LOCAL): New constant.
39135 (GRUB_ENV_VAR_GLOBAL): Likewise.
39136 (GRUB_ENV_VAR_DATA): Likewise.
39137 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
39138 "type".
39139 (grub_env_set): Replace VAR with NAME for consistency.
39140 (grub_register_variable_hook): Likewise.
39141 (grub_env_export): Specify the name of the argument.
39142 (grub_env_set_data_slot): New prototype.
39143 (grub_env_get_data_slot): Likewise.
39144 (grub_env_unset_data_slot): Likewise.
39145
7f362539 391462006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39147
39148 Extend the loader so that GRUB can accept a loader which comes
39149 back to GRUB when a loaded image exits. Also, this change adds
39150 support for a chainloader on EFI.
f19dbdb7 39151
7f362539 39152 * term/efi/console.c: Include grub/misc.h.
39153 (grub_console_checkkey): Display a scan code on the top for
39154 debugging. This will be removed once the EFI port gets stable.
39155 Correct the scan code mapping.
39156
39157 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
39158 allocate memory from larger regions, in order to reduce the number
39159 of allocated regions. Otherwise, the MacOSX loader panics.
39160 (filter_memory_map): Avoid less than 1MB for compatibility with
39161 other loaders.
39162 (add_memory_regions): Allocate from the tail of a region, if
39163 possible, to avoid allocating a region near to 1MB, for the MacOSX
39164 loader.
39165
39166 * kern/efi/init.c (grub_efi_set_prefix): Specify
39167 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
39168
39169 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
39170 argument IMAGE_HANDLE and specify it to get a loaded image.
39171 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
39172 grub_efi_get_loaded_image.
fe6b695a 39173 (grub_efi_get_filename): Divide the length by the size of
7f362539 39174 grub_efi_char16_t.
39175 (grub_efi_get_device_path): New function.
39176 (grub_efi_print_device_path): Print End Device Path nodes. Divide
39177 the length by the size of grub_efi_char16_t for a file path device
39178 path node.
39179
39180 * kern/loader.c (grub_loader_noreturn): New variable.
39181 (grub_loader_set): Accept a new argument NORETURN. Set
39182 GRUB_LOADER_NORETURN to NORETURN.
39183 All callers changed.
39184 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
39185 grub_machine_fini.
39186
39187 * include/grub/efi/efi.h (grub_efi_get_device_path): New
39188 prototype.
39189 (grub_efi_get_loaded_image): Take an argument to specify an image
39190 handle.
39191
39192 * include/grub/loader.h (grub_loader_set): Added one more argument
39193 NORETURN.
39194
39195 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
39196 instead of grub_efi_open_protocol.
39197 (grub_efidisk_get_device_name): Likewise.
39198 (grub_efidisk_close): Print a newline.
39199 (grub_efidisk_get_device_handle): Fixed to use
39200 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
39201 GRUB_EFI_DEVICE_PATH_TYPE.
39202
39203 * disk/efi/efidisk.c (device_path_guid): Moved to ...
39204 * kern/efi/efi.c (device_path_guid): ... here.
39205
39206 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
39207 chain.mod.
39208 (kernel_mod_HEADERS): Added efi/disk.h.
39209 (_chain_mod_SOURCES): New variable.
39210 (_chain_mod_CFLAGS): Likewise.
39211 (_chain_mod_LDFLAGS): Likewise.
39212 (chain_mod_SOURCES): Likewise.
39213 (chain_mod_CFLAGS): Likewise.
39214 (chain_mod_LDFLAGS): Likewise.
39215
39216 * DISTLIST: Added include/grub/efi/chainloader.h,
39217 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
39218
39219 * include/grub/efi/chainloader.h: New file.
39220 * loader/efi/chainloader.c: Likewise.
39221 * loader/efi/chainloader_normal.c: Likewise.
39222
c0111d6e 392232006-04-30 Marco Gerards <marco@gnu.org>
39224
39225 * commands/configfile.c (grub_cmd_source): New function.
39226 (GRUB_MOD_INIT): Register the commands `source' and `.'.
39227 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
39228
df5341da 392292006-04-30 Marco Gerards <marco@gnu.org>
39230
39231 * normal/execute.c (grub_script_execute_cmd): Change the return
39232 type to `grub_err_t'. Correctly return the error.
39233 (grub_script_execute_cmdline): In case a command line is not a
39234 command or a function, try to interpret it as an assignment.
39235
f85934bd 392362006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39237
39238 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
39239 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
39240 skip a node whose name is obviously invalid as UTF-16,
39241 i.e. contains a NUL character. Stop the iteration when the last
39242 directory entry is found. Instead of using the return value of
39243 grub_hfsplus_btree_iterate_node, store the value in RET and use
39244 it, because the iterator can be stopped by the last directory
39245 entry.
39246
8f8a2cf8 392472006-04-30 Marco Gerards <marco@gnu.org>
39248
39249 * include/grub/env.h (grub_env_export): New prototype. Reported
39250 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
39251
a27e84ce 392522006-04-30 Marco Gerards <marco@gnu.org>
39253
39254 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
39255 size of the extents in a catalog file record.
39256
eaef0553 392572006-04-29 Marco Gerards <marco@gnu.org>
39258
39259 * commands/configfile.c (grub_cmd_configfile): Execute the
39260 configfile within its own context.
39261
39262 * include/grub/env.h (grub_env_context_open): New prototype.
39263 (grub_env_context_close): Likewise.
39264
39265 * kern/env.c (grub_env): Removed.
39266 (grub_env_sorted): Likewise.
39267 (grub_env_context): New variable.
39268 (grub_env_var_context): Likewise.
39269 (grub_env_find): Search both the active context and the global
39270 context.
39271 (grub_env_context_open): New function.
39272 (grub_env_context_close): Likewise.
39273 (grub_env_insert): Likewise.
39274 (grub_env_remove): Likewise.
39275 (grub_env_export): Likewise.
39276 (grub_env_set): Changed to use helper functions to avoid code
39277 duplication.
39278 (grub_env_iterate): Rewritten so both the current context and the
39279 global context are being used.
39280
39281 * normal/command.c (export_command): New function.
39282 (grub_command_init): Register the `export' function.
39283
7b455f4d 392842006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
39285
39286 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
39287 explicitly to suppress gcc's warnings.
39288 * fs/fat.c (grub_fat_find_dir): Likewise.
39289 (grub_fat_label): Likewise.
39290 * fs/xfs.c (grub_xfs_read_inode): Likewise.
39291 (grub_xfs_mount): Likewise.
39292 (grub_xfs_label): Likewise.
39293 * fs/affs.c (grub_affs_mount): Likewise.
39294 (grub_affs_label): Likewise.
39295 (grub_affs_iterate_dir): Likewise.
39296 * fs/sfs.c (grub_sfs_mount): Likewise.
39297 (grub_sfs_iterate_dir): Likewise.
39298 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
39299 * fs/hfs.c (grub_hfs_mount): Likewise.
39300 (grub_hfs_cmp_catkeys): Likewise.
39301 (grub_hfs_find_dir): Likewise.
39302 (grub_hfs_dir): Likewise.
39303 (grub_hfs_label): Likewise.
39304 * fs/jfs.c (grub_jfs_mount): Likewise.
39305 (grub_jfs_opendir): Likewise.
39306 (grub_jfs_getent): Likewise.
39307 (grub_jfs_lookup_symlink): Likewise.
39308 (grub_jfs_label): Likewise.
39309 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
39310 (grub_hfsplus_iterate_dir): Likewise.
39311 (grub_hfsplus_btree_iterate_node): Made static.
39312
39313 * util/grub-emu.c (prefix): New variable.
39314 (grub_machine_set_prefix): New function.
39315 (main): Do not set the environment variable "prefix" here. Only
39316 set PREFIX, which is used later by grub_machine_set_prefix.
39317
39318 * include/grub/video.h: Do not include grub/symbol.h.
39319 (grub_video_register): Not exported. This symbol is not defined in
39320 the kernel.
39321 (grub_video_unregister): Likewise.
39322 (grub_video_iterate): Likewise.
39323 (grub_video_setup): Likewise.
39324 (grub_video_restore): Likewise.
39325 (grub_video_get_info): Likewise.
39326 (grub_video_get_blit_format): Likewise.
39327 (grub_video_set_palette): Likewise.
39328 (grub_video_get_palette): Likewise.
39329 (grub_video_set_viewport): Likewise.
39330 (grub_video_get_viewport): Likewise.
39331 (grub_video_map_color): Likewise.
39332 (grub_video_map_rgb): Likewise.
39333 (grub_video_map_rgba): Likewise.
39334 (grub_video_fill_rect): Likewise.
39335 (grub_video_blit_glyph): Likewise.
39336 (grub_video_blit_bitmap): Likewise.
39337 (grub_video_blit_render_target): Likewise.
39338 (grub_video_scroll): Likewise.
39339 (grub_video_swap_buffers): Likewise.
39340 (grub_video_create_render_target): Likewise.
39341 (grub_video_delete_render_target): Likewise.
39342 (grub_video_set_active_render_target): Likewise.
39343
39344 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
39345 Undefined.
39346 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
39347
39348 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
39349 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39350 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39351 instead of $(srcdir)/genkernsyms.sh.
39352
39353 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
39354 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39355 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39356 instead of $(srcdir)/genkernsyms.sh.
39357
39358 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
39359 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/i386-efi.rmk (symlist.c): Depended on config.h. Use
39364 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 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
39369 genkernsyms.sh.
39370
39371 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
39372 genkernsyms.sh.
39373 (gensymlist.sh): New target.
39374 (genkernsyms.sh): Likewise.
39375
39376 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
39377 genkernsyms.sh.in and gensymlist.sh.in.
39378
39379 * genkernsyms.sh: Removed.
39380 * gensymlist.sh: Likewise.
f19dbdb7 39381
7b455f4d 39382 * genkernsyms.sh.in: New file.
39383 * gensymlist.sh.in: Likewise.
39384
1885bb27 393852006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39386
39387 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
39388 clobber "prefix", since we may have already set it manually.
39389
71538dff 393902006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39391
39392 * kern/misc.c (abort): New alias for grub_abort.
39393
2965c7cc 393942006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
39395
39396 A new machine-specific function "grub_machine_set_prefix" is
39397 defined. This is called after loading modules, so that a prefix
39398 initialization can use modules. Also, this change adds an
39399 intensive debugging feature for the memory manager via the
39400 configure option "--enable-mm-debug".
f19dbdb7 39401
2965c7cc 39402 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
39403 PART.LEN.
39404
39405 * kern/sparc64/ieee1275/init.c (abort): Removed.
39406 (grub_stop): Likewise.
39407 (grub_exit): New function.
39408 (grub_set_prefix): Renamed to ...
39409 (grub_machine_set_prefix): ... this.
39410 (grub_machine_init): Do not call grub_set_prefix.
39411
39412 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
39413 (grub_machine_set_prefix): ... this.
39414 (grub_machine_init): Do not call grub_set_prefix.
39415
39416 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
39417 (grub_machine_init): Do not set the prefix here.
39418
39419 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
39420
39421 * kern/efi/init.c: Include grub/mm.h.
39422 (grub_efi_set_prefix): New function.
39423
39424 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
39425 (grub_efi_get_filename): New function.
39426 (grub_print_device_path): Renamed to ...
39427 (grub_efi_print_device_path): ... this.
39428
39429 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
39430 [MM_DEBUG] (grub_realloc): Likewise.
39431 [MM_DEBUG] (grub_free): Likewise.
39432 [MM_DEBUG] (grub_memalign): Likewise.
39433 [MM_DEBUG] (grub_mm_debug): New variable.
39434 [MM_DEBUG] (grub_debug_malloc): New function.
39435 [MM_DEBUG] (grub_debug_free): New function.
39436 [MM_DEBUG] (grub_debug_realloc): New function.
39437 [MM_DEBUG] (grub_debug_memalign): New function.
39438
39439 * kern/misc.c (grub_abort): Print a newline to distinguish
39440 the message.
39441
39442 * kern/main.c (grub_main): Call grub_machine_set_prefix and
39443 grub_set_root_dev after loading modules. This is necessary when
39444 setting a prefix depends on modules.
39445
39446 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
39447 (grub_efi_print_device_path): ... this.
39448 (grub_efi_get_filename): New prototype.
39449 (grub_efi_set_prefix): Likewise.
39450
39451 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
39452 and grub/disk.h.
39453 (grub_efidisk_get_device_handle): New prototype.
39454 (grub_efidisk_get_device_name): Likewise.
39455
39456 * include/grub/mm.h: Include config.h.
39457 (MM_DEBUG): Removed.
39458 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
39459 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
39460 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
39461 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
39462 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
39463 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
39464 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
39465 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
39466 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
39467
39468 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
39469
39470 * disk/efi/efidisk.c: Include grub/partition.h.
39471 (iterate_child_devices): New function.
39472 (add_device): First, compare only last device path nodes, so that
39473 devices are sorted by the types.
39474 (grub_efidisk_get_device_handle): New function.
39475 (grub_efidisk_get_device_name): Likewise.
39476
39477 * configure.ac (--enable-mm-debug): New option to enable the
39478 memory manager debugging feature. This makes the binary much
39479 bigger, so is disabled by default.
39480
9cacaa17 394812006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
39482
39483 Use grub_abort instead of grub_stop, and grub_exit must be
39484 define in each architecture now. Also, this change adds support
39485 for EFI disks.
f19dbdb7 39486
9cacaa17 39487 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39488 (grub_getkey): New function.
39489 (grub_term_get_current): Likewise.
39490
39491 * util/i386/pc/grub-setup.c: Include grub/term.h.
39492 (grub_getkey): New function.
39493 (grub_term_get_current): Likewise.
39494
39495 * util/misc.c (grub_stop): Renamed to ...
39496 (grub_exit): ... this.
39497
39498 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39499 (grub_exit): ... this.
39500 (grub_machine_init): Use grub_abort instead of abort.
39501 (grub_stop): Removed.
39502
39503 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39504 abort.
39505
39506 * kern/i386/pc/startup.S (grub_exit): New function.
39507 (cold_reboot): New label.
39508
39509 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39510 (grub_efi_init): Call grub_efidisk_init.
39511 (grub_efi_fini): Call grub_efidisk_fini.
39512
39513 * kern/efi/efi.c: Include grub/mm.h.
39514 (grub_efi_console_control_guid): Renamed to ...
39515 (console_control_guid): ... this.
39516 (grub_efi_loaded_image_guid): Renamed to ...
39517 (loaded_image_guid): ... this.
39518 (grub_efi_locate_handle): New function.
39519 (grub_efi_open_protocol): Likewise.
39520 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39521 GRUB_EFI_CONSOLE_CONTROL_GUID.
39522 (grub_efi_exit): Removed.
39523 (grub_stop): Likewise.
39524 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39525 (grub_exit): New function.
39526 (grub_print_device_path): Likewise.
39527
39528 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39529 (grub_enter_rescue_mode): Register "exit".
39530
39531 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39532 (grub_abort): New function.
39533
39534 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39535
39536 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39537
39538 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39539
39540 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39541 (grub_print_device_path): New prototype.
39542 (grub_efi_locate_handle): Likewise.
39543 (grub_efi_open_protocol): Likewise.
39544
39545 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39546 * disk/efi/efidisk.c: Likewise.
39547
39548 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39549
39550 * include/grub/efi/console_control.h
39551 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39552
39553 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39554 last 8 bytes as an array.
39555 (GRUB_EFI_DISK_IO_GUID): New macro.
39556 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39557 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39558 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39559 grub_uint8_t.
39560 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39561 (struct grub_efi_device_path): Rename the member "sub_type" to
39562 "subtype".
39563 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39564 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39565 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39566 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39567 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39568 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39569 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39570 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39571 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39572 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39573 (struct grub_efi_pci_device_path): New structure.
39574 (grub_efi_pci_device_path_t): New type.
39575 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39576 (struct grub_efi_pccard_device_path): New structure.
39577 (grub_efi_pccard_device_path_t): New type.
39578 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39579 (struct grub_efi_memory_mapped_device_path): New structure.
39580 (grub_efi_memory_mapped_device_path_t): New type.
39581 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39582 (struct grub_efi_vendor_device_path): New structure.
39583 (grub_efi_vendor_device_path_t): New type.
39584 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39585 (struct grub_efi_controller_device_path): New structure.
39586 (grub_efi_controller_device_path_t): New type.
39587 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39588 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39589 (struct grub_efi_acpi_device_path): New structure.
39590 (grub_efi_acpi_device_path_t): New type.
39591 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39592 (struct grub_efi_expanded_acpi_device_path): New structure.
39593 (grub_efi_expanded_acpi_device_path_t): New type.
39594 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39595 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39596 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39597 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39598 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39599 (struct grub_efi_atapi_device_path): New structure.
39600 (grub_efi_atapi_device_path_t): New type.
39601 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39602 (struct grub_efi_fibre_channel_device_path): New structure.
39603 (grub_efi_fibre_channel_device_path_t): New type.
39604 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39605 (struct grub_efi_1394_device_path): New structure.
39606 (grub_efi_1394_device_path_t): New type.
39607 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39608 (struct grub_efi_usb_device_path): New structure.
39609 (grub_efi_usb_device_path_t): New type.
39610 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39611 (struct grub_efi_usb_class_device_path): New structure.
39612 (grub_efi_usb_class_device_path_t): New type.
39613 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39614 (struct grub_efi_i2o_device_path): New structure.
39615 (grub_efi_i2o_device_path_t): New type.
39616 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39617 (struct grub_efi_mac_address_device_path): New structure.
39618 (grub_efi_mac_address_device_path_t): New type.
39619 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39620 (struct grub_efi_ipv4_device_path): New structure.
39621 (grub_efi_ipv4_device_path_t): New type.
39622 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39623 (struct grub_efi_ipv6_device_path): New structure.
39624 (grub_efi_ipv6_device_path_t): New type.
39625 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39626 (struct grub_efi_infiniband_device_path): New structure.
39627 (grub_efi_infiniband_device_path_t): New type.
39628 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39629 (struct grub_efi_uart_device_path): New structure.
39630 (grub_efi_uart_device_path_t): New type.
39631 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39632 (struct grub_efi_vendor_messaging_device_path): New structure.
39633 (grub_efi_vendor_messaging_device_path_t): New type.
39634 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39635 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39636 (struct grub_efi_hard_drive_device_path): New structure.
39637 (grub_efi_hard_drive_device_path_t): New type.
39638 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39639 (struct grub_efi_cdrom_device_path): New structure.
39640 (grub_efi_cdrom_device_path_t): New type.
39641 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39642 (struct grub_efi_vendor_media_device_path): New structure.
39643 (grub_efi_vendor_media_device_path_t): New type.
39644 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39645 (struct grub_efi_file_path_device_path): New structure.
39646 (grub_efi_file_path_device_path_t): New type.
39647 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39648 (struct grub_efi_protocol_device_path): New structure.
39649 (grub_efi_protocol_device_path_t): New type.
39650 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39651 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39652 (struct grub_efi_bios_device_path): New structure.
39653 (grub_efi_bios_device_path_t): New type.
39654 (struct grub_efi_disk_io): New structure.
39655 (grub_efi_disk_io_t): New type.
39656 (struct grub_efi_block_io_media): New structure.
39657 (grub_efi_block_io_media_t): New type.
39658 (struct grub_efi_block_io): New structure.
39659 (grub_efi_block_io_t): New type.
39660
39661 * include/grub/misc.h (grub_stop): Removed.
39662 (grub_exit): New prototype.
39663 (grub_abort): Likewise.
39664
39665 * include/grub/disk.h (enum grub_disk_dev_id): Added
39666 GRUB_DISK_DEVICE_EFIDISK_ID.
39667
39668 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
39669 disk/efi/efidisk.c.
39670 (kernel_syms.lst): Remove the target if an error occurs.
39671
49986a9f 396722006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
39673
39674 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
39675 as it was simply too buggy.
39676
970d3b8a 396772006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
39678
39679 * kern/misc.c (grub_lltoa): New function.
39680 (grub_vsprintf): Added support for the long long suffix,
39681 i.e. "ll".
39682
ff04ec24 396832006-04-20 Hollis Blanchard <hollis@penguinppc.org>
39684
39685 * Makefile.in (LDFLAGS): Add variable.
39686 (LD): Remove variable.
39687 * configure.ac: Add -m32 to LDFLAGS.
39688 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
39689 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
39690 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
39691 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
39692 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
39693 variables.
39694 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
39695 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
39696 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
39697
37e5e1a4 396982006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
39699
39700 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
39701 length for unknown glyph.
39702
c352d8dd 397032006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39704
2eab1c0d 39705 Add support for pre-loaded modules into the EFI port.
f19dbdb7 39706
2eab1c0d 39707 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
39708 completely. Accept one more argument DIR. The caller has changed.
39709
39710 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
39711
39712 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
39713 (grub_efi_loaded_image_guid): New variable.
39714 (grub_efi_get_loaded_image): New function.
39715 (grub_arch_modules_addr): Likewise.
39716
39717 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
39718 prototype.
39719
39720 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
39721 (struct grub_efi_loaded_image): New structure.
39722 (grub_efi_loaded_image_t): New type.
39723
397242006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39725
c352d8dd 39726 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
39727 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
39728 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
39729
6d01d6b4 397302006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
39731
39732 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
39733
976a4ea0 397342006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
39735
39736 * DISTLIST: Added include/grub/efi/console.h,
39737 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
39738 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39739
39740 * include/grub/efi/console.h: New file.
39741 * include/grub/efi/time.h: Likewise.
39742 * include/grub/i386/efi/kernel.h: Likewise.
39743 * kern/efi/init.c: Likewise.
39744 * kern/efi/mm.c: Likewise.
39745 * term/efi/console.c: Likewise.
f19dbdb7 39746
976a4ea0 39747 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39748 (grub_stop): Removed.
39749 (grub_get_rtc): Likewise.
39750 (grub_machine_init): Simply call grub_efi_init.
39751 (grub_machine_fini): Call grub_efi_fini.
39752
39753 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39754 (grub_efi_output_string): Removed.
39755 (grub_efi_stall): New function.
39756 (grub_stop): Likewise.
39757 (grub_get_rtc): Likewise.
39758
39759 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39760 (grub_efi_stall): New prototype.
39761 (grub_efi_allocate_pages): Likewise.
39762 (grub_efi_free_pages): Likewise.
39763 (grub_efi_get_memory_map): Likewise.
39764 (grub_efi_mm_init): Likewise.
39765 (grub_efi_mm_fini): Likewise.
39766 (grub_efi_init): Likewise.
39767 (grub_efi_fini): Likewise.
39768
39769 * include/grub/i386/efi/time.h: Do not include
39770 grub/symbol.h. Include grub/efi/time.h.
39771 (GRUB_TICKS_PER_SECOND): Removed.
39772 (grub_get_rtc): Likewise.
39773
39774 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
39775 Added padding. The EFI spec is buggy.
39776 (GRUB_EFI_BLACK): New macro.
39777 (GRUB_EFI_BLUE): Likewise.
39778 (GRUB_EFI_GREEN): Likewise.
39779 (GRUB_EFI_CYAN): Likewise.
39780 (GRUB_EFI_RED): Likewise.
39781 (GRUB_EFI_MAGENTA): Likewise.
39782 (GRUB_EFI_BROWN): Likewise.
39783 (GRUB_EFI_LIGHTGRAY): Likewise.
39784 (GRUB_EFI_BRIGHT): Likewise.
39785 (GRUB_EFI_DARKGRAY): Likewise.
39786 (GRUB_EFI_LIGHTBLUE): Likewise.
39787 (GRUB_EFI_LIGHTGREEN): Likewise.
39788 (GRUB_EFI_LIGHTCYAN): Likewise.
39789 (GRUB_EFI_LIGHTRED): Likewise.
39790 (GRUB_EFI_LIGHTMAGENTA): Likewise.
39791 (GRUB_EFI_YELLOW): Likewise.
39792 (GRUB_EFI_WHITE): Likewise.
39793 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
39794 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
39795 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
39796 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
39797 (GRUB_EFI_BACKGROUND_RED): Likewise.
39798 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
39799 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
39800 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
39801 (GRUB_EFI_TEXT_ATTR): Likewise.
39802
39803 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
39804 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39805 (kernel_mod_HEADERS): Added efi/time.h.
39806
83709125 398072006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
39808
39809 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
39810 include/grub/efi/api.h, include/grub/efi/console_control.h,
39811 include/grub/efi/efi.h, include/grub/efi/pe32.h,
39812 include/grub/i386/efi/time.h, kern/efi/efi.c,
39813 kern/i386/efi/init.c, kern/i386/efi/startup.S,
39814 and util/i386/efi/grub-mkimage.c.
39815
39816 * Makefile.in (RMKFILES): Added i386-efi.rmk.
39817
39818 * genmk.rb (PModule#rule): Do not export symbols if
39819 #{prefix}_EXPORTS is set to "no".
39820
39821 * conf/i386-efi.mk: New file.
39822 * conf/i386-efi.rmk: Likewise.
39823 * include/grub/efi/api.h: Likewise.
39824 * include/grub/efi/console_control.h: Likewise.
39825 * include/grub/efi/efi.h: Likewise.
39826 * include/grub/efi/pe32.h: Likewise.
39827 * include/grub/i386/efi/time.h: Likewise.
39828 * kern/efi/efi.c: Likewise.
39829 * kern/i386/efi/init.c: Likewise.
39830 * kern/i386/efi/startup.S: Likewise.
39831 * util/i386/efi/grub-mkimage.c: Likewise.
39832
398332006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 39834
39835 * include/grub/script.h: Include <grub/parser.h> and
39836 "grub_script.tab.h".
39837 (struct grub_lexer_param): New struct.
39838 (struct grub_parser_param): Likewise.
39839 (grub_script_create_arglist): Pass the state in an argument.
39840 (grub_script_add_arglist): Likewise.
39841 (grub_script_create_cmdline): Likewise.
39842 (grub_script_create_cmdblock): Likewise.
39843 (grub_script_create_cmdif): Likewise.
39844 (grub_script_create_cmdmenu): Likewise.
39845 (grub_script_add_cmd): Likewise.
39846 (grub_script_arg_add): Likewise.
39847 (grub_script_lexer_ref): Likewise.
39848 (grub_script_lexer_deref): Likewise.
39849 (grub_script_lexer_record_start): Likewise.
39850 (grub_script_lexer_record_stop): Likewise.
39851 (grub_script_mem_record): Likewise.
39852 (grub_script_mem_record_stop): Likewise.
39853 (grub_script_malloc): Likewise.
39854 (grub_script_yylex): Likewise.
39855 (grub_script_yyparse): Likewise.
39856 (grub_script_yyerror): Likewise.
39857 (grub_script_yylex): Likewise.
39858 (grub_script_lexer_init): Return the state.
39859
39860 * normal/lexer.c (grub_script_lexer_state): Removed variable.
39861 (grub_script_lexer_done): Likewise.
39862 (grub_script_lexer_getline): Likewise.
39863 (grub_script_lexer_refs): Likewise.
39864 (script): Likewise.
39865 (newscript): Likewise.
39866 (record): Likewise.
39867 (recording): Likewise.
39868 (recordpos): Likewise.
39869 (recordlen): Likewise.
39870 (grub_script_lexer_init): Return the state instead of setting
39871 global variables.
39872 (grub_script_lexer_ref): Use the newly added argument for state
39873 instead of globals.
39874 (grub_script_lexer_deref): Likewise.
39875 (grub_script_lexer_record_start): Likewise.
39876 (grub_script_lexer_record_stop): Likewise.
39877 (recordchar): Likewise.
39878 (nextchar): Likewise.
39879 (grub_script_yylex2): Likewise.
39880 (grub_script_yylex): Likewise.
39881 (grub_script_yyerror): Likewise.
39882
39883 * normal/parser.y (func_mem): Removed variable.
39884 (menu_entry): Likewise.
39885 (err): Likewise.
39886 (%lex-param): New parser option.
39887 (%parse-param): Likewise.
39888 (script): Always return the AST.
39889 (argument): Pass the state around.
39890 (arguments): Likewise.
39891 (grubcmd): Likewise.
39892 (commands): Likewise.
39893 (function): Likewise.
39894 (menuentry): Likewise.
39895 (if_statement): Likewise.
39896 (if): Likewise.
39897
39898 * normal/script.c (grub_script_memused): Removed variable.
39899 (grub_script_parsed): Likewise.
39900 (grub_script_malloc): Added a state argument. Use that instead of
39901 global variables.
39902 (grub_script_mem_record): Likewise.
39903 (grub_script_mem_record_stop): Likewise.
39904 (grub_script_arg_add): Likewise.
39905 (grub_script_add_arglist): Likewise.
39906 (grub_script_create_cmdline): Likewise.
39907 (grub_script_create_cmdif): Likewise.
39908 (grub_script_create_cmdmenu): Likewise.
39909 (grub_script_add_cmd): Likewise.
39910 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 39911
e2a8c904 399122006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 39913
39914 * normal/command.c (grub_command_init): Remove the title command.
39915
39916 * normal/lexer.c (grub_script_yylex): Renamed from this...
39917 (grub_script_yylex2): ... to this.
39918 (grub_script_yylex): New function. Temporary
39919 introduced to filter some tokens.
39920 (grub_script_yyerror): Print a newline.
39921
39922 * normal/main.c (read_config_file): Output information about the
39923 lines that contain errors. Wait for a key after all lines have
39924 been processed. Don't return an empty menu.
39925
39926 * normal/parser.y (func_mem): Don't initialize.
39927 (menu_entry): Likewise.
39928 (err): New variable.
39929 (script): Don't return anything when an error was encountered.
39930 (ws, returns): Removed rules.
39931 (argument): Disabled concatenated variable support.
39932 (arguments): Remove explicit separators.
39933 (grubcmd): Likewise.
39934 (function): Likewise.
39935 (menuentry): Likewise.
39936 (if): Likewise.
39937 (commands): Likewise. Add error handling.
39938
39939 * normal/script.c (grub_script_create_cmdline): If
39940 `grub_script_parsed' is 0, assume the parser encountered an error.
39941
c9a86192 399422006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
39943
39944 * configure.ac: Add support for EFI. Fix the typo
39945 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
39946
70f3b243 399472006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39948
39949 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
39950 foreign multibyte characters should be shown correctly.
39951
65f201ad 399522006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39953
39954 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
39955 calculation.
39956 (read_config_file): Made it to close file before returning.
39957
b4b93674 399582006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
39959
39960 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
39961 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
39962 video/i386/pc/vbefill.c.
39963
39964 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
39965 video/i386/pc/vbefill.c.
39966
39967 * include/grub/video.h (grub_video_blit_format): New enum.
39968 (grub_video_mode_info): Added new member blit_format.
39969 (grub_video_get_blit_format): New function prototype.
39970
39971 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
39972 function prototype.
39973 (grub_video_vbe_map_rgb): Likewise.
39974 (grub_video_vbe_unmap_color): Likewise.
39975
39976 * include/grub/i386/pc/vbeblit.h: New file.
39977
39978 * include/grub/i386/pc/vbefill.h: New file.
39979
39980 * video/video.c (grub_video_get_blit_format): New function.
39981 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
39982 (grub_video_vbe_map_rgb): Likewise.
39983 (grub_video_vbe_unmap_color): Likewise.
39984
39985 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
39986 optimized fills.
39987 (grub_video_vbe_blit_render_target): Changed to use more optimized
39988 blits.
39989 (grub_video_vbe_setup): Added detection for optimized settings.
39990 (grub_video_vbe_create_render_target): Likewise.
39991
39992 * video/i386/pc/vbeblit.c: New file.
39993
39994 * video/i386/pc/vbefill.c: New file.
39995
c2379b9c 399962006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
39997
39998 * font/manager.c (grub_font_get_glyph): Removed font fixup from
39999 here...
40000
40001 * util/unifont2pff.rb: ... and moved it to here. Improved argument
40002 parsing to support both hex and dec ranges. If filename was missing
40003 show usage information.
40004
bd0d7896 400052006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
40006
40007 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
40008 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
40009
40010 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
40011 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
40012 (video_mod_SOURCES): Added.
40013 (video_mod_CFLAGS): Likewise.
40014 (video_mod_LDFLAGS): Likewise.
40015 (gfxterm_mod_SOURCES): Likewise.
40016 (gfxterm_mod_CFLAGS): Likewise.
40017 (gfxterm_mod_LDFLAGS): Likewise.
40018 (videotest_mod_SOURCES): Likewise.
40019 (videotest_mod_CFLAGS): Likewise.
40020 (videotest_mod_LDFLAGS): Likewise.
40021 (vesafb_mod_SOURCES): Removed.
40022 (vesafb_mod_CFLAGS): Likewise.
40023 (vesafb_mod_LDFLAGS): Likewise.
40024 (vga_mod_SOURCES): Likewise.
40025 (vga_mod_CFLAGS): Likewise.
40026 (vga_mod_LDFLAGS): Likewise.
40027
40028 * commands/videotest.c: New file.
40029
40030 * font/manager.c (fill_with_default_glyph): Modified to use
40031 grub_font_glyph.
40032 (grub_font_get_glyph): Likewise.
40033 (fontmanager): Renamed from this...
40034 (font_manager): ... to this.
40035
40036 * include/grub/font.h (grub_font_glyph): Added new structure.
40037 (grub_font_get_glyph): Modified to use grub_font_glyph.
40038
40039 * include/grub/misc.h (grub_abs): Added as inline function.
40040
40041 * include/grub/video.h: New file.
40042
40043 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
40044 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
40045 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
40046 (grub_vbe_get_controller_info): Renamed from this...
40047 (grub_vbe_bios_get_controller_info): ... to this.
40048 (grub_vbe_get_mode_info): Renamed from this...
40049 (grub_vbe_bios_get_mode_info): ... to this.
40050 (grub_vbe_set_mode): Renamed from this...
40051 (grub_vbe_bios_set_mode): ... to this.
40052 (grub_vbe_get_mode): Renamed from this...
40053 (grub_vbe_bios_get_mode): ... to this.
40054 (grub_vbe_set_memory_window): Renamed from this...
40055 (grub_vbe_bios_set_memory_window): ... to this.
40056 (grub_vbe_get_memory_window): Renamed from this...
40057 (grub_vbe_bios_get_memory_window): ... to this.
40058 (grub_vbe_set_scanline_length): Renamed from this...
40059 (grub_vbe_set_scanline_length): ... to this.
40060 (grub_vbe_get_scanline_length): Renamed from this...
40061 (grub_vbe_bios_get_scanline_length): ... to this.
40062 (grub_vbe_set_display_start): Renamed from this...
40063 (grub_vbe_bios_set_display_start): ... to this.
40064 (grub_vbe_get_display_start): Renamed from this...
40065 (grub_vbe_bios_get_display_start): ... to this.
40066 (grub_vbe_set_palette_data): Renamed from this...
40067 (grub_vbe_bios_set_palette_data): ... to this.
40068 (grub_vbe_set_pixel_rgb): Removed.
40069 (grub_vbe_set_pixel_index): Likewise.
40070
40071 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
40072 from this...
40073 (grub_vbe_bios_get_controller_info): ... to this.
40074 (grub_vbe_get_mode_info): Renamed from this...
40075 (grub_vbe_bios_get_mode_info): ... to this.
40076 (grub_vbe_set_mode): Renamed from this...
40077 (grub_vbe_bios_set_mode): ... to this.
40078 (grub_vbe_get_mode): Renamed from this...
40079 (grub_vbe_bios_get_mode): ... to this.
40080 (grub_vbe_set_memory_window): Renamed from this...
40081 (grub_vbe_bios_set_memory_window): ... to this.
40082 (grub_vbe_get_memory_window): Renamed from this...
40083 (grub_vbe_bios_get_memory_window): ... to this.
40084 (grub_vbe_set_scanline_length): Renamed from this...
40085 (grub_vbe_set_scanline_length): ... to this.
40086 (grub_vbe_get_scanline_length): Renamed from this...
40087 (grub_vbe_bios_get_scanline_length): ... to this.
40088 (grub_vbe_set_display_start): Renamed from this...
40089 (grub_vbe_bios_set_display_start): ... to this.
40090 (grub_vbe_get_display_start): Renamed from this...
40091 (grub_vbe_bios_get_display_start): ... to this.
40092 (grub_vbe_set_palette_data): Renamed from this...
40093 (grub_vbe_bios_set_palette_data): ... to this.
40094 (grub_vbe_bios_get_controller_info): Fixed problem with registers
40095 getting corrupted after calling it. Added more pushes and pops.
40096 (grub_vbe_bios_set_mode): Likewise.
40097 (grub_vbe_bios_get_mode): Likewise.
40098 (grub_vbe_bios_get_memory_window): Likewise.
40099 (grub_vbe_bios_set_scanline_length): Likewise.
40100 (grub_vbe_bios_get_scanline_length): Likewise.
40101 (grub_vbe_bios_get_display_start): Likewise.
40102 (grub_vbe_bios_set_palette_data): Likewise.
40103
40104 * normal/cmdline.c (cl_set_pos): Refresh the screen.
40105 (cl_insert): Likewise.
40106 (cl_delete): Likewise.
40107
40108 * term/gfxterm.c: New file.
40109
40110 * term/i386/pc/vesafb.c: Removed file.
40111
40112 * video/video.c: New file.
40113
40114 * video/i386/pc/vbe.c (real2pm): Added new function.
40115 (grub_video_vbe_draw_pixel): Likewise.
40116 (grub_video_vbe_get_video_ptr): Likewise.
40117 (grub_video_vbe_get_pixel): Likewise
40118 (grub_video_vbe_init): Likewise.
40119 (grub_video_vbe_fini): Likewise.
40120 (grub_video_vbe_setup): Likewise.
40121 (grub_video_vbe_get_info): Likewise.
40122 (grub_video_vbe_set_palette): Likewise.
40123 (grub_video_vbe_get_palette): Likewise.
40124 (grub_video_vbe_set_viewport): Likewise.
40125 (grub_video_vbe_get_viewport): Likewise.
40126 (grub_video_vbe_map_color): Likewise.
40127 (grub_video_vbe_map_rgb): Likewise.
40128 (grub_video_vbe_map_rgba): Likewise.
40129 (grub_video_vbe_unmap_color): Likewise.
40130 (grub_video_vbe_fill_rect): Likewise.
40131 (grub_video_vbe_blit_glyph): Likewise.
40132 (grub_video_vbe_blit_bitmap): Likewise.
40133 (grub_video_vbe_blit_render_target): Likewise.
40134 (grub_video_vbe_scroll): Likewise.
40135 (grub_video_vbe_swap_buffers): Likewise.
40136 (grub_video_vbe_create_render_target): Likewise.
40137 (grub_video_vbe_delete_render_target): Likewise.
40138 (grub_video_vbe_set_active_render_target): Likewise.
40139 (grub_vbe_set_pixel_rgb): Remove function.
40140 (grub_vbe_set_pixel_index): Likewise.
40141 (index_color_mode): Remove static variable.
40142 (active_mode): Likewise.
40143 (framebuffer): Likewise.
40144 (bytes_per_scan_line): Likewise.
40145 (grub_video_vbe_adapter): Added new static variable.
40146 (framebuffer): Likewise.
40147 (render_target): Likewise.
40148 (initial_mode): Likewise.
40149 (mode_in_use): Likewise.
40150 (mode_list): Likewise.
40151
5f97350b 401522006-03-10 Marco Gerards <marco@gnu.org>
40153
40154 * configure.ac (AC_INIT): Bumped to 1.93.
40155
40156 * DISTLIST: Added `include/grub/hfs.h'.
40157
a3c5c6f8 401582006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
40159
40160 * boot/i386/pc/boot.S (general_error): Before looping, try INT
40161 18H, which might help the BIOS falling back to next boot media.
40162
6de53d26 401632006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
40164
40165 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
40166 Poe Chen <poe.poechen@gmail.com>.
40167
77c4a393 401682006-01-17 Marco Gerards <marco@gnu.org>
40169
40170 * include/grub/normal.h: Include <grub/script.h>.
40171 (grub_command_list): Removed struct.
40172 (grub_command_list_t): Removed type.
40173 (grub_menu_entry): Remove members `num' and `command_list'. Add
40174 members `commands' and `sourcecode'.
40175 * include/grub/script.h: Add inclusion guards.
40176 (grub_script_cmd_menuentry): New struct.
40177 (grub_script_execute_menuentry): New prototype.
40178 (grub_script_lexer_record_start): Likewise.
40179 (grub_script_lexer_record_stop): Likewise.
40180 * normal/execute.c (grub_script_execute_menuentry): New function.
40181 * normal/lexer.c (record, recording, recordpos, recordlen): New
40182 variables.
40183 (grub_script_lexer_record_start): New function.
40184 (grub_script_lexer_record_stop): Likewise.
40185 (recordchar): Likewise.
40186 (nextchar): Likewise.
40187 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
40188 2048 as the buffer size. Add the tokens `menuentry' and `@'.
40189 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
40190 (current_menu): New variable.
40191 (free_menu): Mainly rewritten.
40192 (grub_normal_menu_addentry): New function.
40193 (read_config_file): Rewritten.
40194 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 40195 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 40196 the menu entry.
40197 (run): Mainly rewritten.
40198 * normal/parser.y (menu_entry): New variable.
40199 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
40200 (menuentry): New rule.
40201 (command): Add `menuentry'.
40202 (if_statement): Allow additional returns before `fi'.
40203 * normal/script.c (grub_script_create_cmdmenu): New function.
40204
144f1f98 402052006-01-03 Marco Gerards <marco@gnu.org>
40206
40207 * INSTALL: GNU Bison is required.
40208 * configure.ac: Rewritten the test to detect Bison.
40209 * Makefile.in (YACC): New variable. Reported by Xun Sun
40210 <xun.sun.cn@gmail.com>.
40211
af4b2d89 402122006-01-03 Marco Gerards <marco@gnu.org>
40213
40214 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
40215 the HFS+ filesystem to filesystem blocks.
40216 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
40217 GCC warning is silenced.
40218
15643b71 402192006-01-03 Marco Gerards <marco@gnu.org>
40220
40221 * partmap/apple.c (apple_partition_map_iterate): Convert the data
40222 read from disk from big endian to host byte order.
40223
00905879 402242006-01-03 Hollis Blanchard <hollis@penguinppc.org>
40225
40226 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
40227 documentation.
40228 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
40229 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
40230 embedded HFS+ filesystem.
40231 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
40232 (grub_hfs_sblock): Move from here...
40233 * include/grub/hfs.h: To here... New file.
40234 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
40235 documentation.
40236 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
40237 New macros.
40238 (grub_hfsplus_volheader): Change type of member `magic' to
40239 `grub_uint16_t'.
40240 (grub_hfsplus_data): Add new member `embedded_offset'.
40241 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
40242 returned block.
40243 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
40244 Calculate the offset.
40245
8899bc3e 402462005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40247
40248 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
40249 Removed.
40250 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
40251
ae8c0277 402522005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40253
40254 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
40255 ENV->NAME is NULL after allocating ENV->VALUE.
40256
07084456 402572005-12-25 Marco Gerards <marco@gnu.org>
40258
40259 * kern/env.c (grub_env_set): Rewritten the error handling code.
40260
4750f5f1 402612005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40262
40263 * geninit.sh: Made more robust, and more portable.
40264
50214199 402652005-12-25 Marco Gerards <marco@gnu.org>
40266
40267 Add support for Apple HFS+ filesystems.
f19dbdb7 40268
50214199 40269 * fs/hfsplus.c: New file.
40270
40271 * DISTLIST: Added `fs/hfsplus.c'.
40272
40273 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
40274 (hfsplus_mod_SOURCES): New variable.
40275 (hfsplus_mod_CFLAGS): Likewise.
40276 (hfsplus_mod_LDFLAGS): Likewise.
40277 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
40278 (grub_setup_SOURCES): Likewise.
40279 (grub_mkdevicemap_SOURCES): Likewise.
40280 (grub_emu_SOURCES): Likewise.
40281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40282
40283 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
40284
40285 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
40286
befaed6c 402872005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40288
40289 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
40290 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
40291 include/grub/parser.h, include/grub/script.h, kern/parser.c,
40292 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
40293 normal/lexer.c, normal/parser.y, normal/script.c, and
40294 partmap/gpt.c.
40295 Removed kern/sparc64/cache.c.
40296
40297 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
40298 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
40299 grub_emu_init.c.
40300
40301 * configure.ac (AC_INIT): Bumped to 1.92.
40302
6a124103 403032005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
40304
40305 * kern/err.c (grub_error_push): Added new function to support error
40306 stacks.
40307 (grub_error_pop): Likewise.
40308 (grub_error_stack_items): New local variable to support error stacks.
40309 (grub_error_stack_pos): Likewise.
40310 (grub_error_stack_assert): Likewise.
40311 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
40312 stack depth.
40313 (grub_print_error): Added support to print errors from error stack.
40314
40315 * include/grub/err.h (grub_error_push): Added function prototype.
40316 (grub_error_pop): Likewise.
40317
be973c1b 403182005-12-09 Hollis Blanchard <hollis@penguinppc.org>
40319
40320 * configure.ac: Accept `powerpc64' as host_cpu.
40321 (amd64): Rename to `biarch32'.
40322
40323 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
40324 non-cacheline-aligned addresses.
40325
40326 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
40327 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
40328 if `size' is non-zero.
40329
b04216ab 403302005-12-03 Marco Gerards <mgerards@xs4all.nl>
40331
40332 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
40333 and `cd' to make sure the filename is not prefixed with a
40334 directory name.
40335 (pkgdata_MODULES): Add `gpt.mod'.
40336 (gpt_mod_SOURCES): New variable.
40337 (gpt_mod_CFLAGS): Likewise.
40338 (gpt_mod_LDFLAGS): Likewise.
40339
40340 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
40341
40342 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
40343 New macro.
40344
40345 * partmap/gpt.c: New file.
40346
40347 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
40348 GPT partition map is detected.
40349
41730ed9 403502005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
40351
40352 * commands/i386/pc/play.c: New file.
40353 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
40354 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
40355 macros.
f19dbdb7 40356
95dc3643 403572005-11-27 Marco Gerards <mgerards@xs4all.nl>
40358
40359 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
40360 ((unused))' to silence gcc warning.
40361
1569ec51 403622005-11-26 Hollis Blanchard <hollis@penguinppc.org>
40363
40364 * configure.ac: Correct `AC_PROG_YACC' test.
40365
9abde152 403662005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40367
40368 * util/powerpc/ieee1275/grub-install.in: Run the mount point
40369 check before installing files.
40370
44b83271 403712005-11-22 Mike Small <smallm@panix.com>
40372
40373 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
40374 number regex so multidigit numbers are recognized correctly.
40375
403762005-11-22 Mike Small <smallm@panix.com>
40377
40378 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
40379 debugging message before attempting to claim memory.
40380 (grub_rescue_cmd_initrd): Add a claim debugging message and try
40381 multiple addresses in case of failure.
40382
9c12956b 403832005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40384
40385 * term/tparm.c (get_space): Remove empty `if' statement.
40386
40387 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
40388
40389 * kern/parser.c (check_varstate): Rename `state' to 's'.
40390
aeaf81d9 403912005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40392
40393 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
40394 variable definitions to the beginning of each function. Sort stack
40395 variables by size.
40396 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
40397 `buf' argument to `char *'.
40398
79bbb63f 403992005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40400
40401 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
40402 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40403 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 40404 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40405 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40406 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40407 configfile.mod, search.mod, gzio.mod and test.mod.
40408 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40409 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40410 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40411 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40412 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40413 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40414 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40415 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40416 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40417 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40418 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40419 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40420 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40421 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40422 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40423 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40424 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40425 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40426 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40427 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40428 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40429 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40430 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
40431
40432 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
40433 `grep --include'.
40434 (pkgdata_MODULES): Add test.mod.
40435
233b1628 404362005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40437
40438 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
40439 appending to variables with "+=".
40440 (PModule): Use full pathname to generate *.lst filenames.
40441
40442 * Makefile.in: Fixed list rules moved from genmk.rb.
40443 (.DELETE_ON_ERROR): New special target.
40444 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
40445
40446 * conf/i386-pc.rmk: Include conf/common.mk.
40447 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40448 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 40449 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40450 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40451 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40452 configfile.mod, search.mod, gzio.mod and test.mod.
40453 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40454 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40455 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40456 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40457 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40458 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40459 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40460 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40461 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40462 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40463 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40464 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40465 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40466 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40467 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40468 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40469 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40470 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40471 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40472 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40473 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40474 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40475 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
40476 here...
40477 * conf/common.rmk: ... to here. New file.
40478
40479 * conf/common.mk: New file.
40480
16f820c8 404812005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
40482
40483 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
40484 (grub_script.tab.c): ... here.
40485
40486 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40487 (grub_script.tab.c): ... here.
40488
40489 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40490 (grub_script.tab.c): ... here.
40491
40492 * normal/command.c (grub_command_find): Fixed a memory leak of
40493 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40494
63ba1554 404952005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40496
40497 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40498 "@" which marks the start of a comment on ARM.
40499 (VARIABLE): Likewise.
40500
7f67dc13 405012005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40502
79bbb63f 40503 Add support for Linux/ADFS partition tables.
7f67dc13 40504
40505 * partmap/acorn.c: New file.
40506
40507 * include/grub/acorn_filecore.h: Likewise.
40508
40509 * DISTLIST: Added `partmap/acorn.c' and
40510 `include/grub/acorn_filecore.h'.
f19dbdb7 40511
7f67dc13 40512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40513 `partmap/acorn.c'.
40514 (pkgdata_MODULES): Add `acorn.mod'.
40515 (acorn_mod_SOURCES): New variable.
40516 (acorn_mod_CFLAGS): Likewise.
40517
40518 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40519 `partmap/acorn.c'.
40520 (pkgdata_MODULES): Add `acorn.mod'.
40521 (acorn_mod_SOURCES): New variable.
40522 (acorn_mod_CFLAGS): Likewise.
40523
40524 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40525 (pkgdata_MODULES): Add `acorn.mod'.
40526 (acorn_mod_SOURCES): New variable.
40527 (acorn_mod_CFLAGS): Likewise.
40528 (acorn_mod_LDFLAGS): Likewise.
40529
40530 * include/types.h (grub_disk_addr_t): New typedef.
40531
6d099807 405322005-11-13 Marco Gerards <mgerards@xs4all.nl>
40533
40534 * geninit.sh: New file.
40535
40536 * geninitheader.sh: Likewise.
40537
40538 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40539 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40540 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40541 * commands/configfile.c (grub_configfile_init)
40542 (grub_configfile_fini): Likewise.
40543 * commands/default.c (grub_default_init, grub_default_fini):
40544 Likewise.
40545 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40546 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40547 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40548 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40549 Likewise.
40550 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40551 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40552 Likewise.
40553 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40554 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40555 Likewise.
40556 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40557 Likewise.
fe6b695a 40558 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40559 Likewise.
40560 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40561 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40562 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40563 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40564 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40565 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40566 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40567 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40568 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40569 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40570 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40571 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40572 * partmap/amiga.c (grub_amiga_partition_map_init)
40573 (grub_amiga_partition_map_fini): Likewise.
40574 * partmap/apple.c (grub_apple_partition_map_init)
40575 (grub_apple_partition_map_fini): Likewise.
40576 * partmap/pc.c (grub_pc_partition_map_init)
40577 (grub_pc_partition_map_fini): Likewise.
40578 * partmap/sun.c (grub_sun_partition_map_init,
40579 grub_sun_partition_map_fini): Likewise.
40580 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40581 Likewise.
40582
40583 * util/grub-emu.c: Include <grub_modules_init.h>.
40584 (main): Don't initialize and de-initialize any modules directly,
40585 use `grub_init_all' and `grub_fini_all' instead.
40586
40587 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40588 `grub_vesafb_mod_init'.
40589 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40590 all users.
40591 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40592 `grub_vga_mod_init'. Updated all users.
40593 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40594
6d099807 40595 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40596 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40597 rules.
40598
40599 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40600 Generate a function to initialize the module in utilities.
40601 Updated all callers.
40602 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40603 initialize the module in utilities. Updated all callers.
40604
9046bcf0 406052005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40606
40607 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40608 escape sequence and a literal ^L to clear the screen.
40609
40610 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40611 when returning from Open Firmware.
40612
d13ea639 406132005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40614
40615 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40616 (grub_ofconsole_height): Likewise.
40617 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40618 manually insert a '\n'.
40619 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40620 `grub_ofconsole_height'. Return early if these are already set.
40621
a8fcf206 406222005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40623
40624 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40625 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40626 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40627 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40628 and `normal/script.c'.
40629 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40630 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40631 (test_mod_SOURCES): New variable.
40632 (test_mod_CFLAGS): Likewise.
40633 (test_mod_LDFLAGS): Likewise.
40634 (pkgdata_MODULES): Add `test.mod'.
40635 (grub_script.tab.c): New rule.
40636 (grub_script.tab.h): Likewise.
40637
b6b32745 406382005-11-07 Marco Gerards <mgerards@xs4all.nl>
40639
40640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40641 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40642 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40643 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40644 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40645 (test_mod_SOURCES): New variable.
40646 (test_mod_CFLAGS): Likewise.
40647 (pkgdata_MODULES): Add `test.mod'.
40648 (grub_script.tab.c): New rule.
40649 (grub_script.tab.h): Likewise.
40650
daac212a 406512005-11-06 Marco Gerards <mgerards@xs4all.nl>
40652
40653 Add initial scripting support.
40654
40655 * commands/test.c: New file.
40656 * include/grub/script.h: Likewise.
40657 * normal/execute.c: Likewise.
40658 * normal/function.c: Likewise.
40659 * normal/lexer.c: Likewise.
40660 * normal/parser.y: Likewise.
40661 * normal/script.c: Likewise.
40662
40663 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 40664
daac212a 40665 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
40666 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
40667 `normal/function.c' and `normal/script.c'.
40668 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40669 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 40670 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
40671 variables.
daac212a 40672 (pkgdata_MODULES): Add `test.mod'.
40673 (grub_script.tab.c): New rule.
40674 (grub_script.tab.h): Likewise.
40675
40676 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
40677
40678 * include/grub/normal.h (grub_test_init): New prototype.
40679 (grub_test_fini): Likewise.
f19dbdb7 40680
daac212a 40681 * normal/command.c: Include <grub/script.h>.
40682 (grub_command_execute): Rewritten.
f19dbdb7 40683
daac212a 40684 * util/grub-emu.c (main): Call `grub_test_init' and
40685 `grub_test_fini'.
40686
77500b2b 406872005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40688
40689 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
40690 to 0.
40691 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
40692 there are no pending characters.
40693
e45deb9e 406942005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40695
40696 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
40697 `grub_strndup' to drop device arguments. Replace unnecessary
40698 `grub_strndup' with `grub_strdup'.
40699
4ce32619 407002005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40701
40702 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
40703 `debug' environment variable has been set.
40704
407052005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40706
4ce32619 40707 * Makefile.in (install-local): Use $(DATA).
40708 (uninstall): Likewise.
40709 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
40710 (sbin_UTILITIES): ... to here.
40711 (sbin_SCRIPTS): New variable.
40712 (grub_install_SOURCES): New variable.
40713 * util/powerpc/ieee1275/grub-install.in: New file.
40714 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
40715 variable.
40716 (add_segments): Call `grub_util_get_path'.
40717
25fe6f03 407182005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40719
40720 From Timothy Baldwin:
40721 * commands/ls.c (grub_ls_list_files): Close FILE with
40722 grub_file_close.
40723 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
40724
04ccf3ec 407252005-10-24 Marco Gerards <mgerards@xs4all.nl>
40726
40727 * include/grub/parser.h: New file.
40728
40729 * kern/parser.c: Likewise.
40730
40731 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
40732 (grub_setup_SOURCES): Likewise.
40733 (grub_probefs_SOURCES): Likewise.
40734 (grub_emu_SOURCES): Likewise.
40735 (kernel_img_HEADERS): Add `parser.h'.
40736
40737 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40738 (grub_emu_SOURCES): Add `kern/parser.c'.
40739 (grubof_SOURCES): Likewise.
40740
40741 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40742 (grubof_SOURCES): Add `kern/parser.c'.
40743
40744 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40745
40746 * kern/misc.c (grub_split_cmdline): Removed function.
40747
40748 * kern/rescue.c: Include <grub/parser.h>.
40749 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40750 of `grub_split_cmdline'.
40751
40752 * normal/command.c: Include <grub/parser.h>.
40753 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40754 of `grub_split_cmdline'.
40755
40756 * normal/completion.c: Include <grub/parser.h>.
40757 (cmdline_state): New variable.
40758 (iterate_dir): End the filename with a quote depending on the
40759 command line state.
40760 (get_state): new function.
40761 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40762 split the arguments and determine the current argument. When the
40763 argument string is not quoted, escape all spaces.
40764
6d8f4b0e 407652005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40766
40767 * normal/sparc64/setjmp.S: New file.
40768
15cf03ed 407692005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40770
40771 * include/grub/sparc64/libgcc.h: New file.
40772 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
40773 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
40774 normal/sparc64/setjmp.c.
40775
03e8661a 407762005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40777
40778 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
40779 * kern/sparc64/cache.S: New file.
40780 * kern/sparc64/cache.c: Removed.
40781 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
40782 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
40783 -mtune=ultrasparc.
40784 (COMMON_LDFLAGS): Add -melf64_sparc.
40785 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
40786 (grubof_SOURCES): Use cache.S instead of cache.c.
40787 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
40788 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
40789 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
40790 commented though.
40791 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
40792 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
40793 (linux_mod_CFLAGS): Commented out.
40794 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
40795 out because module isn't built.
40796 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
40797 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
40798 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
40799 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
40800 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
40801 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40802 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40803 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
40804 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
40805 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
40806 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40807 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40808 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
40809 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
40810
34eeec8a 408112005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
40812
40813 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
40814 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
40815 longer, because HFS should not be used on PC.
40816
708367a3 408172005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40818
40819 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
40820 consistently within the loop.
40821
6fa1251a 408222005-10-15 Marco Gerards <mgerards@xs4all.nl>
40823
40824 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
40825 directory can not be read.
40826
4801580b 408272005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40828
40829 * configure.ac (AC_INIT): Increase the version number to 1.91.
40830
40831 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
40832 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
40833 term/i386/pc/serial.c.
40834
219ad426 408352005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40836
40837 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
40838 file size must be permitted.
40839
40840 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
40841 between %ah and %al.
40842
688e5699 408432005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40844
40845 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
40846 grub_uint64_t.
40847 Call the hook with a NUL-terminated filename.
40848 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
40849 grub_cpu_to_be32.
40850
40851 * kern/term.c (cursor_state): New variable.
40852 (grub_term_set_current): Reset the cursor state on a new
40853 terminal.
40854 (grub_setcursor): Rewritten to use CURSOR_STATE.
40855 (grub_getcursor): New function.
40856
40857 * include/grub/term.h (grub_getcursor): New prototype.
40858
40859 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
40860 integers on ARM. Reported by Timothy Baldwin
40861 <T.E.Baldwin99@members.leeds.ac.uk>.
40862
bb34586c 408632005-10-11 Marco Gerards <mgerards@xs4all.nl>
40864
40865 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
40866 allocated.
40867 (grub_sfs_dir): Likewise.
40868
9a909877 408692005-10-09 Marco Gerards <mgerards@xs4all.nl>
40870
40871 Add support for the SFS filesystem.
40872
40873 * fs/sfs.c: New file.
40874
40875 * DISTLIST: Added `fs/sfs.c'.
40876
40877 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
40878 (grub_probefs_SOURCES): Likewise.
40879 (grub_emu_SOURCES): Likewise.
40880 (pkgdata_MODULES): Add `sfs.mod'.
40881 (sfs_mod_SOURCES): New variable.
40882 (sfs_mod_CFLAGS): Likewise.
40883 (sfs_mod_LDFLAGS): Likewise.
40884
40885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
40886 (pkgdata_MODULES): Add `sfs.mod'.
40887 (sfs_mod_SOURCES): New variable.
40888 (sfs_mod_CFLAGS): Likewise.
40889
40890 * util/grub-emu.c (main): Call `grub_sfs_init' and
40891 `grub_sfs_fini'.
40892
40893 * include/grub/fs.h (grub_sfs_init): New prototype.
40894 (grub_sfs_fini): Likewise.
40895
57bdbde3 408962005-10-07 Marco Gerards <mgerards@xs4all.nl>
40897
40898 Add support for the AFFS filesystem.
40899
40900 * fs/affs.c: New file.
40901
40902 * DISTLIST: Added `fs/affs.c'.
40903
40904 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
40905 (grub_probefs_SOURCES): Likewise.
40906 (grub_emu_SOURCES): Likewise.
40907 (pkgdata_MODULES): Add `affs.mod'.
40908 (affs_mod_SOURCES): New variable.
40909 (affs_mod_CFLAGS): Likewise.
40910 (affs_mod_LDFLAGS): Likewise.
40911
40912 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
40913 (pkgdata_MODULES): Add `affs.mod'.
40914 (affs_mod_SOURCES): New variable.
40915 (affs_mod_CFLAGS): Likewise.
40916
40917 * util/grub-emu.c (main): Call `grub_affs_init' and
40918 `grub_affs_fini'.
40919
40920 * include/grub/fs.h (grub_affs_init): New prototype.
40921 (grub_affs_fini): Likewise.
40922
047b67e0 409232005-10-01 Marco Gerards <mgerards@xs4all.nl>
40924
40925 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
40926
59b8208a 409272005-10-01 Marco Gerards <mgerards@xs4all.nl>
40928
40929 * configure.ac: Accept `x86_64' as host_cpu. In that case add
40930 `-m32' to CFLAGS.
40931
40932 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
40933 linking.
f19dbdb7 40934
59b8208a 40935 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
40936 (COMMON_LDFLAGS): New variable.
40937 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
40938 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
40939 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
40940 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
40941 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
40942 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
40943 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
40944 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
40945 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
40946 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
40947 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40948 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40949 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
40950 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
40951 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
40952 variables.
40953 (normal_mod_ASFLAGS): Add `-m32'.
40954
40955 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
40956 (grub_host_size_t, grub_host_ssize_t): New types.
40957 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 40958 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 40959 `GRUB_HOST_SIZEOF_VOID_P'.
40960
40961 * include/grub/kernel.h (struct grub_module_header): Type of
40962 member offset changed to `grub_host_off_t'. Type of member size
40963 changed to `grub_host_size_t'.
40964 (struct grub_module_info): Type of member offset changed to
40965 `grub_host_off_t'. Type of member size changed to
40966 `grub_host_size_t'.
40967
b4093103 409682005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
40969
40970 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 40971
b4093103 40972 * kern/i386/pc/startup.S (multiboot_header): New label.
40973 (multiboot_entry): Likewise.
40974 (multiboot_trampoline): Likewise.
40975
40976 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40977 Increased to 0x4A0.
40978
40979 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
40980 put parentheses after a question mark.
40981 [!GRUB_UTIL] (my_mod): New variable.
40982
40983 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
40984
b2499b29 409852005-09-28 Marco Gerards <mgerards@xs4all.nl>
40986
40987 Adds support for the XFS filesystem. Btrees are not supported
40988 yet.
40989
40990 * fs/xfs.c: New file.
40991
40992 * DISTLIST: Added `fs/xfs.c'.
40993
40994 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
40995 (grub_probefs_SOURCES): Likewise.
40996 (grub_emu_SOURCES): Likewise.
40997 (pkgdata_MODULES): Add `xfs.mod'.
40998 (xfs_mod_SOURCES): New variable.
40999 (xfs_mod_CFLAGS): Likewise.
41000
41001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
41002 (pkgdata_MODULES): Add `xfs.mod'.
41003 (xfs_mod_SOURCES): New variable.
41004 (xfs_mod_CFLAGS): Likewise.
41005
41006 * util/grub-emu.c (main): Call `grub_xfs_init' and
41007 `grub_xfs_fini'.
41008
41009 * include/grub/fs.h (grub_xfs_init): New prototype.
41010 (grub_xfs_fini): Likewise.
41011
f19dbdb7 41012
83d37a62 410132005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
41014
41015 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
41016 color modes, allow greater than 16 colors to be configured as
41017 a default palette.
41018
47d2d65e 410192005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41020
41021 * normal/completion.c (complete_arguments): Add the qualifier
41022 const into OPTIONS.
41023
41024 From Omniflux <omniflux+lists@omniflux.com>:
41025 * include/grub/terminfo.h: New file.
41026 * include/grub/tparm.h: Likewise.
41027 * include/grub/i386/pc/serial.h: Likewise.
41028 * term/terminfo.c: Likewise.
41029 * term/tparm.c: Likewise.
41030 * term/i386/pc/serial.c: Likewise.
41031 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
41032 serial.mod.
41033 (terminfo_mod_SOURCES): New variable.
41034 (terminfo_mod_CFLAGS): Likewise.
41035 (serial_mod_SOURCES): Likewise.
41036 (serial_mod_CFLAGS): Likewise.
41037
48b671ff 410382005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
41039
41040 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
41041 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
41042 and kern/powerpc/ieee1275/cmain.c, respectively.
41043
41044 * boot/powerpc/ieee1275/crt0.S: Moved to ...
41045 * kern/powerpc/ieee1275/crt0.S: ... here.
41046
41047 * boot/powerpc/ieee1275/cmain.c: Moved to ...
41048 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 41049
48b671ff 41050 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
41051 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
41052 instead of boot/powerpc/ieee1275/crt0.S and
41053 boot/powerpc/ieee1275/cmain.c, respectively.
41054
41055 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
41056 sectors. It was not used anyway.
41057
09fc77a7 410582005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41059
41060 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
41061 `unused parameter' warning.
41062
003789c7 410632005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41064
41065 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
41066 function.
41067 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
41068 getcharwidth.
41069
67f44c86 410702005-08-28 Marco Gerards <metgerards@student.han.nl>
41071
41072 * include/grub/normal.h (enum grub_completion_type): Added
41073 `GRUB_COMPLETION_TYPE_ARGUMENT'.
41074
41075 * normal/cmdline.c (print_completion): Handle
41076 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
41077 * normal/menu_entry.c (store_completion): Likewise.
41078
41079 * normal/completion.c (complete_arguments): New function.
41080 (grub_normal_do_completion): Call `complete_arguments' when the
41081 current words start with a dash.
41082
0b5abe02 410832005-08-27 Marco Gerards <metgerards@student.han.nl>
41084
41085 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
41086 `gzio.mod' instead of `io.mod').
41087
d9864ee1 410882005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
41089
41090 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
41091 (DISTDIRS): Added io and video.
41092 Rewrite the search routine to make an output consistently.
41093
41094 * DISTLIST: Added conf/sparc64-ieee1275.mk,
41095 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
41096 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
41097 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
41098 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
41099 util/powerpc/ieee1275/misc.c.
f19dbdb7 41100
d9864ee1 41101 * include/grub/gzio.h: New file.
41102 * io/gzio.c: Likewise.
f19dbdb7 41103
d9864ee1 41104 * kern/file.c (grub_file_close): Call grub_device_close only if
41105 FILE->DEVICE is not NULL.
41106
41107 * include/grub/mm.h [!NULL] (NULL): New macro.
41108
41109 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
41110
41111 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
41112 (pkgdata_MODULES): Added gzio.mod.
41113 (gzio_mod_SOURCES): New variable.
41114 (gzio_mod_CFLAGS): Likewise.
41115
41116 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
41117 (pkgdata_MODULES): Added gzio.mod.
41118 (gzio_mod_SOURCES): New variable.
41119 (gzio_mod_CFLAGS): Likewise.
41120
41121 * commands/cat.c: Include grub/gzio.h.
41122 (grub_cmd_cat): Use grub_gzfile_open instead of
41123 grub_file_open.
f19dbdb7 41124
d9864ee1 41125 * commands/cmp.c: Include grub/gzio.h.
41126 (grub_cmd_cmp): Use grub_gzfile_open instead of
41127 grub_file_open.
41128
41129 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
41130 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
41131 grub_file_open.
41132 (grub_rescue_cmd_module): Likewise.
41133
fa46f4b5 411342005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41135
41136 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
41137 kern/sparc64/ieee1275/init.c because it contains _start.
41138 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
41139
e9211b5d 411402005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41141
41142 * configure.ac: Add support for sparc64 host with ieee1275
41143 firmware.
41144 * configure: Generated from configure.ac.
41145 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
41146 instead of int.
41147 (grub_ofdisk_read): Likewise.
41148 (grub_ofdisk_open): Use %p to print pointer values, and cast the
41149 pointers as (void *) to remove a warning.
41150 (grub_ofdisk_close): Likewise.
41151 (grub_ofdisk_read): Likewise.
41152 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
41153 returns, so make it return void to remove a warning.
41154 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
41155 Corresponding prototype change.
41156 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
41157 values, and cast the pointers as (void *) to remove a warning.
41158 (grub_mm_dump): Likewise.
41159 * conf/sparc64-ieee1275.mk: New file.
41160 * conf/sparc64-ieee1275.rmk: Likewise.
41161 * include/grub/sparc64/setjmp.h: Likewise.
41162 * include/grub/sparc64/types.h: Likewise.
41163 * include/grub/sparc64/ieee1275/console.h: Likewise.
41164 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41165 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41166 * include/grub/sparc64/ieee1275/time.h: Likewise.
41167 * kern/sparc64/cache.c: Likewise.
41168 * kern/sparc64/dl.c: Likewise.
41169 * kern/sparc64/ieee1275/init.c: Likewise.
41170 * kern/sparc64/ieee1275/openfw.c: Likewise.
41171
385c6a92 411722005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41173
41174 * util/console.c (grub_ncurses_putchar): If C is greater than
41175 0x7f, set C to a question mark.
41176 (grub_ncurses_getcharwidth): New function.
41177 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
41178 getcharwidth.
41179
41180 * normal/menu.c (print_entry): Made aware of Unicode. First,
41181 convert TITLE to UCS-4, and predict the cursor position by
41182 grub_getcharwidth.
41183
41184 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
41185 const to SRC.
41186 * kern/misc.c (grub_utf16_to_utf8): Likewise.
41187
16ccb8b1 411882005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41189
41190 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
41191 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41192 grub_strcat.
41193
41194 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
41195 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41196 grub_strcpy and grub_strlen. Take it into account that a space
41197 character is inserted as a delimiter.
41198
6a85ce79 411992005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41200
41201 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 41202 invalid magic in the error.
6a85ce79 41203
41204 * commands/search.c: New file.
f19dbdb7 41205
6a85ce79 41206 * util/grub-emu.c (main): Call grub_search_init and
41207 grub_search_fini.
41208
41209 * kern/rescue.c (grub_rescue_print_disks): Removed.
41210 (grub_rescue_print_devices): New function.
41211 (grub_rescue_cmd_ls): Use grub_device_iterate with
41212 grub_rescue_print_devices instead of grub_disk_dev_iterate with
41213 grub_rescue_print_disks.
41214
41215 * kern/partition.c (grub_partition_iterate): Return the result of
41216 PARTMAP->ITERATE instead of GRUB_ERRNO.
41217
41218 * kern/device.c: Include grub/partition.h.
41219 (grub_device_iterate): New function.
41220
41221 * include/grub/partition.h (grub_partition_iterate): Return int
41222 instead of grub_err_t.
41223
41224 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
41225 prototype.
41226 [GRUB_UTIL] (grub_search_fini): Likewise.
41227
41228 * include/grub/device.h (grub_device_iterate): New prototype.
41229
41230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41231 commands/search.c.
41232 (pkgdata_MODULES): Added search.mod.
41233 (search_mod_SOURCES): New variable.
41234 (search_mod_CFLAGS): Likewise.
41235
41236 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
41237 (pkgdata_MODULES): Added search.mod.
41238 (search_mod_SOURCES): New variable.
41239 (search_mod_CFLAGS): Likewise.
41240
41241 * commands/ls.c (grub_ls_list_disks): Renamed to ...
41242 (grub_ls_list_devices): ... this, and use grub_device_iterate.
41243 All callers changed.
41244
41245 * DISTLIST: Added commands/search.c.
41246
ef095434 412472005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41248
41249 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
41250 conversion.
41251 (grub_getcharwidth): New function.
41252
41253 * kern/misc.c (grub_utf8_to_ucs4): New function.
41254
41255 * include/grub/term.h (struct grub_term): Added a new member
41256 "getcharwidth".
41257 (grub_getcharwidth): New prototype.
41258
41259 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
41260
41261 * term/i386/pc/console.c (map_char): New function. Segregated from
41262 grub_console_putchar.
41263 (grub_console_putchar): Use map_char.
41264 (grub_console_getcharwidth): New function.
41265 (grub_console_term): Specified grub_console_getcharwidth as
41266 getcharwidth.
41267
41268 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
41269 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
41270
41271 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
41272 GRUB_ERRNO.
41273 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
41274 on grub_strtoul completely.
41275 (write_char): Declare local variables in the beginning of the
41276 function.
41277 (grub_vesafb_getcharwidth): New function.
41278 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
41279 getcharwidth.
41280
1f0a95e4 412812005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
41282
41283 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
41284 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
41285 commands/i386/pc/vbetest.c.
41286
41287 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
41288 call grub_vbe_get_controller_info again, because the returned
41289 information is volatile.
41290 (grub_vbe_set_video_mode): Mostly rewritten.
41291 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
41292 grub_vbe_status_t correctly.
41293 (grub_vbe_get_video_mode_info): Likewise.
41294 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
41295 several if statements.
41296
41297 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
41298 * commands/i386/pc/vbeinfo.c: ... this.
41299
41300 * commands/i386/pc/vbe_test.c: Renamed to ...
41301 * commands/i386/pc/vbetest.c: ... this.
41302
41303 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
41304 ...
41305 (grub_cmd_vbeinfo): ... this. Save video modes before
41306 iterating. Skip a video mode, if it is not available, not enough
41307 information is given or it is monochrome. Show the memory
41308 model. Leave the interpretation of MODEVAR to grub_strtoul
41309 completely.
41310 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
41311 (GRUB_MOD_FINI): Likewise.
41312
41313 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
41314 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
41315 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
41316 duplicated grub_env_get. Leave the interpretation of MODEVAR to
41317 grub_strtoul completely.
41318 (real2pm): Removed.
41319 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
41320 (GRUB_MOD_FINI): Likewise.
41321
41322 * normal/misc.c: Include grub/mm.h.
41323
41324 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
41325 vbe_list_modes with vbetest.mod and vbeinfo.mod.
41326 (vbe_list_modes_mod_SOURCES): Removed.
41327 (vbe_list_modes_mod_CFLAGS): Likewise.
41328 (vbe_test_mod_SOURCES): Likewise.
41329 (vbe_test_mod_CFLAGS): Likewise.
41330 (vbeinfo_mod_SOURCES): New variable.
41331 (vbeinfo_mod_CFLAGS): Likewise.
41332 (vbetest_mod_SOURCES): Likewise.
41333 (vbetest_mod_CFLAGS): Likewise.
41334
992ffbbe 413352005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
41336
41337 * normal/misc.c: New file.
41338
41339 * DISTLIST: Added normal/misc.c.
f19dbdb7 41340
992ffbbe 41341 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
41342 DISK to HOOK. Call HOOK with DISK.
41343 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41344 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41345 * partmap/sun.c (sun_partition_map_iterate): Likewise.
41346
41347 * normal/menu_entry.c (struct screen): Added a new member
41348 "completion_shown".
41349 (completion_buffer): New global variable.
41350 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
41351 (store_completion): New function.
41352 (complete): Likewise.
41353 (clear_completions): Likewise.
41354 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
41355 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
41356 a tab, call complete.
41357
41358 * normal/completion.c (disk_dev): Removed.
41359 (print_simple_completion): Likewise.
41360 (print_partition_completion): Likewise.
41361 (print_func): New global variable.
41362 (add_completion): Do not take the arguments WHAT or PRINT any
41363 longer. Added a new argument TYPE. Instead of printing directly,
41364 call PRINT_FUNC if not NULL.
41365 All callers changed.
41366 (complete_device): Use a local variable DEV instead of
41367 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
41368 (grub_normal_do_completion): Take a new argument HOOK. Do not
41369 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
41370 empty string, return NULL instead.
41371 All callers changed.
41372
41373 * normal/cmdline.c (print_completion): New function.
41374
41375 * kern/partition.c (grub_partition_iterate): Add an argument DISK
41376 to HOOK.
41377 All callers changed.
41378
41379 * kern/disk.c (grub_print_partinfo): Removed.
41380
41381 * include/grub/partition.h (struct grub_partition_map): Add a new
41382 argument DISK into HOOK of ITERATE.
41383 (grub_partition_iterate): Add a new argument DISK to HOOK.
41384
41385 * include/grub/normal.h (enum grub_completion_type): New enum.
41386 (grub_completion_type_t): New type.
41387 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
41388 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
41389 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
41390 (GRUB_COMPLETION_TYPE_FILE): Likewise.
41391 (grub_normal_do_completion): Added a new argument HOOK.
41392 (grub_normal_print_device_info): New prototype.
41393
41394 * include/grub/disk.h (grub_print_partinfo): Removed.
41395
41396 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
41397 (normal_mod_SOURCES): Likewise.
41398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41399 (normal_mod_SOURCES): Likewise.
41400
41401 * commands/ls.c (grub_ls_list_disks): Use
41402 grub_normal_print_device_info instead of grub_print_partinfo. Free
41403 PNAME.
41404 (grub_ls_list_files): Use grub_normal_print_device_info instead of
41405 duplicating the code.
41406
0bd41162 414072005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41408
41409 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 41410 follow GCS more precisely.
41411 * commands/i386/pc/vbe_test.c: Likewise.
41412 * include/grub/i386/pc/vbe.h: Likewise.
41413 * term/i386/pc/vesafb.c: Likewise.
41414 * video/i386/pc/vbe.c: Likewise.
0bd41162 41415
6323696a 414162005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41417
41418 * DISTLIST: Added term/i386/pc/vesafb.c
41419 DISTLIST: Added video/i386/pc/vbe.c
41420 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
41421 DISTLIST: Added commands/i386/pc/vbe_test.c.
41422 * commands/i386/pc/vbe_list_modes.c: New file.
41423 * commands/i386/pc/vbe_test.c: Likewise.
41424 * term/i386/pc/vesafb.c: Likewise.
41425 * video/i386/pc/vbe.c: Likewise.
41426 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
41427 (grub_vbe_probe) Added prototype.
41428 (grub_vbe_set_video_mode) Likewise.
41429 (grub_vbe_get_video_mode) Likewise.
41430 (grub_vbe_get_video_mode_info) Likewise.
41431 (grub_vbe_set_pixel_rgb) Likewise.
41432 (grub_vbe_set_pixel_index) Likewise.
41433 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
41434 (pkgdata_MODULES): Added vesafb.mod.
41435 (pkgdata_MODULES): Added vbe_list_modes.mod.
41436 (pkgdata_MODULES): Added vbe_test.mod.
41437 (vbe_mod_SOURCES): Added.
41438 (vbe_mod_CFLAGS): Likewise.
41439 (vesafb_mod_SOURCES): Likewise.
41440 (vesafb_mod_CFLAGS): Likewise.
41441 (vbe_list_modes_mod_SOURCES): Likewise.
41442 (vbe_list_modes_mod_CFLAGS): Likewise.
41443 (vbe_test_mod_SOURCES): Likewise.
41444 (vbe_test_mod_CFLAGS): Likewise.
41445
0a74e62f 414462005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
41447
0a74e62f 41448 * normal/command.c (grub_command_execute): If INTERACTIVE is
41449 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
41450 CMDLINE. Disable the pager if INTERACTIVE is true.
41451 All callers are changed.
41452
41453 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
41454 before reading a config file.
41455 * normal/main.c (read_config_file): Even if a command is not
41456 found, register it if it is within an entry.
41457
41458 * util/grub-emu.c: Include sys/types.h and unistd.h.
41459 (options): Added --hold.
41460 (struct arguments): Added a new member "hold".
41461 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
41462 missing.
41463 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
41464 cleared by a debugger, if it is not zero.
41465
41466 * include/grub/normal.h (grub_command_execute): Add an argument
41467 INTERACTIVE.
41468
e51f85ae 414692005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
41470
41471 * DISTLIST: Added include/grub/i386/pc/vbe.h.
41472
e9c6f39b 414732005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
41474
41475 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
41476 program with another one, because the old one didn't detect a bug
41477 in gcc-3.4. Always use regparm 2, because the new test is still
41478 not enough for gcc-4.0. Someone must investigate a simple test
41479 case which detects a bug in gcc-4.0.
41480
8de3495c 414812005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
41482
41483 * DISTLIST: Added normal/completion.c.
41484
41485 * normal/completion.c: New file.
f19dbdb7 41486
8de3495c 41487 * term/i386/pc/console.c (grub_console_getwh): New function.
41488 (grub_console_term): Assign grub_console_getwh to getwh.
41489
41490 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41491 function is defined in normal/completion.c as
41492 grub_normal_do_completion.
41493 (grub_cmdline_get): Use grub_normal_do_completion instead of
41494 grub_tab_complete.
41495
41496 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41497 returns non-zero, otherwise return 0.
41498 (grub_partition_iterate): First, probe the partition map. Then,
41499 call ITERATE only for this partition map.
41500
41501 * kern/misc.c (grub_strncmp): Rewritten.
41502
41503 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41504 returns non-zero. Otherwise return 0.
41505
41506 * include/grub/partition.h (grub_partition_map_iterate): Return
41507 int instead of void.
41508
41509 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41510
41511 * include/grub/misc.h (grub_strncmp): Change the type of N to
41512 grub_size_t.
41513
41514 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41515 of void.
41516
41517 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 41518 unsigned explicitly before comparing it with I.
8de3495c 41519
41520 * kern/main.c (grub_env_write_root): Add the attribute unused into
41521 VAR.
41522
41523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41524 normal/completion.c.
41525 (normal_mod_SOURCES): Likewise.
41526 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41527 (normal_mod_SOURCES): Likewise.
41528
41529 * normal/command.c (grub_iterate_commands): If ITERATE returns
41530 non-zero, return one immediately.
41531
e85e144b 415322005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41533
41534 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41535 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41536 descriptions.
41537 (grub_vbe_get_controller_info): New function.
41538 (grub_vbe_get_mode_info): Likewise.
41539 (grub_vbe_set_mode): Likewise.
41540 (grub_vbe_get_mode): Likewise.
41541 (grub_vbe_set_memory_window): Likewise.
41542 (grub_vbe_get_memory_window): Likewise.
41543 (grub_vbe_set_scanline_length): Likewise.
41544 (grub_vbe_get_scanline_length): Likewise.
41545 (grub_vbe_set_display_start): Likewise.
41546 (grub_vbe_get_display_start): Likewise.
41547 (grub_vbe_set_palette_data): Likewise.
41548 * include/grub/i386/pc/vbe.h: New file.
41549
c46153d2 415502005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41551
41552 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41553 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41554 * DISTLIST: Likewise.
41555 * kern/ieee1275/of.c: Moved to ...
41556 * kern/ieee1275/ieee1275.c: ... here.
41557
0cb90c45 415582005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41559
41560 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41561 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41562 Pass 0 as `end' parameter to grub_strtoul().
41563
a19fb360 415642005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41565
41566 * include/grub/powerpc/ieee1275/console.h: Do not include
41567 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41568 ifdef.
41569 (grub_console_cur_color): Remove i386-specific prototype.
41570 (grub_console_real_putchar): Likewise.
41571 (grub_console_checkkey): Likewise.
41572 (grub_console_getkey): Likewise.
41573 (grub_console_getxy): Likewise.
41574 (grub_console_gotoxy): Likewise.
41575 (grub_console_cls): Likewise.
41576 (grub_console_setcursor): Likewise.
41577 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41578 Include <grub/machine/console.h>.
41579 * term/ieee1275/ofconsole.c: Likewise.
41580
4ac9bd04 415812005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41582
41583 * Makefile.in (LIBLZO): New variable.
41584
41585 * configure.ac: Check for LZO version 2.
41586
41587 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41588 lzo/lzo1x.h instead of lzo1x.h.
41589
41590 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41591 of -llzo.
41592
41593 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41594 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41595
41596 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41597 copying the data from PARTITION to P.
41598
f4917dfd 415992005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41600
41601 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41602 negative, unload the module.
41603
41604 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41605 map is "pc_partition_map" but not "pc".
41606 (usage): Fix the description. The options are --boot-image and
41607 --core-image but not --boot-file or --core-file.
41608 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41609 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41610 DEFAULT_DIRECTORY.
41611
41612 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41613 --core-file. Specify INSTALL_DEVICE as an argument.
41614
41615 * util/console.c: Include config.h.
41616 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41617 [HAVE_NCURSES_H]: Include ncurses.h.
41618 [HAVE_CURSES_H]: Include curses.h.
41619 [!A_NORMAL] (A_NORMAL): Defined as zero.
41620 [!A_STANDOUT] (A_STANDOUT): Likewise.
41621
41622 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41623 -lncurses.
41624 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41625
41626 * configure.ac: Check for curses libraries and headers.
41627
41628 * Makefile.in (LIBCURSES): New variable.
41629
41630 * genmk.rb (Script::rule): Set the executable bits.
41631
41632 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41633 name of the PC partition map is "pc_partition_map" but not "pc".
41634
0e143073 416352005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41636
41637 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41638 (modules): Likewise.
41639 (usage): Added descriptions for --modules and --grub-probefs.
41640 Handle --modules and --grub-probefs. Save the arguments in MODULES
41641 and GRUB_PROBEFS, respectively.
41642 Auto-detect a filesystem module against GRUBDIR. If the result is
41643 empty and modules are not specified explicitly, abort the
41644 installation. Add the result to MODULES.
41645
41646 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41647 disk/powerpc/ieee1275/ofdisk.c,
41648 include/grub/powerpc/ieee1275/init.h and
41649 term/powerpc/ieee1275/ofconsole.c.
41650 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41651 term/ieee1275/ofconsole.c.
41652
41653 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41654
41655 * COPYING: Upgraded to the latest version. Only the address of the
41656 FSF office has changed.
f19dbdb7 41657
efd6e6d5 416582005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41659
41660 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41661 kern/ieee1275.c with kern/ieee1275/of.c.
41662
41663 * kern/ieee1275.c: Moved to ...
41664 * kern/ieee1275/of.c: ... here.
41665
8ceafda2 416662005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
41667
41668 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 41669 readability.
8ceafda2 41670
41671 * config.guess: Updated to the latest version from gnulib.
41672 * config.sub: Likewise.
41673 * install.sh: Likewise.
41674 * mkinstalldirs: Likewise.
41675
41676 * include/grub/console.h: Removed. This file is arch-specific. Do
41677 not put this in include/grub.
41678
41679 * include/grub/i386/pc/console.h: Resurrected.
41680
41681 * util/console.c: Include grub/machine/console.h instead of
41682 grub/console.h.
41683 * util/grub-emu.c: Likewise.
41684
267f6cd9 416852005-08-04 Marco Gerards <metgerards@student.han.nl>
41686
41687 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
41688 hardcoded value.
f19dbdb7 41689
267f6cd9 41690 From Vincent Pelletier <subdino2004@yahoo.fr>
41691 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
41692 Redefined to use grub_getwh.
41693 (grub_term): New member named getwh.
41694 (grub_getwh): New prototype.
41695 * kern/term.c (grub_getwh): New function.
41696 * term/i386/pc/console.c (grub_console_getwh): New function.
41697 (grub_console_term): New member `getwh'.
41698 * term/i386/pc/vga.c (grub_vga_getwh): New function.
41699 (grub_vga_term): New member `getwh'.
0b5abe02 41700 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 41701 grub_ssize_t.
41702 (grub_ofconsole_getw): New function.
41703 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
41704 (grub_ofconsole_term): New field named getwh and new initial
41705 value.
41706
3be7266d 417072005-08-03 Hollis Blanchard <hollis@penguinppc.org>
41708
41709 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
41710 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
41711 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
41712 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
41713 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
41714 of <grub/machine/ieee1275.h>.
41715 * commands/ieee1275/reboot.c: Likewise.
41716 * boot/powerpc/ieee1275/ieee1275.c: Move ...
41717 * kern/ieee1275.c: ... to here. All users updated. Change all
41718 parameter structs to use new type `grub_ieee1275_cell_t'.
41719 * term/powerpc/ieee1275/ofconsole.c: Move ...
41720 * term/ieee1275/ofconsole.c: ... to here. All users updated.
41721 * disk/powerpc/ieee1275/ofdisk.c: Move ...
41722 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
41723 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
41724 to return int.
41725 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
41726 Remove unused prototypes. All users updated.
41727 * include/grub/powerpc/ieee1275/console.h: Removed.
41728 * include/grub/powerpc/ieee1275/ieee1275.h: Define
41729 `grub_ieee1275_cell_t'.
41730 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
41731 Cast comparisons with -1 to the correct type.
41732 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
41733 type to match `grub_ieee1275_entry_fn'.
41734
8b5f3938 417352005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
41736
41737 * DISTLIST: Added util/i386/pc/grub-probefs.c.
41738
41739 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41740 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41741 partmap/sun.c.
41742 (grub_probefs_SOURCES): New variable.
41743
41744 * util/i386/pc/grub-probefs.c: New file.
41745
41746 * util/i386/pc/grub-setup.c (main): Call
41747 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41748 grub_hfs_init and grub_jfs_init to initialize the system. Call
41749 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41750 grub_pc_partition_map_fini to finish the system.
41751
ea409713 417522005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41753
41754 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41755 function.
41756 (grub_multiboot_load_elf32): Likewise.
41757 (grub_multiboot_is_elf64): Likewise.
41758 (grub_multiboot_load_elf64): Likewise.
41759 (grub_multiboot_load_elf): Likewise.
41760 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41761 an ELF32 or ELF64 file.
41762 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41763
41764 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41765 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
41766 NULL before calling FS->LABEL.
41767 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
41768 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
41769 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
41770 before calling FS->LABEL.
41771
141a288b 417722005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
41773
41774 * util/i386/pc/grub-install.in (datadir): New variable.
41775 (libdir): Removed.
41776 (pkgdatadir): New variable.
41777 (pkglibdir): Removed.
41778
0d5f8a54 417792005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
41780
41781 * DISTLIST: Added util/i386/pc/grub-install.in.
41782
41783 * util/i386/pc/grub-install.in: New file.
41784
41785 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
41786 (grub_install_SOURCES): Likewise.
41787
41788 * genmk.rb: Added support for scripts.
41789 (Script): New class.
41790 (scripts): New variable.
41791
41792 * Makefile.in (install-local): Install sbin_SCRIPTS by
41793 INSTALL_SCRIPT.
41794 (uninstall): Remove sbin_SCRIPTS.
41795
41796 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
41797 device, try to get a GRUB device by
41798 grub_util_biosdisk_get_grub_dev.
41799 Free DEST_DEV.
41800
41801 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
41802 description for --device-map.
41803
5f968e1e 418042005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41805
41806 Change the semantics of variable hooks. They now return strings
41807 instead of error values.
f19dbdb7 41808
5f968e1e 41809 * util/i386/pc/grub-setup.c: Include grub/env.h.
41810 (setup): Use grub_device_set_root instead of grub_env_set.
41811
41812 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
41813 grub_env_get instead of grub_device_set_root and
41814 grub_device_get_root, respectively.
41815
41816 * kern/main.c (grub_env_write_root): New function.
41817 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
41818 grub_env_set instead of grub_device_set_root.
41819
41820 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
41821 many variables.
41822 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
41823 rather than calling ENV->WRITE_HOOK afterwards.
41824 (grub_env_get): Return the result of ENV->READ_HOOK rather than
41825 passing a pointer of a pointer.
41826 (grub_register_variable_hook): Change the types of "read_hook" and
41827 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
41828 respectively.
41829 Allocate the default empty string on the heap, because this string
41830 may be freed later.
41831
41832 * kern/device.c: Include grub/env.h.
41833 (grub_device_set_root): Removed.
41834 (grub_device_get_root): Likewise.
41835 (grub_device_open): Use grub_env_get instead of
41836 grub_device_get_root.
41837
41838 * include/grub/env.h (grub_env_read_hook_t): New type.
41839 (grub_env_write_hook_t): Likewise.
41840 (grub_env_var): Change the types of "read_hook" and "write_hook"
41841 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
41842 (grub_register_variable_hook): Likewise.
41843
41844 * include/grub/device.h (grub_device_set_root): Removed.
41845 (grub_device_set_root): Likewise.
41846
41847 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
41848 make sure that DIRNAME terminates with '/', so that
41849 grub_fat_find_dir will fail if PATH is not a directory.
41850
41851 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
41852 from DIRNAME.
41853 Use the qualifier auto for print_files and print_files_long.
41854 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
41855 as a regular file.
41856 Put a newline only if there is no error.
41857 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
41858 used.
41859
896f0afd 418602005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41861
41862 * kern/partition.c (grub_partition_probe): Initialize PART to
41863 NULL. Otherwise, when no partition map is registered, this returns
41864 a garbage.
41865
b28b81b2 418662005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
41867
41868 * partmap/apple.c (apple_partition_map_iterate): Check if POS
41869 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
41870 valid.
41871
5f3607e0 418722005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
41873
41874 * commands/ls.c (grub_ls_list_disks): Print the filesystem
41875 information on each device, if it does not have partitions. Print
41876 "Device" instead of "Disk", because this function is not specific
41877 to disk devices.
41878
41879 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
41880 static to ensure that it is put on the memory rather than a
41881 register.
41882
502c87e8 418832005-07-17 Yoshinori Okuji <okuji@enbug.org>
41884
41885 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
41886 (grub_cat_init): Likewise.
41887 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
41888 (options): Likewise.
41889 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
41890 (grub_configfile_init): Likewise.
41891 * font/manager.c (GRUB_MOD_INIT): Likewise.
41892 * commands/help.c (GRUB_MOD_INIT): Likewise.
41893 (grub_help_init): Likewise.
41894 * normal/command.c (grub_command_init): Likewise.
41895 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
41896 * disk/loopback.c (grub_loop_init): Likewise.
41897 (GRUB_MOD_INIT): Likewise.
41898 * commands/ls.c (grub_ls_init): Likewise.
41899 (GRUB_MOD_INIT): Likewise.
41900 (options): Likewise.
41901 * commands/boot.c (grub_boot_init): Likewise.
41902 (GRUB_MOD_INIT): Likewise.
41903 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
41904 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
41905 (GRUB_MOD_INIT): Likewise.
41906 * commands/cmp.c (grub_cmp_init): Likewise.
41907 (GRUB_MOD_INIT): Likewise.
41908
41909 * normal/arg.c: Use <> instead of "" to include header files.
41910 (SHORT_ARG_HELP): New macro.
41911 (SHORT_ARG_USAGE): Likewise.
41912 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
41913 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
41914 descriptions.
41915 (find_short): Check if C is 'h' or 'u' explicitly.
41916 (grub_arg_show_help): Use space characters instead of tabs. Treat
41917 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
41918 are shown with --help and --usage only if they are not used for
41919 the command itself.
41920 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
41921 'h' and 'u'.
41922
41923 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
41924 const into "longarg". Change the type of "shortarg" to int.
41925
f806d18e 419262005-07-17 Yoshinori Okuji <okuji@enbug.org>
41927
41928 * boot/i386/pc/boot.S (boot_drive_check): New label.
41929
41930 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
41931 macro.
41932
41933 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
41934 which do not pass a boot drive correctly. Copied from GRUB Legacy.
41935
e293232b 419362005-07-17 Yoshinori Okuji <okuji@enbug.org>
41937
41938 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
41939 When turning off Gate A20, skip the check and return immediately,
41940 because this is not fatal usually.
41941
ebedfd00 419422005-07-17 Yoshinori Okuji <okuji@enbug.org>
41943
41944 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
41945 be 0x7C00 instead of 0x8000.
41946
41947 * boot/i386/pc/pxeboot.S: Rewritten.
41948
41949 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
41950 EXT_C.
41951 (gate_a20_check_state): Read a byte from 0x108000. Invert the
41952 result.
41953
654fc59f 419542005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
41955
41956 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
41957 robustness. This routine now supports a BIOS call and System
41958 Control Port A to modify the gate A20.
41959
41960 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41961 Increased to 0x440.
41962
09f9923f 419632005-07-12 Hollis Blanchard <hollis@penguinppc.org>
41964
41965 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
41966 device path and resulting ihandle.
41967 (grub_ofdisk_close): dprintf the ihandle being closed.
41968 (grub_ofdisk_read): dprintf function parameters.
41969 * kern/mm.c (grub_mm_init_region): Likewise.
41970 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
41971 (grub_linux_boot): dprintf the Linux entry point, initrd address and
41972 size, and boot arguments.
41973 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
41974 before loading into memory.
41975 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
41976 before loading into memory.
41977
7ef504d8 419782005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
41979
41980 * kern/mm.c: Added much documentation.
41981 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
41982 8, set to 5 instead of 8.
41983
e0f050c2 419842005-07-10 Yoshinori Okuji <okuji@enbug.org>
41985
41986 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
41987
41988 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
41989 (grub_mkdevicemap_SOURCES): New variable.
41990
41991 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
41992 lib/device.c of GRUB Legacy.
41993
7224189a 419942005-07-10 Yoshinori Okuji <okuji@enbug.org>
41995
41996 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
41997 instead of PATH is NULL.
41998
68c864eb 419992005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
42000
42001 * commands/cmp.c (BUFFER_SIZE): New macro.
42002 (grub_cmd_cmp): Close the right file at the right time. Compare
42003 only data just read. Don't report files of different size as
42004 identical. Dynamically allocate buffers. Move variable
42005 declarations at the beginning of function.
42006
e6f3e614 420072005-07-09 Yoshinori Okuji <okuji@enbug.org>
42008
42009 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
42010 reverse.
42011
f8f1559a 420122004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
42013
42014 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
42015 when backspace is pressed at beginning of line.
42016
39c9d41d 420172005-07-03 Yoshinori Okuji <okuji@enbug.org>
42018
42019 * DISTLIST: Added genfslist.sh.
42020
42021 * normal/main.c (fs_module_list): New variable.
42022 (autoload_fs_module): New function.
42023 (read_fs_list): Likewise.
42024 (grub_normal_execute): Call read_fs_list.
42025
42026 * kern/fs.c (grub_fs_autoload_hook): New variable.
42027 (grub_fs_probe): Added support for auto-loading.
42028
42029 * include/grub/normal.h (struct grub_fs_module_list): New struct.
42030 (grub_fs_module_list_t): New type.
42031
42032 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
42033 (grub_fs_autoload_hook): New prototype.
42034
42035 * genfslist.sh: New file.
f19dbdb7 42036
39c9d41d 42037 * genmk.rb: Added a rule to generate a filesystem list.
42038
121c1d83 420392005-06-30 Marco Gerards <metgerards@student.han.nl>
42040
42041 * configure.ac: Fix the test for cross-compiling.
42042
42043 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
42044 define GRUB_UTIL anymore.
42045
42046 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
42047 so this function works on other systems than just big endian.
42048 (load_modules): Likewise.
42049 (add_segments): Likewise.
42050
e75d76e1 420512005-06-23 Hollis Blanchard <hollis@penguinppc.org>
42052
42053 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
42054 contains `l' modifier, get a long from va_arg().
42055
50b5a0a7 420562005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
42057
42058 * kern/mm.c (grub_free): If the next free block which is being
42059 merged is the first free block, set the first block to the block
42060 being freed.
42061 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
42062
89371b20 420632005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42064
42065 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
42066 `grub_ieee1275_chosen'.
42067
168d6e58 420682005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42069
42070 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
42071 (grub_ieee1275_chosen): New variable.
42072 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
42073 `chosen'.
42074 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
42075 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42076 Rename first argument to `phandle' for consistency.
42077 (grub_ieee1275_get_property_length): Likewise.
42078 (grub_ieee1275_next_property): Likewise. Change type of first argument
42079 to grub_ieee1275_phandle_t.
42080 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
42081 Move export next to declaration.
42082 (grub_ieee1275_chosen): New variable.
42083 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
42084 Correct cosmetic typo.
42085 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
42086 `grub_ieee1275_chosen'.
42087 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
42088 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
42089 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
42090 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
42091 `grub_ieee1275_chosen'.
42092
ca5baa3f 420932005-05-10 Hollis Blanchard <hollis@penguinppc.org>
42094
42095 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
42096 /chosen/bootargs.
42097 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
42098 /chosen/bootargs as "variable=value" pairs.
42099
708b345f 421002005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
42101
42102 * include/grub/misc.h (grub_dprintf): New macro.
42103 (grub_real_dprintf): New prototype.
42104 (grub_strword): Likewise.
42105 (grub_iswordseparator): Likewise.
42106 * kern/misc.c (grub_real_dprintf): New function.
42107 (grub_strword): Likewise.
42108 (grub_iswordseparator): Likewise.
42109
f4c5e67c 421102005-04-30 Hollis Blanchard <hollis@penguinppc.org>
42111
42112 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
42113 (roundup): Remove macro.
42114 (grub_ieee1275_flags): Make static.
42115 (grub_ieee1275_realmode): Remove.
42116 (grub_ieee1275_test_flag): New function.
42117 (grub_ieee1275_set_flag): Likewise.
42118 (find_options): Rename to `grub_ieee1275_find_options'; update
42119 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
42120 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
42121 (cmain): New prototype.
42122 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
42123 `grub_ieee1275_flags' directly.
42124 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
42125 machine/biosdisk.h.
42126 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
42127 Don't include grub/machine/init.h.
42128 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
42129 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42130 Remove prototype.
42131 (grub_ieee1275_realmode): Likewise.
42132 (grub_ieee1275_flag): New enum.
42133 (grub_ieee1275_test_flag): New prototype.
42134 (grub_ieee1275_set_flag): New prototype.
42135 * include/grub/powerpc/ieee1275/init.h: Remove file.
42136 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
42137 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
42138 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
42139 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
42140 comment.
42141 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
42142 `grub_ieee1275_test_flag'.
42143 (grub_ieee1275_encode_devname): Likewise.
42144
ed16607e 421452005-04-21 Hollis Blanchard <hollis@penguinppc.org>
42146
42147 * include/grub/powerpc/ieee1275/ieee1275.h
42148 (grub_ieee1275_encode_devname): New prototype.
42149 (grub_ieee1275_get_filename): Likewise.
42150 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
42151 function.
42152 (grub_set_prefix): Likewise.
42153 (grub_machine_init): Call grub_set_prefix.
42154 * kern/powerpc/ieee1275/openfw.c: Fix typos.
42155 (grub_parse_type): New enum.
42156 (grub_ieee1275_get_devargs): New function.
42157 (grub_ieee1275_get_devname): Likewise.
42158 (grub_ieee1275_parse_args): Likewise.
42159 (grub_ieee1275_get_filename): Likewise.
42160 (grub_ieee1275_encode_devname): Likewise.
42161
be369920 421622005-03-30 Marco Gerards <metgerards@student.han.nl>
42163
42164 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
42165 `grub_loader_unset'.
42166
a5ce3a4a 421672005-03-26 Hollis Blanchard <hollis@penguinppc.org>
42168
42169 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
42170 instead of grub_ieee1275_interpret.
42171 (grub_halt_init): New function.
42172 (grub_halt_fini): Likewise.
42173 (GRUB_MOD_INIT): Correct message grammar.
42174 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
42175 instead of grub_ieee1275_interpret.
42176 (grub_reboot_init): New function.
42177 (grub_reboot_fini): Likewise.
42178 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
42179 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
42180 util/i386/pc/misc.c with commands/ieee1275/halt.c,
42181 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
42182 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
42183 function.
42184 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
42185 Add prototype.
42186 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
42187 prototype.
42188 (grub_halt): Likewise.
42189 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
42190 (cmain): Remove __attribute__((unused)).
42191 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
42192 (grub_heap_len): Likewise.
42193 (grub_machine_fini): New function.
42194 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
42195 (grub_halt): Likewise.
42196 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
42197 function.
42198 * util/powerpc/ieee1275/misc.c: New file.
42199
0058f771 422002005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42201
42202 * DISTLIST: New file.
42203 * gendistlist.sh: Likewise.
f19dbdb7 42204
0058f771 42205 * Makefile.in (COMMON_DISTFILES): Removed.
42206 (BOOT_DISTFILES): Likewise.
42207 (CONF_DISTFILES): Likewise.
42208 (DISK_DISTFILES): Likewise.
42209 (FS_DISTFILES): Likewise.
42210 (INCLUDE_DISTFILES): Likewise.
42211 (KERN_DISTFILES): Likewise.
42212 (LOADER_DISTFILES): Likewise.
42213 (TERM_DISTFILES): Likewise.
42214 (UTIL_DISTFILES): Likewise.
42215 (DISTFILES): Likewise.
42216 (uninstall): Uninstall files in $(pkgdata_DATA).
42217 (DISTLIST): New target.
42218 (distdir): Use the contents of the file DISTLIST to get a list of
42219 distributed files.
42220
46b3b8a5 422212005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42222
42223 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
42224 descriptor. This is ported from GRUB Legacy.
42225
42226 * gencmdlist.sh: Added an extra semicolon to make it work with
42227 old sed versions. Reported by Robert Bihlmeyer
42228 <robbe@orcus.priv.at>.
42229
5822ff87 422302005-03-08 Yoshinori Okuji <okuji@enbug.org>
42231
42232 Automatic loading of commands is supported.
f19dbdb7 42233
5822ff87 42234 * normal/main.c (read_command_list): New function.
42235 (grub_normal_execute): Call read_command_list.
42236
42237 * normal/command.c (grub_register_command): Return zero or CMD.
42238 Allocate CMD->NAME from the heap.
42239 Initialize CMD->MODULE_NAME to zero.
42240 Find the same name as well. If the same command is found and it is
42241 a dummy command, overwrite members. If it is not a dummy command,
42242 return zero.
42243 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
42244 (grub_command_find): If a dummy command is found, load a module
42245 and retry to find a command only once.
42246
42247 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
42248 make sure that each command is loaded.
42249
42250 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
42251 macro.
42252 (struct grub_command): Remove const from the member `name'.
42253 Add a new member `module_name'.
42254 (grub_register_command): Return grub_command_t.
42255
42256 * commands/help.c (grub_cmd_help): Call grub_command_find to make
42257 sure that each command is loaded.
42258
42259 * genmk.rb (PModule::rule): Specify a module name without the
42260 suffix ".mod" to gencmdlist.sh.
42261
7b1f4b57 422622005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42263
42264 * gencmdlist.sh: New file.
f19dbdb7 42265
7b1f4b57 42266 * genmk.rb (PModule::rule): Generate a rule for a command list.
42267 Clean command.lst.
42268 Generate command.lst from $(COMMANDFILES).
42269
42270 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
42271 (DATA): Added $(pkgdata_DATA).
42272 (install-local): Install files in $(pkgdata_DATA).
42273
062aaf39 422742005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42275
42276 * term/i386/pc/vga.c (debug_command): Removed.
42277 (GRUB_MOD_INIT): Do not register the command "debug".
42278
42279 From Hollis Blanchard:
42280 * commands/configfile.c: New file.
42281 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42282 commands/configfile.c.
42283 (pkgdata_MODULES): Added configfile.mod.
42284 (configfile_mod_SOURCES): New variable.
42285 (configfile_mod_CFLAGS): Likewise.
42286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42287 commands/configfile.c.
42288 (pkgdata_MODULES): Added configfile.mod.
42289 (configfile_mod_SOURCES): New variable.
42290 (configfile_mod_CFLAGS): Likewise.
42291 * util/grub-emu.c (main): Call grub_configfile_init and
42292 grub_configfile_fini.
42293 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
42294 prototype.
42295 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 42296
cee01aa6 422972005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42298
42299 * normal/arg.c (grub_arg_show_help): Do not show the bug report
42300 address.
42301
42302 * commands/help.c (grub_cmd_help): Do not print newlines after
42303 the last command in print_command_help.
42304
93f3a1d8 423052005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42306
42307 * commands/default.h: New file.
42308 * commands/timeout.h: Likewise.
42309 * normal/context.c: Likewise.
f19dbdb7 42310
93f3a1d8 42311 * util/misc.c: Do not include sys/times.h.
42312 Include sys/time.h and grub/machine/time.h.
42313 (grub_get_rtc): Rewritten with gettimeofday.
42314
42315 * util/grub-emu.c (main): Call grub_default_init and
42316 grub_timeout_init before grub_normal_init, and call
42317 grub_timeout_fini and grub_default_fini after grub_main.
42318
42319 * util/console.c (grub_ncurses_checkkey): Return the read
42320 character or -1.
42321
42322 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
42323 timeouts.
42324
42325 * normal/main.c (read_config_file): Push MENU. If this fails,
42326 print an error and wait for a user input.
42327 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
42328 If a menu is empty or an error occurs, pop MENU.
42329 (grub_normal_execute): Pop and free MENU after grub_menu_run
42330 returns.
42331
42332 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
42333
42334 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
42335 include time.h.
42336 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42337 without GRUB_UTIL.
42338 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
42339 time.h.
42340 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42341 without GRUB_UTIL.
42342
42343 * include/grub/normal.h (struct grub_menu_list): New struct.
42344 (grub_menu_list_t): New type.
42345 (struct grub_context): New struct.
42346 (grub_context_t): New type.
42347 (grub_register_command): Got rid of EXPORT_FUNC.
42348 (grub_unregister_command): Likewise.
42349 (grub_context_get): New prototype.
42350 (grub_context_get_current_menu): Likewise.
42351 (grub_context_push_menu): Likewise.
42352 (grub_context_pop_menu): Likewise.
42353 [GRUB_UTIL] (grub_default_init): Likewise.
42354 [GRUB_UTIL] (grub_default_fini): Likewise.
42355 [GRUB_UTIL] (grub_timeout_init): Likewise.
42356 [GRUB_UTIL] (grub_timeout_fini): Likewise.
42357
42358 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
42359 commands/timeout.c and normal/context.c.
42360 (pkgdata_MODULES): Added default.mod and timeout.mod.
42361 (normal_mod_SOURCES): Added normal/context.c.
42362 (default_mod_SOURCES): New variable.
42363 (default_mod_CFLAGS): Likewise.
42364 (timeout_mod_SOURCES): Likewise.
42365 (timeout_mod_CFLAGS): Likewise.
42366 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
42367 conf/i386-pc.rmk.
42368 (pkgdata_MODULES): Added default.mod and timeout.mod.
42369 (normal_mod_SOURCES): Added normal/context.c.
42370 (default_mod_SOURCES): New variable.
42371 (default_mod_CFLAGS): Likewise.
42372 (timeout_mod_SOURCES): Likewise.
42373 (timeout_mod_CFLAGS): Likewise.
42374
42375 * Makefile.in (all-local): Added $(MKFILES).
42376
4ed2e1dd 423772005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
42378
42379 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
42380 (grub_emu_SOURCES): Likewise.
42381 (pkgdata_MODULES): Add `sun.mod'.
42382 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42384 `partmap/sun.c'.
42385 (pkgdata_MODULES): Add `sun.mod'.
42386 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42387 * include/grub/partition.h (grub_sun_partition_map_init): New
42388 prototype.
42389 (grub_sun_partition_map_fini): Likewise.
42390 * partmap/sun.c: New file.
42391 * util/grub-emu.c (main): Initialize and de-initialize the sun
42392 partitionmap support.
42393
4d4e372e 423942005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
42395
42396 This implements an Emacs-like menu entry editor.
f19dbdb7 42397
4d4e372e 42398 * normal/menu_entry.c: New file.
f19dbdb7 42399
4d4e372e 42400 * util/console.c (grub_ncurses_putchar): Translate some Unicode
42401 characters to ASCII.
42402 (saved_char): New variable.
42403 (grub_ncurses_checkkey): Rewritten completely.
42404 (grub_ncurses_getkey): Likewise.
42405 (grub_ncurses_init): Call raw instead of cbreak.
42406
42407 * normal/menu.c (print_entry): Do not put a space.
42408 (init_page): Renamed to ...
42409 (grub_menu_init_page): ... this. All callers changed.
42410 (edit_menu_entry): Removed.
42411 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
42412
42413 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
42414
42415 * kern/misc.c (grub_vprintf): Call grub_refresh.
42416
42417 * normal/menu.c (DISP_LEFT): Renamed to ...
42418 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
42419 * normal/menu.c (DISP_UP): Renamed to ...
42420 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
42421 * normal/menu.c (DISP_RIGHT): Renamed to ...
42422 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
42423 * normal/menu.c (DISP_DOWN): Renamed to ...
42424 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
42425 * normal/menu.c (DISP_HLINE): Renamed to ...
42426 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
42427 * normal/menu.c (DISP_VLINE): Renamed to ...
42428 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
42429 * normal/menu.c (DISP_UL): Renamed to ...
42430 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
42431 * normal/menu.c (DISP_UR): Renamed to ...
42432 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
42433 * normal/menu.c (DISP_LL): Renamed to ...
42434 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
42435 * normal/menu.c (DISP_LR): Renamed to ...
42436 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
42437 * normal/menu.c (TERM_WIDTH): Renamed to ...
42438 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
42439 * normal/menu.c (TERM_HEIGHT): Renamed to ...
42440 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
42441 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
42442 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
42443 * normal/menu.c (TERM_MARGIN): Renamed to ...
42444 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
42445 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
42446 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
42447 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
42448 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
42449 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
42450 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
42451 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
42452 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
42453 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
42454 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
42455 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
42456 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
42457 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
42458 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
42459 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
42460 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
42461 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
42462 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
42463 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
42464 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
42465 All callers changed.
42466
42467 * include/grub/normal.h: New prototype.
42468
42469 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42470 normal/menu_entry.c.
42471 (normal_mod_SOURCES): Likewise.
42472 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42473 (normal_mod_SOURCES): Likewise.
42474
e6b92c8a 424752005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
42476
42477 * include/grub/normal.h (grub_halt_init): New prototype.
42478 (grub_halt_fini): Likewise.
42479 (grub_reboot_init): Likewise.
42480 (grub_reboot_fini): Likewise.
42481
42482 * util/grub-emu.c: Include signal.h.
42483 (main_env): New global variable.
42484 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
42485 catch C-c.
42486 (grub_machine_fini): New function.
42487 (main): Call grub_halt_init and grub_reboot_init before
42488 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42489 Call setjmp with MAIN_ENV to go back afterwards.
42490 Call grub_machine_fini right before return.
42491
42492 * include/grub/util/misc.h: Include setjmp.h.
42493 (main_env): New prototype.
42494
42495 * include/grub/kernel.h (grub_machine_fini): New prototype.
42496 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42497 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42498
42499 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42500 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42501 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 42502
e6b92c8a 42503 * util/i386/pc/misc.c: New file.
f19dbdb7 42504
e6b92c8a 42505 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42506 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42507 commands/i386/pc/reboot.c.
42508
c642636f 425092005-02-14 Guillem Jover <guillem@hadrons.org>
42510
42511 * include/grub/dl.h (grub_dl_check_header): New prototype.
42512 (grub_arch_dl_check_header): Change return type to grub_err_t,
42513 remove size parameter and export function. Update all callers.
42514 * kern/dl.c (grub_dl_check_header): New function.
42515 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42516 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42517 are inside the core.
42518 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42519 independent ELF header checks.
42520 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42521 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42522 `grub_dl_check_header' instead of explicit checks. Check for the
42523 ELF type.
42524 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42525 `grub_dl_check_header' instead of explicit checks. Remove arch
42526 specific ELF header checks.
42527
e6b92c8a 42528 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42529 argument SIZE.
42530
5eabe94b 425312005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42532
42533 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42534 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42535
1b14a681 425362005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42537
42538 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 42539 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 42540 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 42541 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 42542 * partmap/amiga.c (amiga_partition_map_iterate): Return
42543 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42544 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42545
aca108aa 425462005-02-01 Guillem Jover <guillem@hadrons.org>
42547
42548 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42549 help info.
42550
c9f9c556 425512005-01-31 Marco Gerards <metgerards@student.han.nl>
42552
42553 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42554 Removed prototype.
42555 (grub_rescue_cmd_linux): New prototype.
42556 (grub_rescue_cmd_initrd): Likewise.
42557 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42558 `bi_rec'.
42559 (grub_linux_release_mem): Release the memory for the initrd.
42560 (grub_load_linux): Renamed from this...
42561 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42562 Changed `entry' not to be static. Loop over memory regions to
42563 find another one when the default fails.
42564 (grub_rescue_cmd_initrd): New function.
42565 (grub_linux_init): Remove function.
42566 (grub_linux_fini): Likewise.
42567 (GRUB_MOD_INIT): Register `initrd'.
42568 (GRUB_MOD_FINI): Unregister `initrd'.
42569 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42570 Function removed.
42571 (grub_linux_normal_fini): Likewise.
42572 (GRUB_MOD_INIT): Register `initrd'.
42573 (GRUB_MOD_FINI): Unregister `initrd'.
42574
990cf3aa 425752005-01-31 Marco Gerards <metgerards@student.han.nl>
42576
42577 * commands/help.c: New file.
42578 * normal/arg.c (show_help): Renamed to...
42579 (grub_arg_show_help): ... this.
42580 * commands/i386/pc/halt.c: New file.
42581 * commands/i386/pc/reboot.c: Likewise.
42582 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42583 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42584 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42585 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42586 variables.
42587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42588 `commands/help.c'.
42589 (pkgdata_MODULES): Add `help.mod'.
42590 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42591 * grub/i386/pc/init.h (grub_reboot): New prototype.
42592 (grub_halt): Likewise.
42593 * include/grub/normal.h (grub_arg_show_help): New prototype.
42594 (grub_help_init): Likewise.
42595 (grub_help_fini): Likewise.
42596 * util/grub-emu.c (main): Initialize and deinitialize the help
42597 command.
42598
42599 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42600
42601 * normal/command.c (grub_command_init): Fixed the description of
42602 the `set' and `unset' commands.
42603
426042005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42605
42606 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42607 function.
42608 * commands/ieee1275/halt.c: New file.
42609 * commands/ieee1275/reboot.c: Likewise.
42610 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42611 `__attribute__ ((unused))'. Some GCS related fixed.
42612 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42613 (grub_suspend_fini): Likewise.
42614 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42615 and `halt.mod'.
42616 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42617 (halt_mod_CFLAGS): New variables.
42618 * include/grub/powerpc/ieee1275/ieee1275.h
42619 (grub_ieee1275_interpret): New prototype.
42620
1ab09cc7 426212005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42622
42623 * include/grub/misc.h (memmove): New prototype.
42624 (memcpy): Likewise.
42625
8b8cbdb2 426262005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42627
42628 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42629 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42630
e3741a27 426312005-01-22 Marco Gerards <metgerards@student.han.nl>
42632
42633 * kern/misc.c (grub_strndup): Function rewritten.
42634
776bd780 426352005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42636
42637 * normal/menu.c (TERM_WIDTH): Macro redefined.
42638 (TERM_TOP_BORDER_Y): Likewise.
42639 (draw_border): Replaced while-loop by a for-loop. Make the number
42640 of lines consistent with the number of lines displayed in
42641 print_entries. Added a margin below the rectangle.
42642 (print_entry): Make the entry fit in the rectangle.
42643 (print_entries): Display the scroll arrows next to the right
42644 border.
42645
78026bce 426462005-01-21 Marco Gerards <metgerards@student.han.nl>
42647
42648 * fs/minix.c (grub_minix_find_file): Reserve more space for
42649 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42650 `grub_strncpy' to copy `path' into it.
42651
67bbaf0f 426522005-01-21 Marco Gerards <metgerards@student.han.nl>
42653
42654 Add the loopback device, a device via which files can be accessed
42655 as devices.
f19dbdb7 42656
67bbaf0f 42657 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
42658 (pkgdata_MODULES): Add loopback.mod.
42659 (loopback_mod_SOURCES): New variable.
42660 (loopback_mod_CFLAGS): Likewise.
42661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42662 `disk/loopback.c'.
42663 (pkgdata_MODULES): Add loopback.mod.
42664 (loopback_mod_SOURCES): New variable.
42665 (loopback_mod_CFLAGS): Likewise.
42666 * disk/loopback.c: new file.
42667 * include/grub/normal.h (grub_loop_init): New prototype.
42668 (grub_loop_fini): New prototype.
42669 * util/grub-emu.c (main): Initialize and de-initialize loopback
42670 support.
42671 * include/grub/disk.h (grub_disk_dev_id): Add
42672 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
42673
6f1c18bd 426742005-01-20 Hollis Blanchard <hollis@penguinppc.org>
42675
42676 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
42677 function.
42678 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
42679 (suspend_mod_SOURCES): New variable.
42680 (suspend_mod_CFLAGS): Likewise.
42681 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
42682 New prototype.
42683 * commands/ieee1275/suspend.c: New file.
42684
b38551da 426852005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42686
42687 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 42688 ((unused))' to `__attribute__ ((used))'.
b38551da 42689 (GRUB_MOD_FINI): Likewise.
42690 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
42691 * genmk.rb (PModule): Assign space to common symbols when linking
42692 modules.
42693
777aff39 426942005-01-20 Marco Gerards <metgerards@student.han.nl>
42695
42696 * include/grub/mm.h (grub_mm_init_region): Change the type of the
42697 `unsigned' arguments to `grub_size_t'.
42698 (grub_malloc): Likewise.
42699 (grub_realloc): Likewise.
42700 (grub_memalign): Likewise.
42701 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
42702 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42703 * util/misc.c (grub_malloc): Likewise.
42704 (grub_realloc): Likewise.
42705 * kern/mm.c (get_header_from_pointer): Change the casts to
42706 `unsigned' into a cast to `grub_size_t'.
42707
42708 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
42709 point to `currnode' when `currnode' is changed.
42710
42711 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
42712 Schottelius <nico-linux@schottelius.org>.
42713
d0ff18e1 427142005-01-09 Hollis Blanchard <hollis@penguinppc.org>
42715
42716 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
42717 (note_path): Remove variable.
42718 (GRUB_IEEE1275_NOTE_NAME): New macro.
42719 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
42720 (grub_ieee1275_note_hdr): New structure.
42721 (grub_ieee1275_note_desc): Likewise.
42722 (grub_ieee1275_note): Likewise.
42723 (load_note): Remove `dir' argument. All callers updated. Remove
42724 `note_img' and `path'. Do not load a file from `note_path'.
42725 Initialize a struct grub_ieee1275_note and write that to `out'.
42726 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
42727
4ca7004c 427282005-01-05 Marco Gerards <metgerards@student.han.nl>
42729
42730 * util/misc.c (grub_util_read_image): Revert last change. It
42731 called `grub_util_read_at', which seeks from the beginning of the
42732 file.
42733
0b412211 427342005-01-04 Hollis Blanchard <hollis@penguinppc.org>
42735
42736 * TODO: Add note about endianness in grub-mkimage.
42737 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
42738 section.
42739 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42740 (grub_mkimage_SOURCES): New target.
42741 * include/grub/kernel.h (grub_start_addr): Remove variable.
42742 (grub_end_addr): Likewise.
42743 (grub_total_module_size): Likewise.
42744 (grub_kernel_image_size): Likewise.
42745 (GRUB_MODULE_MAGIC): New constant.
42746 (grub_module_info): New structure.
42747 (grub_arch_modules_addr): New prototype.
42748 (grub_get_end_addr): Remove prototype.
42749 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42750 * include/grub/powerpc/ieee1275/kernel.h: New file.
42751 * include/grub/util/misc.h (grub_util_get_fp_size): New
42752 prototype.
42753 (grub_util_read_at): Likewise.
42754 (grub_util_write_image_at): Likewise.
42755 * kern/main.c (grub_get_end_addr): Remove function.
42756 (grub_load_modules): Call grub_arch_modules_addr instead of using
42757 grub_end_addr. Look for a grub_module_info struct in memory. Use
42758 the grub_module_info fields instead of calling grub_get_end_addr
42759 as loop conditions. Move grub_add_unused_region code here.
42760 (grub_add_unused_region): Remove function.
42761 * kern/i386/pc/init.c: Include grub/cache.h.
42762 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42763 one call to add_mem_region.
42764 (grub_arch_modules_addr): New function.
42765 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
42766 (grub_total_module_size): Likewise.
42767 Include grub/machine/kernel.h.
42768 (grub_arch_modules_addr): New function.
42769 * util/grub-emu.c (grub_end_addr): Remove variable.
42770 (grub_total_module_size): Likewise.
42771 (grub_arch_modules_addr): New function.
42772 * util/misc.c: Include unistd.h.
42773 (grub_util_get_fp_size): New function.
42774 (grub_util_read_at): Likewise.
42775 (grub_util_write_image_at): Likewise.
42776 (grub_util_read_image): Call grub_util_read_at.
42777 (grub_util_write_image): Call grub_util_write_image_at.
42778 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
42779 additional memory in kernel_img for a struct grub_module_info.
42780 Fill in that grub_module_info.
42781 * util/powerpc/ieee1275/grub-mkimage.c: New file.
42782
458786f8 427832005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42784
42785 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
42786 New function.
42787 * include/grub/powerpc/ieee1275/ieee1275.h
42788 (grub_ieee1275_milliseconds): New prototype.
42789 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
42790 Change to 1000.
42791 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
42792 grub_ieee1275_milliseconds.
42793
ac507d1b 427942005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42795
42796 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
42797 variable.
42798 (find_options): New function.
42799 (cmain): Call find_options.
42800 * include/grub/powerpc/ieee1275/ieee1275.h
42801 (grub_ieee1275_realmode): New extern variable.
42802 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
42803 grub_map if grub_ieee1275_realmode is false.
42804
6b8fd1c4 428052004-12-29 Marco Gerards <metgerards@student.han.nl>
42806
42807 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
42808 lines are inserted and make it work like readline. Reported by
42809 Vincent Pelletier <subdino2004@yahoo.fr>.
42810
8514a1e0 428112004-12-28 Marco Gerards <metgerards@student.han.nl>
42812
42813 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
42814
42815 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
42816 `kern/powerpc/cache.S'.
42817
924b6140 428182004-12-27 Marco Gerards <metgerards@student.han.nl>
42819
42820 * genmk.rb: Handle the `Program' class in the main loop. Written
42821 by Johan Rydberg <jrydberg@gnu.org>.
42822 (Program): New class.
42823 (programs): New variable.
42824 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
42825 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
42826 instead of "grub/kernel.h". Include <grub/machine/init.h>.
42827 (help_arch): Function removed.
42828 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
42829 `powerpc/libgcc.h' and `loader.h'.
42830 (pkgdata_PROGRAMS): New variable.
42831 (sbin_UTILITIES): Variable removed.
42832 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
42833 (grubof_SOURCES): Variable re-defined so it only includes the
42834 core functionality.
42835 (grubof_CFLAGS): Remove `-DGRUBOF'.
42836 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
42837 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
42838 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
42839 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
42840 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
42841 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
42842 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
42843 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
42844 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
42845 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
42846 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42847 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
42848 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
42849 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
42850 (pc_mod_CFLAGS): New variables.
42851 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
42852 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
42853 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
42854 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
42855 Moved from here...
42856 * include/grub/i386/pc/init.h (grub_os_area_addr)
42857 (rub_os_area_size): ... to here.
42858 * include/grub/powerpc/ieee1275/ieee1275.h
42859 (grub_ieee1275_entry_fn): Export symbol.
42860 * include/grub/powerpc/ieee1275/init.h: New file.
42861 * include/grub/powerpc/libgcc.h: Likewise.
42862 * include/grub/cache.h: Likewise.
42863 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
42864 <hollis@penguinppc.org>.
42865 * kern/dl.c: Include <grub/cache.h>.
42866 (grub_dl_flush_cache): New function.
42867 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
42868 for this module.
42869 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
42870 (grub_console_init): Removed prototypes.
42871 (grub_machine_init): Don't initialize the modules anymore.
42872 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
42873 static.
42874 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
42875 Macro undef removed.
42876 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
42877 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
42878 relocation `R_PPC_REL32'. Return an error when the relocation is
42879 unknown.
42880 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
42881 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
42882 * util/misc.c (grub_arch_sync_caches): Likewise.
42883
e4b47e0c 428842004-12-19 Marco Gerards <metgerards@student.han.nl>
42885
42886 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
42887 `symlist.c', add `grubof_symlist.c'.
42888 (symlist.c): Variable removed.
42889 (grubof_HEADERS): Variable added.
42890 (grubof_symlist.c): New target.
42891 (kernel_syms.lst): Use `grubof_HEADERS' instead of
42892 `kernel_img_HEADERS'.
42893 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
42894 * kern/powerpc/dl.c: New file.
42895 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
42896 Function removed.
42897 (grub_arch_dl_relocate_symbols): Likewise.
42898 (grub_register_exported_symbols): Likewise.
42899
4ceb3636 429002004-12-13 Marco Gerards <metgerards@student.han.nl>
42901
42902 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
42903 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
42904 to fail instead. Reported by Vincent Pelletier
42905 <subdino2004@yahoo.fr>.
42906
42907 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
42908 it is not allocated. Reported by Vincent Pelletier
42909 <subdino2004@yahoo.fr>.
42910
42911 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
42912 output so the output looks better.
f19dbdb7 42913
3f1578fe 429142004-12-04 Marco Gerards <metgerards@student.han.nl>
42915
42916 Modulize the partition map support and add support for the amiga
42917 partition map.
f19dbdb7 42918
3f1578fe 42919 * commands/ls.c: Include <grub/partition.h> instead of
42920 <grub/machine/partition.h>.
42921 * kern/disk.c: Likewise.
42922 * kern/rescue.c: Likewise.
42923 * loader/i386/pc/chainloader.c: Likewise.
42924 * normal/cmdline.c: Likewise.
42925 * kern/powerpc/ieee1275/init.c: Likewise.
42926 (grub_machine_init): Call `grub_pc_partition_map_init',
42927 `grub_amiga_partition_map_init' and
42928 `grub_apple_partition_map_init'.
42929 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
42930 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
42931 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
42932 `partition.h' and `pc_partition.h'.
42933 (grub_setup_SOURCES): Remove
42934 `disk/i386/pc/partition.c'. Add `kern/partition.c',
42935 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42936 (grub_emu_SOURCES): Likewise.
42937 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
42938 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
42939 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
42940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42941 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
42942 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42943 (grubof_SOURCES): Likewise.
42944 * disk/i386/pc/partition.c: File removed.
42945 * disk/powerpc/ieee1275/partition.c: Likewise.
42946 * include/grub/powerpc/ieee1275/partition.h: Likewise.
42947 * include/grub/i386/pc/partition.h: Likewise.
42948 * kern/partition.c: New file.
42949 * partmap/amiga.c: Likewise.
42950 * partmap/apple.c: Likewise.
42951 * partmap/pc.c: Likewise.
42952 * include/grub/partition.h: Likewise..
42953 * include/grub/pc_partition.h: Likewise.
42954 * util/grub-emu.c: Include <grub/partition.h> instead of
42955 <grub/machine/partition.h>.
42956 (main): Call `grub_pc_partition_map_init',
42957 `grub_amiga_partition_map_init' and
42958 `grub_apple_partition_map_init' and deinitialize afterwards.
42959 * util/i386/pc/biosdisk.c: Include `#include
42960 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42961 `<grub/machine/partition.h>'.
42962 * util/i386/pc/grub-setup.c: Likewise.
42963 * util/i386/pc/biosdisk.c: Likewise.
42964 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
42965 partition information in case of a PC partition.
42966 * util/i386/pc/grub-setup.c: Include `#include
42967 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42968 `<grub/machine/partition.h>'.
42969 (setup): Only access the PC specific partition information in case
42970 of a PC partition.
42971
0ef4ced9 429722004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42973
0ef4ced9 42974 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
42975 (grub_longjmp): Likewise.
42976 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
42977 20.
42978 * normal/powerpc/setjmp.S: New file.
42979 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42980 `normal/powerpc/setjmp.S'.
42981 (grubof_CFLAGS): Add `-DGRUBOF'.
42982 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
42983 [GRUB_UTIL && !GRUBOF].
f19dbdb7 42984
19950e29 429852004-11-16 Marco Gerards <metgerards@student.han.nl>
42986
42987 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
42988 property named `name'. Correctly handle the error returned by
42989 `grub_ieee1275_finddevice' if a device can not be opened.
42990
a2fea427 429912004-11-02 Hollis Blanchard <hollis@penguinppc.org>
42992
42993 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
42994 `actual' for negativity.
42995 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42996 kern/fshelp.c.
42997
41ea0ea3 429982004-11-01 Marco Gerards <metgerards@student.han.nl>
42999
43000 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
43001 (PAGE_OFFSET): New macro.
43002 (CRTC_ADDR_PORT): Likewise.
43003 (CRTC_DATA_PORT): Likewise.
43004 (START_ADDR_HIGH_REGISTER): Likewise.
43005 (START_ADDR_LOW_REGISTER): Likewise.
43006 (GRAPHICS_ADDR_PORT): Likewise.
43007 (GRAPHICS_DATA_PORT): Likewise.
43008 (READ_MAP_REGISTER): Likewise.
43009 (INPUT_STATUS1_REGISTER): Likewise.
43010 (INPUT_STATUS1_VERTR_BIT): Likewise.
43011 (page): New variable.
43012 (wait_vretrace): New function.
43013 (set_read_map): Likewise.
43014 (set_start_address): Likewise.
43015 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
43016 the right page.
43017 (check_vga_mem): Take the page into account.
43018 (write_char): Likewise.
43019 (write_cursor): Likewise.
43020 (scroll_up): Likewise. Copy the page to the page that is not
43021 shown and switch between both pages.
43022 (grub_vga_putchar): Fix off by one error.
43023 (grub_vga_cls): Wait for the vertical retrace. Take the page into
43024 account.
43025
ad0bd20b 430262004-11-01 Marco Gerards <metgerards@student.han.nl>
43027
43028 Add support for iso9660 (including rockridge).
f19dbdb7 43029
ad0bd20b 43030 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43031 (iso9660_mod_SOURCES): New variable.
43032 (iso9660_mod_CFLAGS): Likewise.
43033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43034 * include/grub/fs.h (grub_iso9660_init): New prototype.
43035 * util/grub-emu.c (main): Call `grub_iso9660_init'.
43036 * fs/iso9660.c: New file.
43037
43038 * include/grub/misc.h (grub_strncat): New prototype.
43039 * kern/misc.c (grub_strncat): New function.
f19dbdb7 43040
ad0bd20b 43041 * fs/hfs.c (grub_hfs_mount): Translate the error
43042 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
43043 * fs/jfs.c (grub_jfs_mount): Likewise.
43044 * fs/ufs.c (grub_ufs_mount): Likewise.
43045
a5477a59 430462004-10-28 Hollis Blanchard <hollis@penguinppc.org>
43047
43048 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
43049 which initialized BAT registers.
43050 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
43051 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43052 Move from here...
43053 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
43054 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43055 ... to here.
43056 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
43057 (grub_mapclaim): Likewise.
43058 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
43059 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
43060 hand.
43061
9304c1f8 430622004-10-19 Hollis Blanchard <hollis@penguinppc.org>
43063
43064 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
43065 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
43066 -ffreestanding and -msoft-float.
43067
86f4ae25 430682004-10-15 Hollis Blanchard <hollis@penguinppc.org>
43069
43070 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
43071 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
43072 set in grub_ieee1275_flags.
43073
38912228 430742004-10-14 Hollis Blanchard <hollis@penguinppc.org>
43075
43076 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
43077 prototype.
43078 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
43079 grub_console_init first.
43080 Change the memory range used for grub_ieee1275_claim and
43081 grub_mm_init_region.
43082 Print an error message if the claim fails.
43083 Include <grub/misc.h>.
43084
d1923dc8 430852004-10-13 Hollis Blanchard <hollis@penguinppc.org>
43086
43087 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
43088 Call grub_children_iterate for device nodes of type `scsi',
43089 `ide', or `ata'.
43090 (grub_ofdisk_open): Remove manual device alias resolution.
43091 Fix memory leak when device cannot be opened.
f19dbdb7 43092 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 43093 (grub_children_iterate): New prototype.
43094 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
43095 New function.
43096 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43097 Return -1 if args.size was -1.
43098
4512e4f3 430992004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43100
43101 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
43102 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
43103 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
43104 Open Firmware's memory for it; claim memory from _start to _end.
43105 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
43106 (_end): New extern.
43107 (_start): Zero BSS from __bss_start to _end.
43108 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43109 New extern.
43110 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
43111
4d61feb0 431122004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43113
ad0bd20b 43114 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
43115 -1 if args.base was -1.
4d61feb0 43116
026fa2f9 431172004-10-08 Hollis Blanchard <hollis@penguinppc.org>
43118
43119 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
43120 escape sequence instead of a literal ^L. Also call
43121 grub_ofconsole_gotoxy.
43122
9f2220ef 431232004-10-03 Hollis Blanchard <hollis@penguinppc.org>
43124
43125 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
43126 void * arguments to grub_addr_t. All callers updated. Also make
43127 the `result' argument optional.
43128 (grub_ieee1275_release): change void * arguments to grub_addr_t.
43129 All callers updated.
43130
8a572cd7 431312004-09-22 Hollis Blanchard <hollis@penguinppc.org>
43132
43133 * commands/ls.c (grub_ls_list_files): Use the string following the
43134 initial ')', if present, as the filesystem path.
43135 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
43136
43137 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
43138
18aa81f2 431392004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
43140
43141 Make the source code of the menu interface more readable.
f19dbdb7 43142
18aa81f2 43143 * normal/menu.c: Include grub/mm.h.
43144 (TERM_WIDTH): New macro.
43145 (TERM_HEIGHT): Likewise.
43146 (TERM_INFO_HEIGHT): Likewise.
43147 (TERM_MARGIN): Likewise.
43148 (TERM_SCROLL_WIDTH): Likewise.
43149 (TERM_TOP_BORDER_Y): Likewise.
43150 (TERM_LEFT_BORDER_X): Likewise.
43151 (TERM_BORDER_WIDTH): Likewise.
43152 (TERM_MESSAGE_HEIGHT): Likewise.
43153 (TERM_BORDER_HEIGHT): Likewise.
43154 (TERM_NUM_ENTRIES): Likewise.
43155 (TERM_FIRST_ENTRY_Y): Likewise.
43156 (TERM_ENTRY_WIDTH): Likewise.
43157 (TERM_CURSOR_X): Likewise.
43158 (draw_border): Use macros instead of magic numbers.
43159 (print_entry): Likewise.
43160 (print_entries): Likewise.
43161 (run_menu): Likewise. Also, handle the key 'e'.
43162 (run_menu_entry): Ignore empty command lines.
43163 (print_message): Added a new argument EDIT. If EDIT is true,
43164 print a different message.
43165 (init_page): Likewise.
43166 (edit_menu_entry): New function. Not implemented yet.
43167
b47efe30 431682004-09-17 Marco Gerards <metgerards@student.han.nl>
43169
43170 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
43171 can be loaded from normal mode.
f19dbdb7 43172
b47efe30 43173 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
43174 `multiboot.mod'.
43175 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
43176 (multiboot_mod_CFLAGS): New variables.
43177 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 43178 * loader/i386/pc/multiboot_normal.c: Likewise.
43179
b47efe30 43180 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
43181 attribute `unused'.
f19dbdb7 43182
b47efe30 43183 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
43184 `fdiro' to read the mode information from instead of `diro'.
43185
43186 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
43187 looking up a symlink.
43188
43189 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
43190 macro.
43191 * normal/command.c (grub_command_execute): Don't parse the
43192 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
43193 flags of the command.
43194
43195 * normal/menu.c (grub_menu_run): Fix typo.
43196
da75ac71 431972004-09-14 Hollis Blanchard <hollis@penguinppc.org>
43198
43199 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
43200
43201 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
43202 `y + 1' instead of `y - 1'.
43203
43204 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 43205
062b24c2 432062004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
43207
43208 From Hollis Blanchard <hollis@penguinppc.org>:
43209 * kern/misc.c (memmove): New alias for grub_memmove.
43210 (memcmp): New alias for grub_memcmp.
43211 (memset): New alias for grub_memset.
f19dbdb7 43212 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 43213 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 43214 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 43215 (grub_ieee1275_get_property): Likewise.
f19dbdb7 43216
8ddad845 432172004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
43218
43219 Added normal mode command `chainloader' as module chain.mod, which
43220 depends on normal.mod and _chain.mod.
f19dbdb7 43221
8ddad845 43222 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
43223 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
43224 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
43225 Deleted prototype.
43226 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
43227 but arguments parsing moved to ...
43228 (grub_chainloader_cmd): ... here. New function.
43229 * include/grub/i386/pc/chainloader.h: New file.
43230 * loader/i386/pc/chainloader_normal.c: Likewise.
43231
2c1f4ce3 432322004-09-11 Marco Gerards <metgerards@student.han.nl>
43233
43234 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
43235 (grub_mkimage_LDFLAGS): Likewise.
43236 (grub_emu_SOURCES): Likewise.
43237 (kernel_img_HEADERS): Added fshelp.h.
43238 * fs/ext2.c: Include <grub/fshelp.h>.
43239 (FILETYPE_REG): New macro.
43240 (FILETYPE_INO_REG): Likewise.
43241 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
43242 Changed all users.
43243 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
43244 all users.
43245 (grub_fshelp_node): New struct.
43246 (grub_ext2_data): Added member `diropen'. Changed member `inode'
43247 to a pointer.
43248 (grub_ext2_get_file_block): Removed function.
43249 (grub_ext2_read_block): New function.
43250 (grub_ext2_read_file): Replaced parameter `data' by `node'.
43251 This function was written.
43252 (grub_ext2_mount): Read the root inode. Create a diropen struct.
43253 (grub_ext2_find_file): Removed function.
43254 (grub_ext2_read_symlink): New function.
43255 (grub_ext2_iterate_dir): Likewise.
43256 (grub_ext2_open): Rewritten.
43257 (grub_ext2_dir): Rewritten.
43258 * include/grub/fshelp.h: New file.
43259 * fs/fshelp.c: Likewise.
43260
3c52136a 432612004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
43262
43263 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
43264 (print_message): Add a missing newline.
43265 (run_menu): Added timeout support.
43266 (run_menu_entry): New local function.
43267 (grub_menu_run): Added support for booting.
43268
43269 * kern/loader.c (grub_loader_is_loaded): New function.
43270
43271 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
43272 (grub_get_rtc): Exported.
43273
43274 * include/grub/i386/pc/time.h: Include grub/symbol.h.
43275 (grub_get_rtc): Exported.
43276
43277 * include/grub/normal.h (struct grub_command_list): Remove
43278 constant from the member `command'.
43279
43280 * include/grub/loader.h (grub_loader_is_loaded): Declared.
43281
43282 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
43283
43284 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
43285
aa033560 432862004-08-28 Marco Gerards <metgerards@student.han.nl>
43287
43288 Add support for the JFS filesystem.
43289
43290 * fs/jfs.c: New file.
43291 * include/grub/fs.h (grub_jfs_init): New prototype.
43292 (grub_jfs_fini): New prototype.
43293 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
43294 (grub_emu_SOURCES): Likewise.
43295 (pkgdata_MODULES): Add jfs.mod.
43296 (jfs_mod_SOURCES): New variable.
43297 (jfs_mod_CFLAGS): Likewise.
43298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
43299 (grubof_SOURCES): Likewise.
43300 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
43301
43302 * fs/fat.c (grub_fat_find_dir): Convert the filename little
43303 endian to the host endian.
43304 (grub_fat_utf16_to_utf8): Move function from there...
43305 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 43306 the endianness of the source string anymore.
aa033560 43307 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
43308
94bc45af 433092004-08-24 Marco Gerards <metgerards@student.han.nl>
43310
43311 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
43312 (grub_boot_fini) [GRUB_UTIL]: Likewise.
43313 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
43314 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 43315
94bc45af 43316 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
43317 (grub_hfs_iterate_dir): Make the function static. Add prototypes
43318 for `node_found' and `it_dir'.
43319 (grub_hfs_dir): Add prototype for `dir_hook'.
43320
43321 * fs/minix.c (grub_minix_get_file_block): Add prototype for
43322 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
43323 and `indir32' to silence a gcc warning.
43324
43325 * include/grub/fs.h (grub_hfs_init): New prototype.
43326 (grub_hfs_fini): Likewise.
f19dbdb7 43327
43328
97543f08 433292004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43330
43331 Each disk device has its own id now. This is useful to make use
43332 of multiple disk devices.
f19dbdb7 43333
97543f08 43334 * include/grub/disk.h (grub_disk_dev_id): New enum.
43335 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
43336 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
43337
43338 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
43339 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43340
43341 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
43342 GRUB_DISK_DEVICE_OFDISK_ID as an id.
43343
43344 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
43345 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43346
43347 * include/grub/disk.h (struct grub_disk_dev): Added a new member
43348 "id" which is used by the cache manager.
43349
43350 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
43351 of just "GRUB".
43352
64372eb4 433532004-08-18 Marco Gerards <metgerards@student.han.nl>
43354
43355 * fs/hfs.c: New file.
43356 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
43357 (grub_emu_SOURCES): Likewise.
43358 (pkgdata_MODULES): Add hfs.mod.
43359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
43360 (grubof_SOURCES): Likewise.
43361 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
43362
43363 * include/grub/misc.h (grub_strncasecmp): Add prototype.
43364 * kern/misc.c (grub_strncasecmp): Add function.
43365
cc61b58f 433662004-08-14 Marco Gerards <metgerards@student.han.nl>
43367
43368 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
43369 with parentheses.
43370
43371 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
43372 (grub_ext2_dir): In case the directory entry type is unknown, read
43373 it from the inode.
43374
0ef123f6 433752004-08-02 Peter Bruin <pjbruin@dds.nl>
43376
43377 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
43378 grub_load_linux instead of grub_rescue_cmd_linux as second
43379 argument of grub_rescue_register_command.
43380
43381 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
43382
a447c5df 433832004-07-27 Marco Gerards <metgerards@student.han.nl>
43384
43385 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
43386 function.
43387 * commands/boot.c: Remove the check for `GRUB_UTIL'.
43388 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43389 `loader/powerpc/ieee1275/linux.c',
43390 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
43391 * include/grub/powerpc/ieee1275/ieee1275.h
43392 (grub_ieee1275_release): New prototype.
43393 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
43394 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
43395 normal, boot, linux and linux_normal.
43396 * loader/powerpc/ieee1275/linux.c: New file.
43397 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43398
5a9e3546 433992004-07-12 Marco Gerards <metgerards@student.han.nl>
43400
43401 * normal/arg.c (grub_arg_parse): Correct error handling after
43402 reallocating the argumentlist (check if `argl' is not null instead
43403 of checking if `args' is not null).
43404 * kern/mm.c (grub_realloc): Return the same pointer when using the
43405 same region, instead of returning the header address.
43406
e15199cb 434072004-07-11 Marco Gerards <metgerards@student.han.nl>
43408
43409 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
43410 one block instead of two when looking for the initial partition.
43411 (grub_partition_probe): Initialize the local variable `p' with 0.
43412 Use base 10 for the grub_strtoul call.
43413 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
43414 need for one local variable.
43415 (grub_strtoul): Don't add the new value to `num', instead of that
43416 just assign it.
43417
020616c2 434182004-07-11 Marco Gerards <metgerards@student.han.nl>
43419
43420 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
43421 (pxeboot_img_SOURCES): New variable.
43422 (pxeboot_img_ASFLAGS): Likewise.
43423 (pxeboot_img_LDFLAGS): Likewise.
43424 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
43425 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
43426 <lode_leroy@hotmail.com>.
43427
6c51eb64 434282004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43429
43430 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
43431 there was no input.
43432
cfb12aff 434332004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43434
43435 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
43436 the history buffer logic.
43437
6eabba74 434382004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43439
43440 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
43441 (FILETYPE_INO_SYMLINK): New macros.
43442 (grub_ext2_find_file): Check if the node is a directory using the
43443 inode stat information instead of using the filetype in the
43444 dirent. Exclude the first character of an absolute symlink.
43445 (grub_ext2_dir): Mask out the filetype part of the mode member of
43446 the inode.
43447
66e19ef8 434482004-05-24 Marco Gerards <metgerards@student.han.nl>
43449
43450 Add support for UFS version 1 and 2. Add support for the minix
43451 filesystem version 1 and 2, both the variants with 14 and 30 long
43452 filenames.
f19dbdb7 43453
66e19ef8 43454 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
43455 fs/minix.c.
43456 (grub_emu_SOURCES): Likewise.
43457 (pkgdata_MODULES): Add ufs.mod and minix.mod.
43458 (ufs_mod_SOURCES): New variable.
43459 (ufs_mod_CFLAGS): Likewise.
43460 (minix_mod_SOURCES): Likewise.
43461 (minix_mod_CFLAGS): Likewise.
43462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
43463 fs/minix.c.
43464 (grubof_SOURCES): Likewise.
43465 * fs/ufs.c: New file.
43466 * fs/minix.c: New file.
43467 * include/grub/fs.h (grub_ufs_init): New prototype.
43468 (grub_ufs_fini): Likewise.
43469 (grub_minix_init): Likewise.
43470 (grub_minix_fini): Likewise.
43471 * util/grub-emu.c (main): Initialize and deinitialize UFS and
43472 minix fs.
43473
cc2e748a 434742004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
43475
43476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
43477 commands/ls.c, commands/terminal.c, commands/boot.c,
43478 commands/cmp.c and commands/cat.c.
43479 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
43480
43481 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
43482 "env.h"
43483
4b13b216 434842004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43485
43486 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43487 and grub_, respectively. Because the conversion is trivial and
43488 mechanical, I omit the details here. Please refer to the CVS
43489 if you need more information.
43490
6a142551 434912004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43492
43493 * include/pupa: Renamed to ...
43494 * include/grub: ... this.
43495 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43496 * util/i386/pc/grub-mkimage.c: ... this.
43497 * util/i386/pc/pupa-setup.c: Renamed to ...
43498 * util/i386/pc/grub-setup.c: ... this.
43499 * util/pupa-emu.c: Renamed to ...
43500 * util/grub-emu.c: ... this.
43501
e56cdf21 435022004-03-29 Marco Gerards <metgerards@student.han.nl>
43503
43504 Add support for the newworld apple macintosh (PPC). This has been
43505 tested on the powerbook 2000 only. It only adds support for
43506 generic ieee1275 functions, console and disk support. This should
43507 be easy to port to other architectures with support for Open
43508 Firmware.
f19dbdb7 43509
e56cdf21 43510 * configure.ac: Accept the powerpc as host_cpu. In the case of
43511 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43512 specific tests are only executed while building for the i386.
43513 Inverse test for crosscompile.
43514 * genmk.rb (Utility): Allow assembler files.
43515 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43516 * conf/powerpc-ieee1275.rmk: New file.
43517 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43518 * disk/powerpc/ieee1275/partition.c: Likewise.
43519 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43520 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43521 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43522 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43523 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43524 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43525 * include/pupa/powerpc/ieee1275/loader.h
43526 * include/pupa/powerpc/setjmp.h: Likewise.
43527 * include/pupa/powerpc/types.h: Likewise.
43528 * kern/powerpc/ieee1275/init.c: Likewise.
43529 * kern/powerpc/ieee1275/openfw.c: Likewise.
43530 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43531
43532 These files were written by Johan Rydberg
43533 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 43534
e56cdf21 43535 * boot/powerpc/ieee1275/cmain.c: New file.
43536 * boot/powerpc/ieee1275/crt0.S: Likewise.
43537 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43538 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43539
8c8cc205 435402004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43541
43542 * Makefile.in: Update copyright.
43543 * genmodsrc.sh: Likewise.
43544 * gensymlist.sh: Likewise.
43545 * term/i386/pc/vga.c: Indent correctly.
43546
43547 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43548 bugreporting address.
43549 * util/i386/pc/pupa-setup.c (usage): Likewise,
43550 (main): Call pupa_ext2_init and pupa_ext2_fini.
43551
f19dbdb7 43552 * fs/fat.c (log2): Renamed to ...
8c8cc205 43553 (fat_log2): ... this.
43554 All callers changed.
43555 * kern/misc.c (memcpy): Alias to pupa_memmove.
43556 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43557 lvalue cast.
43558 * util/console.c (pupa_ncurses_fini): Return 0.
43559
43560 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43561 Move fail label here.
43562 [__GNU__]: Don't warn when using stat.
43563 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43564 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43565 long int. Use strtol instead of strtoul.
f19dbdb7 43566
db1771cf 435672004-03-14 Marco Gerards <metgerards@student.han.nl>
43568
43569 * commands/boot.c: New file.
43570 * commands/cat.c: Likewise.
43571 * commands/cmp.c: Likewise.
43572 * commands/ls.c: Likewise.
43573 * commands/terminal.c: Likewise.
43574 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43575 (pupa_register_command): Changed interface to match the new
43576 argument parser.
43577 (pupa_command_execute): Changed (almost rewritten) so it uses
43578 pupa_split_command. Added support for setting variables using the
43579 syntax `foo=bar'.
43580 (rescue_command): Changed to work with the new argument parser.
43581 (terminal_command): Moved from here to commands/terminal.c.
43582 (set_command): New function.
43583 (unset_command): New function.
43584 (insmod_command): New function.
43585 (rmmod_command): New function.
43586 (lsmod_command): New function.
43587 (pupa_command_init): Don't initialize the command terminal
43588 anymore. Initialize the commands set, unset, insmod, rmmod and
43589 lsmod.
43590 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43591 (kernel_img_HEADERS): Add arg.h and env.h.
43592 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43593 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43594 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43595 normal/arg.c.
43596 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43597 terminal.mod.
43598 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43599 (boot_mod_SOURCES): New variable.
43600 (terminal_mod_SOURCES): Likewise.
43601 (ls_mod_SOURCES): Likewise.
43602 (cmp_mod_SOURCES): Likewise.
43603 (cat_mod_SOURCES): Likewise.
43604
43605 * normal/arg.c: New file.
43606 * kern/env.c: Likewise.
43607 * include/pupa/arg.h: Likewise.
43608 * include/pupa/env.h: Likewise.
43609 * font/manager.c (font_command): Changed to match argument parsing
43610 interface changes.
43611 (PUPA_MOD_INIT): Likewise.
43612 * hello/hello.c (pupa_cmd_hello): Likewise.
43613 (PUPA_MOD_INIT): Likewise.
43614 * include/pupa/disk.h: Include <pupa/device.h>.
43615 (pupa_print_partinfo): New prototype.
43616 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43617 (pupa_dl_get_prefix): Likewise.
43618 * include/pupa/misc.h: Include <pupa/err.h>.
43619 (pupa_isgraph): New prototype.
43620 (pupa_isdigit): Likewise.
43621 (pupa_split_cmdline): Likewise.
43622 * include/pupa/normal.h: Include <pupa/arg.h>.
43623 (pupa_command): Changed the prototype of the member `func' to
43624 match the argument parsing interface. Added member `options'.
43625 (pupa_register_command): Updated to match function.
43626 (pupa_arg_parse): New prototype.
43627 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43628 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43629 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43630 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43631 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43632 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43633 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43634 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43635 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43636 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43637 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43638 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43639 * kern/disk.c: Include <pupa/file.h>.
43640 (pupa_print_partinfo): New function.
43641 * kern/dl.c: Include <pupa/env.h>.
43642 (pupa_dl_dir): Variable removed.
43643 (pupa_dl_load): Use the environment variable `prefix' instead of
43644 the variable pupa_dl_dir.
43645 (pupa_dl_set_prefix): Function removed.
43646 (pupa_dl_get_prefix): Likewise.
43647 * kern/i386/pc/init.c: Include <pupa/env.h>.
43648 (pupa_machine_init): Use the environment variable `prefix' instead of
43649 using pupa_dl_set_prefix to set the prefix.
43650 * kern/main.c: Include <pupa/env.h>.
43651 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43652 using pupa_dl_get_prefix to get the prefix.
43653 * kern/misc.c: Include <pupa/env.h>.
43654 (pupa_isdigit): New function.
43655 (pupa_isgraph): Likewise.
43656 (pupa_ftoa): Likewise.
43657 (pupa_vsprintf): Added support for printing values of the type
43658 `double'. Make it possible to format variable output when using
43659 formatting like `%1.2%f'.
43660 (pupa_split_cmdline): New function.
43661 * kern/rescue.c: Include <pupa/env.h>.
43662 (next_word): Removed function.
43663 (pupa_rescue_cmd_prefix): Likewise.
43664 (pupa_rescue_cmd_set): New function.
43665 (pupa_rescue_cmd_unset): New function.
43666 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
43667 split the command line instead of splitting it here. Added
43668 support for setting variables using the syntax `foo=bar'. Don't
43669 initialize the prefix command anymore. Initialized the set and
43670 unset commands.
43671 * normal/cmdline.c: Include <pupa/env.h>.
43672 (pupa_tab_complete): Added prototypes for print_simple_completion,
43673 print_partition_completion, add_completion, iterate_commands,
43674 iterate_dev, iterate_part and iterate_dir. Moved code to print
43675 partition information from here to kern/disk.c.
fe6b695a 43676 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 43677 * normal/main.c: Include <pupa/env.h>.
43678 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
43679 instead of using pupa_dl_get_prefix to get the prefix.
43680 * term/i386/pc/vga.c: Include <pupa/arg.h>.
43681 (check_vga_mem): Cast pointers to `void *' to silence a gcc
43682 warning.
43683 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
43684 (pupa_vga_setcolor): Declare unused variables with `__attribute__
43685 ((unused))' to silence a gcc warning.
43686 (pupa_vga_setcolor): Likewise.
43687 (debug_command): Changed to match argument parsing
43688 interface changes.
43689 * util/pupa-emu.c: Include <pupa/env.h>.
43690 (options): Added 0's for unused fields to silence a gcc warning.
43691 (argp): Likewise.
43692 (main): Use the environment variable `prefix' instead of using
43693 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
43694 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
43695 and terminal.
43696
43697 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
43698 * util/misc.c: Include <malloc.h>.
43699 (pupa_malloc): Rewritten so errors are correctly reported.
43700 (pupa_realloc): Likewise.
43701 (pupa_memalign): Likewise.
43702 (pupa_mm_init_region): Declare unused variables with
43703 `__attribute__ ((unused))' to silence a gcc warning.
43704 * normal/i386/setjmp.S: Remove tab at the end of the file to
43705 silence a gcc warning.
43706 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
43707 variables with `__attribute__ ((unused))' to silence a gcc
43708 warning.
43709 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
43710 local variable i unsigned to silence a gcc warning.
43711
43712 * kern/term.c: Include <pupa/misc.h>.
43713 (pupa_more_lines): New variable.
43714 (pupa_more): Likewise.
43715 (pupa_putcode): When the pager is active pause at the end of every
43716 screen.
43717 (pupa_set_more): New function.
43718 * include/pupa/term.h (pupa_set_more): New prototype.
43719
43720
3b1139cb 437212004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
43722
43723 Now this project is GRUB 2 rather than PUPA. The location of
43724 the CVS repository was moved to GRUB's.
f19dbdb7 43725
3b1139cb 43726 * configure.ac: Use bug-grub as the reporting address.
43727 Use GRUB instead of PUPA.
43728 Change the version number to 1.90.
43729
8367695c 437302004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
43731
43732 * genkernsyms.sh: Updated copyright information.
43733 * genmk.rb: Likewise.
43734 * genmodsrc.sh: Likewise.
43735 * gensymlist.sh: Likewise.
43736 * boot/i386/pc/boot.S: Likewise.
43737 * boot/i386/pc/diskboot.S: Likewise.
43738 * disk/i386/pc/biosdisk.c: Likewise.
43739 * disk/i386/pc/partition.c: Likewise.
43740 * font/manager.c: Likewise.
43741 * fs/ext2.c: Likewise.
43742 * fs/fat.c: Likewise.
43743 * include/pupa/boot.h: Likewise.
43744 * include/pupa/device.h: Likewise.
43745 * include/pupa/disk.h: Likewise.
43746 * include/pupa/dl.h: Likewise.
43747 * include/pupa/elf.h: Likewise.
43748 * include/pupa/err.h: Likewise.
43749 * include/pupa/file.h: Likewise.
43750 * include/pupa/font.h: Likewise.
43751 * include/pupa/fs.h: Likewise.
43752 * include/pupa/kernel.h: Likewise.
43753 * include/pupa/loader.h: Likewise.
43754 * include/pupa/misc.h: Likewise.
43755 * include/pupa/mm.h: Likewise.
43756 * include/pupa/net.h: Likewise.
43757 * include/pupa/normal.h: Likewise.
43758 * include/pupa/rescue.h: Likewise.
43759 * include/pupa/setjmp.h: Likewise.
43760 * include/pupa/symbol.h: Likewise.
43761 * include/pupa/term.h: Likewise.
43762 * include/pupa/types.h: Likewise.
43763 * include/pupa/i386/setjmp.h: Likewise.
43764 * include/pupa/i386/types.h: Likewise.
43765 * include/pupa/i386/pc/biosdisk.h: Likewise.
43766 * include/pupa/i386/pc/boot.h: Likewise.
43767 * include/pupa/i386/pc/console.h: Likewise.
43768 * include/pupa/i386/pc/init.h: Likewise.
43769 * include/pupa/i386/pc/kernel.h: Likewise.
43770 * include/pupa/i386/pc/linux.h: Likewise.
43771 * include/pupa/i386/pc/loader.h: Likewise.
43772 * include/pupa/i386/pc/memory.h: Likewise.
43773 * include/pupa/i386/pc/multiboot.h: Likewise.
43774 * include/pupa/i386/pc/partition.h: Likewise.
43775 * include/pupa/i386/pc/time.h: Likewise.
43776 * include/pupa/i386/pc/vga.h: Likewise.
43777 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
43778 * include/pupa/util/getroot.h: Likewise.
43779 * include/pupa/util/misc.h: Likewise.
43780 * include/pupa/util/resolve.h: Likewise.
43781 * kern/device.c: Likewise.
43782 * kern/disk.c: Likewise.
43783 * kern/dl.c: Likewise.
43784 * kern/err.c: Likewise.
43785 * kern/file.c: Likewise.
43786 * kern/fs.c: Likewise.
43787 * kern/loader.c: Likewise.
43788 * kern/main.c: Likewise.
43789 * kern/misc.c: Likewise.
43790 * kern/mm.c: Likewise.
43791 * kern/rescue.c: Likewise.
43792 * kern/term.c: Likewise.
43793 * kern/i386/dl.c: Likewise.
43794 * kern/i386/pc/init.c: Likewise.
43795 * kern/i386/pc/lzo1x.S: Likewise.
43796 * kern/i386/pc/startup.S: Likewise.
43797 * loader/i386/pc/chainloader.c: Likewise.
43798 * loader/i386/pc/linux.c: Likewise.
43799 * loader/i386/pc/multiboot.c: Likewise.
43800 * normal/cmdline.c: Likewise.
43801 * normal/command.c: Likewise.
43802 * normal/main.c: Likewise.
43803 * normal/menu.c: Likewise.
43804 * normal/i386/setjmp.S: Likewise.
43805 * term/i386/pc/console.c: Likewise.
43806 * term/i386/pc/vga.c: Likewise.
43807 * util/console.c: Likewise.
43808 * util/genmoddep.c: Likewise.
43809 * util/misc.c: Likewise.
43810 * util/pupa-emu.c: Likewise.
43811 * util/resolve.c: Likewise.
43812 * util/unifont2pff.rb: Likewise.
43813 * util/i386/pc/biosdisk.c: Likewise.
43814 * util/i386/pc/getroot.c: Likewise.
43815 * util/i386/pc/pupa-mkimage.c: Likewise.
43816 * util/i386/pc/pupa-setup.c: Likewise.
43817
e6eced71 438182004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
43819
43820 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
43821 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
43822 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
43823 reading and reset it after reading.
43824 (pupa_ext2_close): Return PUPA_ERR_NONE.
43825
43826 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
43827 Correct value.
43828 (struct linux_kernel_header): Add kernel_version and
43829 initrd_addr_max.
43830 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
43831 pupa_file_read succeeds.
43832 (pupa_rescue_cmd_initrd): Implement.
43833
5aded270 438342003-12-03 Marco Gerards <metgerards@student.han.nl>
43835
43836 * fs/ext2.c (pupa_ext2_label): New function.
43837 (pupa_ext2_fs): Added label.
43838 * fs/fat.c (pupa_fat_label): New function.
43839 (pupa_fat_fs): Added label.
43840 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
43841
43842 * kern/misc.c (pupa_strndup): New function.
43843 * include/pupa/misc.h (pupa_strndup): New prototype.
43844
43845 * include/pupa/normal.h: Include <pupa/err.h>.
43846 (pupa_set_history): New prototype.
43847 (pupa_iterate_commands): New prototype.
43848 * normal/cmdline.c: Include <pupa/machine/partition.h>,
43849 <pupa/disk.h>, <pupa/file.h>.
43850 (hist_size): New variable.
43851 (hist_lines): Likewise.
43852 (hist_end): Likewise.
43853 (hist_used): Likewise.
43854 (pupa_set_history): New function.
43855 (pupa_history_get): Likewise.
43856 (pupa_history_add): Likewise.
43857 (pupa_history_replace): Likewise.
43858 (pupa_tab_complete): Likewise.
43859 (pupa_cmdline_run): Added tab completion and history buffer. Tab
43860 completion shows partitionnames while completing partitions, this
43861 feature was suggested by Jeff Bailey.
43862 * normal/command.c (pupa_iterate_commands): New function.
43863 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
43864 (pupa_normal_init): Initialize history buffer.
43865 (PUPA_MOD_INIT): Likewise.
43866 (pupa_normal_fini): Free the history buffer.
43867 (PUPA_MOD_FINI): Likewise.
43868
43869 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
43870 key.
43871
43872 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
43873 * configure.ac [i386]: Check for regparam bug.
43874 (NESTED_FUNC_ATTR) [! i386]: Defined.
43875
1f7315a3 438762003-11-17 Marco Gerards <metgerards@student.han.nl>
43877
43878 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
43879 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
43880 (pupa_emu_SOURCES): New variable.
43881 (pupa_emu_LDFLAGS): Likewise.
43882 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
43883 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
43884 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
43885 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43886 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
43887 (pupa_jmp_buf): New typedef.
43888 (pupa_setjmp) [PUPA_UTIL]: New macro.
43889 (pupa_longjmp) [PUPA_UTIL]: Likewise.
43890 * include/pupa/term.h (struct pupa_term): New member `refresh'.
43891 (pupa_refresh): New prototype.
43892 * include/pupa/util/getroot.h: New file.
43893 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
43894 it.
43895 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
43896 (pupa_rescue_cmd_cat): Likewise.
43897 (pupa_rescue_cmd_ls): Likewise.
43898 (pupa_rescue_cmd_testload): Likewise.
43899 (pupa_rescue_cmd_lsmod): Likewise.
43900 * normal/cmdline.c (pupa_cmdline_get): Likewise.
43901 * normal/menu.c (run_menu): Likewise.
43902 * kern/term.c (pupa_cls): Likewise.
43903 (pupa_refresh): New function.
43904 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
43905 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43906 * util/console.c: New file.
f19dbdb7 43907
1f7315a3 43908 * util/i386/pc/getroot.c: New file.
43909 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
43910 (pupa_putchar): New function.
43911 (pupa_refresh): Likewise.
43912 (xgetcwd): Function moved to ...
43913 (strip_extra_slashes): Likewise.
43914 (get_prefix): Likewise.
f19dbdb7 43915 * util/i386/pc/getroot.c: ... here.
1f7315a3 43916 (find_root_device): Function moved and renamed to...
43917 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
43918 Changed all callers.
43919 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
43920 and renamed to...
43921 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
43922 Changed all callers.
43923 * util/misc.c (pupa_memalign): New function.
43924 (pupa_mm_init_region): Likewise.
43925 (pupa_register_exported_symbols): Likewise.
43926 (pupa_putchar): Function removed.
43927 * util/pupa-emu.c: New file.
43928
9a5c1ade 439292003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
43930
43931 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
43932 (_multiboot_mod_SOURCES): New variable.
43933 (_multiboot_mod_CFLAGS): Likewise.
43934 * loader/i386/pc/multiboot.c: New file.
43935 * include/pupa/i386/pc/multiboot.h: Likewise.
43936 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
43937 (pupa_multiboot_real_boot): New function.
43938 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
43939 (pupa_multiboot_real_boot): New prototype.
43940 (pupa_rescue_cmd_multiboot): Likewise
43941 (pupa_rescue_cmd_module): Likewise.
43942
43943 * kern/loader.c (pupa_loader_set): Continue when
43944 pupa_loader_unload_func() fails.
43945 (pupa_loader_unset): New function.
43946 * include/pupa/loader.h (pupa_loader_unset): New prototype.
43947
43948 * kern/misc.c (pupa_stpcpy): New function.
43949 * include/pupa/misc.h (pupa_stpcpy): New prototype.
43950
8e72a9c0 439512003-11-12 Marco Gerards <metgerards@student.han.nl>
43952
43953 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
43954 for available extensions.
43955
43956 * include/pupa/i386/pc/time.h: New file.
43957 * kern/disk.c: Include <pupa/machine/time.h>.
43958 (PUPA_CACHE_TIMEOUT): New macro.
43959 (pupa_last_time): New variable.
43960 (pupa_disk_open): Flush the cache when there was a timeout.
43961 (pupa_disk_close): Reset the timer.
43962 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
43963 pupa_currticks.
43964 * util/misc.c: Include <sys/times.h>
43965 (pupa_get_rtc): New function.
43966
c4adbd32 439672003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43968
43969 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
43970 as blocks.
43971 (pupa_ext2_get_file_block): Use blocks member.
43972
43973 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
43974 first block. Return -1 instead of pupa_errno on error.
43975
bfd30f06 439762003-10-27 Marco Gerards <metgerards@student.han.nl>
43977
43978 * README: In the pupa-mkimage example use _chain instead of chain
43979 and ext2 instead of fat.
43980 * TODO: Replace ext2fs with jfs as an example. Add an item for
43981 adding journal playback for ext2fs.
43982 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
43983 (pkgdata_MODULES): Added ext2.mod.
43984 (ext2_mod_SOURCES): New variable.
43985 (ext2_mod_CFLAGS): Likewise.
43986 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
43987 * include/pupa/misc.h (pupa_strncpy): New prototype.
43988 (pupa_strcat): Likewise.
43989 (pupa_strncmp): Likewise.
43990 * kern/misc.c (pupa_strcat): Enable function.
43991 (pupa_strncpy): New function.
43992 (pupa_strncmp): Likewise.
43993 * fs/ext2.c: New file.
f19dbdb7 43994
bfd30f06 43995 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
43996 when the read failed before retrying.
43997 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
43998 (_FILE_OFFSET_BITS): Likewise.
43999 * configure.ac: Added AC_SYS_LARGEFILE.
44000
98d15063 440012003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44002
44003 * genmk.rb (PModule#rule): Make sure to get only symbol names
44004 from the output of nm.
59cad637 44005 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 44006
18d9c7cd 440072003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44008
44009 I forgot to check in these changes for a long time. This adds
44010 incomplete support for VGA console, and this is still very
44011 buggy. Also, a lot of consideration is required for I18N,
44012 UNICODE, and VGA font issues. Therefore, assume that this is
44013 such that "better than nothing".
f19dbdb7 44014
18d9c7cd 44015 * font/manager.c: New file.
44016 * include/pupa/font.h: Likewise.
44017 * include/pupa/i386/pc/vga.h: Likewise.
44018 * term/i386/pc/vga.c: Likewise.
44019 * util/unifont2pff.rb: Likewise.
44020
44021 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
44022 (pkgdata_MODULES): Added vga.mod and font.mod.
44023 (vga_mod_SOURCES): New variables.
44024 (vga_mod_CFLAGS): Likewise.
44025 (font_mod_SOURCES): Likewise.
44026 (font_mod_CFLAGS): Likewise.
44027
44028 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
44029
44030 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 44031 (struct pupa_term): Added init and fini.
18d9c7cd 44032 Changed the argument of putchar to pupa_uint32_t.
44033
44034 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
44035 (pupa_console_real_putchar): New prototype.
44036 (pupa_console_putchar): Removed.
44037 (pupa_console_checkkey): Exported.
44038 (pupa_console_getkey): Likewise.
44039
44040 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
44041 characters.
44042
44043 * kern/term.c (pupa_term_set_current): Rewritten.
44044 (pupa_putchar): Likewise.
44045 (pupa_putcode): New function.
44046
44047 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
44048 (pupa_console_real_putchar): ... this.
44049 (pupa_vga_set_mode): New function.
44050 (pupa_vga_get_font): Likewise.
44051
44052 * normal/command.c: Include pupa/term.h.
44053 (terminal_command): New function.
44054 (pupa_command_init): Register the command "terminal".
44055
44056 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
44057 (DISP_UP): Likewise.
44058 (DISP_RIGHT): Likewise.
44059 (DISP_DOWN): Likewise.
44060 (DISP_HLINE): Likewise.
44061 (DISP_VLINE): Likewise.
44062 (DISP_UL): Likewise.
44063 (DISP_UR): Likewise.
44064 (DISP_LL): Likewise.
44065 (DISP_LR): Likewise.
44066
44067 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 44068
977329f5 440692003-02-08 NIIBE Yutaka <gniibe@m17n.org>
44070
44071 * util/resolve.c (pupa_util_resolve_dependencies): BUG
44072 FIX. Reverse the path_list.
44073
44074 * include/pupa/normal.h: Export pupa_register_command and
44075 pupa_unregister_command.
44076
44077 * hello/hello.c (pupa_cmd_hello): New module.
44078 * conf/i386-pc.rmk: Added hello.mod.
44079
1f5ab428 440802003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
44081
44082 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 44083
1f5ab428 44084 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
44085 (compress_kernel): New variable.
44086 (generate_image): Heavily modified to support compressing a
44087 large part of the core image.
44088
44089 * util/misc.c (pupa_util_read_image): Fix a file descriptor
44090 leak.
44091 (pupa_util_load_image): New function.
44092
44093 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
44094 (pupa_compressed_size): New variable.
44095 (codestart): Enable Gate A20 here.
44096 Decompress the compressed part of the core image.
44097 Rearrange the code to put functions and variables which are
44098 required for initialization in the non-compressed part.
44099 Include lzo1x.S.
44100
44101 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
44102 here.
44103
44104 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
44105
f19dbdb7 44106 * include/pupa/i386/pc/kernel.h
1f5ab428 44107 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
44108 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
44109 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44110 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44111 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
44112
44113 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
44114
44115 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
44116 (Utility#rule): Likewise.
44117
44118 * configure.ac: Check if LZO is available.
44119
ce5bf700 441202003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
44121
44122 * include/pupa/normal.h: New file.
44123 * include/pupa/setjmp.h: Likewise.
44124 * include/pupa/i386/setjmp.h: Likewise.
44125 * normal/cmdline.c: Likewise.
44126 * normal/command.c: Likewise.
44127 * normal/main.c: Likewise.
44128 * normal/menu.c: Likewise.
44129 * normal/i386/setjmp.S: Likewise.
f19dbdb7 44130
ce5bf700 44131 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
44132 (pupa_rescue_cmd_initrd): Likewise.
44133
44134 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
44135 Likewise.
44136
44137 * kern/i386/pc/startup.S (translation_table): New variable.
44138 (translate_keycode): New function.
44139 (pupa_console_getkey): Call translate_keycode.
44140
44141 * kern/rescue.c (attempt_normal_mode): New function.
44142 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
44143 it failed, print a message.
44144
44145 * kern/mm.c (pupa_real_malloc): Print more information when a
44146 free magic is broken.
44147 (pupa_free): If the first free header is not free actually, set
44148 it to P.
44149
44150 * kern/main.c (pupa_load_normal_mode): Just load the module
44151 "normal".
44152 (pupa_main): Don't print the message
44153 "Entering into rescue mode..." here.
44154
44155 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
44156 Declared.
44157 (pupa_rescue_cmd_initrd): Likewise.
44158 (pupa_rescue_cmd_initrd): Likewise.
44159
44160 * include/pupa/symbol.h (FUNCTION): Specify the type.
44161 (VARIABLE): Likewise.
44162
44163 * include/pupa/err.h (pupa_err_t): Added
44164 PUPA_ERR_UNKNOWN_COMMAND.
44165
44166 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
44167 (pupa_dl_get_prefix): Likewise.
44168
44169 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
44170 Added _chain.mod and _linux.mod instead of chain.mod and
44171 linux.mod.
44172 (chain_mod_SOURCES): Renamed to ...
44173 (_chain_mod_SOURCES): ... this.
44174 (chain_mod_CFLAGS): Renamed to ...
44175 (_chain_mod_CFLAGS): ... this.
44176 (linux_mod_SOURCES): Renamed to ...
44177 (_linux_mod_SOURCES): ... this.
44178 (linux_mod_CFLAGS): Renamed to ...
44179 (_linux_mod_CFLAGS): ... this.
44180 (normal_mod_SOURCES): New variable.
44181 (normal_mod_CFLAGS): Likewise.
44182 (normal_mod_ASFLAGS): Likewise.
44183
441842003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
44185
44186 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
44187 possible.
44188
fe6b695a 44189 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 44190 recursively.
44191 (pupa_dl_unref): Unrefer depending modules recursively.
44192 Don't call pupa_dl_unload implicitly, because PUPA can crash if
44193 a module is unloaded before one depending on that module is
44194 unloaded.
44195 (pupa_dl_unload): Unload depending modules explicitly,
44196 if possible.
44197
c04da074 441982003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
44199
44200 * include/pupa/i386/pc/linux.h: New file.
44201 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 44202
c04da074 44203 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
44204 Removed.
44205 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
44206 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
44207 of PUPA_CHAINLOADER_BOOT_SECTOR.
44208
44209 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
44210 (pupa_linux_prot_size): New variable.
44211 (pupa_linux_tmp_addr): Likewise.
44212 (pupa_linux_real_addr): Likewise.
44213 (pupa_linux_boot_zimage): New function.
44214 (pupa_linux_boot_bzimage): Likewise.
44215
44216 * kern/i386/pc/init.c (struct mem_region): New structure.
44217 (MAX_REGIONS): New macro.
44218 (mem_regions): New variable.
44219 (num_regions): Likewise.
44220 (pupa_os_area_addr): Likewise.
44221 (pupa_os_area_size): Likewise.
44222 (pupa_lower_mem): Likewise.
44223 (pupa_upper_mem): Likewise.
44224 (add_mem_region): New function.
44225 (compact_mem_regions): Likewise.
44226 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
44227 the size of the conventional memory and that of so-called upper
44228 memory (before the first memory hole).
44229 Instead of adding each found region to free memory, use
44230 add_mem_region and add them after removing overlaps.
44231 Also, add only 1/4 of the upper memory to free memory. The rest
44232 is used for loading OS images. Maybe this is ad hoc, but this
44233 makes it much easier to relocate OS images when booting.
44234
44235 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
44236 (pupa_enter_rescue_mode): Don't register initrd and module.
44237
44238 * kern/mm.c: Include pupa/dl.h.
44239
44240 * kern/main.c: Include pupa/file.h and pupa/device.h.
44241
44242 * kern/loader.c (pupa_loader_load_module_func): Removed.
44243 (pupa_loader_load_module): Likewise.
44244
44245 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
44246 ``.o''.
44247
44248 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
44249 (pupa_linux_tmp_addr): Likewise.
44250 (pupa_linux_real_addr): Likewise.
44251 (pupa_linux_boot_zimage): Likewise.
44252 (pupa_linux_boot_bzimage): Likewise.
44253
44254 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
44255 (pupa_upper_mem): Likewise.
44256 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
44257 module is too dangerous.
44258
44259 * include/pupa/loader.h (pupa_os_area_addr): Declared.
44260 (pupa_os_area_size): Likewise.
44261 (pupa_loader_set): Remove the first argument. Loader doesn't
44262 manage modules or initrd any longer.
44263 (pupa_loader_load_module): Removed.
44264
44265 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
44266 (linux_mod_SOURCES): New variable.
44267 (linux_mod_CFLAGS): Likewise.
44268
a13f9237 442692003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
44270
44271 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
44272 the length of a blocklist correctly.
44273
44274 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
44275 Use ioctl only if the OS file is a block device.
44276 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
44277 not very useful for normal files.
44278
44279 * kern/main.c (pupa_set_root_dev): New function.
44280 (pupa_load_normal_mode): Likewise.
44281 (pupa_main): Call those above.
44282
44283 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
44284 pupa_uint16_t.
44285
44286 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
44287
a5ffe966 442882003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44289
44290 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
44291 (setup): Configure the installed partition information and the
44292 dl prefix.
44293
44294 * loader/i386/pc/chainloader.c (my_mod): New variable.
44295 (pupa_chainloader_unload): New function.
44296 (pupa_rescue_cmd_chainloader): Refer itself.
44297 (PUPA_MOD_INIT): Save its own module in MY_MOD.
44298
44299 * kern/i386/pc/startup.S (install_partition): Removed.
44300 (version_string): Likewise.
44301 (config_file): Likewise.
44302 (pupa_install_dos_part): New variable.
44303 (pupa_install_bsd_part): Likewise.
44304 (pupa_prefix): Likewise.
44305 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
44306
44307 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
44308 and pupa/misc.h.
44309 (make_install_device): New function.
44310 (pupa_machine_init): Set the dl prefix.
44311
44312 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
44313 (buf): Renamed to ...
44314 (linebuf): ... this.
44315 (pupa_rescue_cmd_prefix): New function.
44316 (pupa_rescue_cmd_insmod): Likewise.
44317 (pupa_rescue_cmd_rmmod): Likewise.
44318 (pupa_rescue_cmd_lsmod): Likewise.
44319 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
44320 rmmod and lsmod.
44321
44322 * kern/mm.c (pupa_memalign): If failed even after invalidating
44323 disk caches, unload unneeded modules and retry.
44324
44325 * kern/misc.c (pupa_memmove): New function.
44326 (pupa_memcpy): Removed.
44327 (pupa_strcpy): New function.
44328 (pupa_itoa): Made static.
44329
44330 * kern/dl.c (pupa_dl_iterate): New function.
44331 (pupa_dl_ref): Likewise.
44332 (pupa_dl_unref): Likewise.
44333 (pupa_dl_unload): Return if succeeded or not.
44334 (pupa_dl_unload_unneeded): New function.
44335 (pupa_dl_unload_all): Likewise.
44336 (pupa_dl_init): Renamed to ...
44337 (pupa_dl_set_prefix): ... this.
44338 (pupa_dl_get_prefix): New function.
44339
44340 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
44341 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
44342 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44343 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44344 (pupa_install_dos_part): Declared.
44345 (pupa_install_bsd_part): Likewise.
44346 (pupa_prefix): Likewise.
44347 (pupa_boot_drive): Likewise.
44348
44349 * include/pupa/types.h: Fix a typo.
44350
44351 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
44352 pupa_memmove.
44353 (pupa_memmove): Declared.
44354 (pupa_strcpy): Likewise.
44355
44356 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
44357 pupa_mod_init takes one argument, its own module.
44358 (pupa_dl_unload_unneeded): Declared.
44359 (pupa_dl_unload_all): Likewise.
44360 (pupa_dl_ref): Likewise.
44361 (pupa_dl_unref): Likewise.
44362 (pupa_dl_iterate): Likewise.
44363 (pupa_dl_init): Renamed to ...
44364 (pupa_dl_set_prefix): ... this.
44365 (pupa_dl_get_prefix): Declared.
44366
44367 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 44368 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 44369 unloaded.
44370 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
44371 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
44372
44373 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
44374 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
44375
012d7999 443762003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44377
44378 * util/i386/pc/pupa-setup.c (setup): Define the internal
44379 function find_first_partition_start at the top level, because GCC
44380 3.0.x cannot compile internal functions in deeper scopes
44381 correctly.
44382 (find_root_device): Use lstat instead of stat.
44383 Don't follow symbolic links.
44384 Fix the path-constructing code.
44385
44386 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
44387 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
44388 by a BLKGETSIZE ioctl first, because block devices don't fill
44389 the member st_mode of the structure stat on Linux.
44390 [__linux__] (linux_find_partition): Use a temporary buffer
44391 REAL_DEV for the working space. Copy it to DEV before returning.
44392 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
44393 buffer cache consistent.
44394 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
44395 strncmp. The previous value was merely wrong.
44396 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
44397
44398 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
44399 FAT size is 12. The previous value was merely wrong.
44400
44401 * kern/main.c (pupa_main): Don't split the starting message from
44402 newlines.
44403
44404 * kern/term.c (pupa_putchar): Put CR after LF instead of before
44405 LF, because BIOS goes crazy about character attributes in this
44406 case.
44407
1cc73a62 444082003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44409
44410 * include/i386/pc/util/biosdisk.h: New file.
44411 * util/i386/pc/biosdisk.c: Likewise.
44412 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 44413
1cc73a62 44414 * Makefile.in (INCLUDE_DISTFILES): Added
44415 include/pupa/i386/pc/util/biosdisk.h.
44416 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
44417 directory util/i386/pc.
44418 (install-local): Added a rule for sbin_UTILITIES.
44419 (uninstall): Likewise.
44420
44421 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
44422
44423 * util/misc.c (xrealloc): New function.
44424 (pupa_malloc): Likewise.
44425 (pupa_free): Likewise.
44426 (pupa_realloc): Likewise.
44427 (pupa_stop): Likewise.
44428 (pupa_putchar): Likewise.
44429
44430 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
44431
44432 * include/pupa/util/misc.h (xrealloc): Declared.
44433
44434 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
44435 macro.
44436 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
44437 (PUPA_BOOT_MACHINE_BPB_END): ... this.
44438
44439 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
44440 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44441
44442 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
44443 way should be implemented.
44444 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44445
44446 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
44447 the size of NAME for safety.
44448 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
44449 0x88.
44450
44451 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
44452 (pupa_setup_SOURCES): Likewise.
44453
44454 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
44455
08b70fe8 444562002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44457
44458 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
44459 bunch of pushl's from pusha, because this destroys the return
44460 value.
44461
62ddcc8f 444622002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44463
44464 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
44465 This means that any missing prototypes could be fatal. Also, you
44466 must take care when writing assembly code. See the comments at
44467 the beginning of startup.S, for more details.
f19dbdb7 44468
62ddcc8f 44469 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
44470 compilation mechanism.
44471 (pupa_chainloader_real_boot): Likewise.
44472 (pupa_biosdisk_rw_int13_extensions): Likewise.
44473 (pupa_biosdisk_rw_standard): Likewise.
44474 (pupa_biosdisk_check_int13_extensions): Likewise.
44475 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
44476 (pupa_biosdisk_get_diskinfo_standard): Likewise.
44477 (pupa_get_memsize): Likewise.
44478 (pupa_get_mmap_entry): Likewise.
44479 (pupa_console_putchar): Likewise.
44480 (pupa_console_setcursor): Likewise.
44481 (pupa_getrtsecs): Use pushl instead of push.
44482
44483 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
44484 memory instead of the stack for a mmap entry, because some
44485 BIOSes may ignore the maximum size and overflow.
44486
44487 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44488
44489 * genmk.rb (PModule#rule): Compile automatically generated
44490 sources with module-specific CFLAGS as well as other sources.
44491
9962ed99 444922002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44493
44494 * configure.ac: Check ld.
44495 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44496 respectively, before checking endianness and sizes.
44497
44498 * Makefile.in (LD): New variable.
f19dbdb7 44499
abdfc3c5 445002002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44501
44502 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44503
6a161fa9 445042002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44505
44506 * Changelog: New file.
44507